parmmap.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /****************************************************************************
  2.  *******                                                              *******
  3.  *******               H O S T   M E M O R Y  M A P
  4.  *******                                                              *******
  5.  ****************************************************************************
  6.  Author  : Ian Nandhra / Jeremy Rolls
  7.  Date    :
  8.  *
  9.  *  (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
  10.  *
  11.  *      This program is free software; you can redistribute it and/or modify
  12.  *      it under the terms of the GNU General Public License as published by
  13.  *      the Free Software Foundation; either version 2 of the License, or
  14.  *      (at your option) any later version.
  15.  *
  16.  *      This program is distributed in the hope that it will be useful,
  17.  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19.  *      GNU General Public License for more details.
  20.  *
  21.  *      You should have received a copy of the GNU General Public License
  22.  *      along with this program; if not, write to the Free Software
  23.  *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  24.  Version : 0.01
  25.                             Mods
  26.  ----------------------------------------------------------------------------
  27.   Date     By                Description
  28.  ----------------------------------------------------------------------------
  29. 6/4/1991   jonb      Made changes to accomodate Mips R3230 bus
  30.  ***************************************************************************/
  31. #ifndef _parmap_h
  32. #define _parmap_h
  33. #ifdef SCCS_LABELS
  34. #ifndef lint
  35. /* static char *_rio_parmmap_h_sccs = "@(#)parmmap.h 1.4"; */
  36. #endif
  37. #endif
  38. typedef struct PARM_MAP PARM_MAP ;
  39. struct PARM_MAP
  40. {
  41. PHB_ptr           phb_ptr ;              /* Pointer to the PHB array */
  42. WORD_ptr          phb_num_ptr ;          /* Ptr to Number of PHB's */
  43. FREE_LIST_ptr     free_list;             /* Free List pointer */
  44. FREE_LIST_ptr     free_list_end;         /* Free List End pointer */
  45. Q_BUF_ptr_ptr     q_free_list_ptr ;      /* Ptr to Q_BUF variable */
  46. BYTE_ptr          unit_id_ptr ;          /* Unit Id */
  47. LPB_ptr           link_str_ptr ;         /* Link Structure Array */
  48. BYTE_ptr          bootloader_1 ;         /* 1st Stage Boot Loader */
  49. BYTE_ptr          bootloader_2 ;         /* 2nd Stage Boot Loader */
  50. WORD_ptr          port_route_map_ptr ;   /* Port Route Map */
  51. ROUTE_STR_ptr     route_ptr ;            /* Unit Route Map */
  52. NUMBER_ptr        map_present ;          /* Route Map present */
  53. NUMBER            pkt_num ;               /* Total number of packets */
  54. NUMBER            q_num ;                 /* Total number of Q packets */
  55. WORD              buffers_per_port ;      /* Number of buffers per port */
  56. WORD              heap_size ;             /* Initial size of heap */
  57. WORD              heap_left ;             /* Current Heap left */
  58. WORD              error ;                 /* Error code */
  59. WORD              tx_max;                 /* Max number of tx pkts per phb */
  60. WORD              rx_max;                 /* Max number of rx pkts per phb */
  61. WORD              rx_limit;               /* For high / low watermarks */
  62. NUMBER            links ;                 /* Links to use */
  63. NUMBER            timer ;                 /* Interrupts per second */
  64. RUP_ptr           rups ;                 /* Pointer to the RUPs */
  65. WORD              max_phb ;              /* Mostly for debugging */
  66. WORD              living ;               /* Just increments!! */
  67. WORD              init_done ;            /* Initialisation over */
  68. WORD              booting_link ;
  69. WORD              idle_count ;           /* Idle time counter */
  70. WORD              busy_count ;           /* Busy counter */
  71. WORD              idle_control ;         /* Control Idle Process */
  72. #if defined(HOST) || defined(INKERNEL)
  73. WORD              tx_intr;               /* TX interrupt pending */
  74. WORD              rx_intr;               /* RX interrupt pending */
  75. WORD              rup_intr;              /* RUP interrupt pending */
  76. #endif
  77. #if defined(RTA)
  78. WORD   dying_count; /* Count of processes dead */
  79. #endif
  80. } ;
  81. #endif
  82. /*********** end of file ***********/