| /**************************************************************************** |
| ******* ******* |
| ******* H O S T M E M O R Y M A P |
| ******* ******* |
| **************************************************************************** |
| |
| Author : Ian Nandhra / Jeremy Rolls |
| Date : |
| |
| * |
| * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to the Free Software |
| * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| |
| Version : 0.01 |
| |
| |
| Mods |
| ---------------------------------------------------------------------------- |
| Date By Description |
| ---------------------------------------------------------------------------- |
| 6/4/1991 jonb Made changes to accommodate Mips R3230 bus |
| ***************************************************************************/ |
| |
| #ifndef _parmap_h |
| #define _parmap_h |
| |
| |
| #ifdef SCCS_LABELS |
| #ifndef lint |
| /* static char *_rio_parmmap_h_sccs = "@(#)parmmap.h 1.4"; */ |
| #endif |
| #endif |
| |
| typedef struct PARM_MAP PARM_MAP; |
| |
| struct PARM_MAP { |
| PHB_ptr phb_ptr; /* Pointer to the PHB array */ |
| WORD_ptr phb_num_ptr; /* Ptr to Number of PHB's */ |
| FREE_LIST_ptr free_list; /* Free List pointer */ |
| FREE_LIST_ptr free_list_end; /* Free List End pointer */ |
| Q_BUF_ptr_ptr q_free_list_ptr; /* Ptr to Q_BUF variable */ |
| BYTE_ptr unit_id_ptr; /* Unit Id */ |
| LPB_ptr link_str_ptr; /* Link Structure Array */ |
| BYTE_ptr bootloader_1; /* 1st Stage Boot Loader */ |
| BYTE_ptr bootloader_2; /* 2nd Stage Boot Loader */ |
| WORD_ptr port_route_map_ptr; /* Port Route Map */ |
| ROUTE_STR_ptr route_ptr; /* Unit Route Map */ |
| NUMBER_ptr map_present; /* Route Map present */ |
| NUMBER pkt_num; /* Total number of packets */ |
| NUMBER q_num; /* Total number of Q packets */ |
| WORD buffers_per_port; /* Number of buffers per port */ |
| WORD heap_size; /* Initial size of heap */ |
| WORD heap_left; /* Current Heap left */ |
| WORD error; /* Error code */ |
| WORD tx_max; /* Max number of tx pkts per phb */ |
| WORD rx_max; /* Max number of rx pkts per phb */ |
| WORD rx_limit; /* For high / low watermarks */ |
| NUMBER links; /* Links to use */ |
| NUMBER timer; /* Interrupts per second */ |
| RUP_ptr rups; /* Pointer to the RUPs */ |
| WORD max_phb; /* Mostly for debugging */ |
| WORD living; /* Just increments!! */ |
| WORD init_done; /* Initialisation over */ |
| WORD booting_link; |
| WORD idle_count; /* Idle time counter */ |
| WORD busy_count; /* Busy counter */ |
| WORD idle_control; /* Control Idle Process */ |
| #if defined(HOST) || defined(INKERNEL) |
| WORD tx_intr; /* TX interrupt pending */ |
| WORD rx_intr; /* RX interrupt pending */ |
| WORD rup_intr; /* RUP interrupt pending */ |
| #endif |
| #if defined(RTA) |
| WORD dying_count; /* Count of processes dead */ |
| #endif |
| }; |
| |
| #endif |
| |
| /*********** end of file ***********/ |