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