parmmap.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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 accommodate 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 ***********/