ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / drivers / char / rio / parmmap.h
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  ----------------------------------------------------------------------------
34 6/4/1991   jonb              Made changes to accommodate 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
47 typedef struct PARM_MAP PARM_MAP ;
48
49 struct PARM_MAP
50 {
51 PHB_ptr           phb_ptr ;              /* Pointer to the PHB array */
52 WORD_ptr          phb_num_ptr ;          /* Ptr to Number of PHB's */
53 FREE_LIST_ptr     free_list;             /* Free List pointer */
54 FREE_LIST_ptr     free_list_end;         /* Free List End pointer */
55 Q_BUF_ptr_ptr     q_free_list_ptr ;      /* Ptr to Q_BUF variable */
56 BYTE_ptr          unit_id_ptr ;          /* Unit Id */
57 LPB_ptr           link_str_ptr ;         /* Link Structure Array */
58 BYTE_ptr          bootloader_1 ;         /* 1st Stage Boot Loader */
59 BYTE_ptr          bootloader_2 ;         /* 2nd Stage Boot Loader */
60 WORD_ptr          port_route_map_ptr ;   /* Port Route Map */
61 ROUTE_STR_ptr     route_ptr ;            /* Unit Route Map */
62 NUMBER_ptr        map_present ;          /* Route Map present */
63 NUMBER            pkt_num ;               /* Total number of packets */
64 NUMBER            q_num ;                 /* Total number of Q packets */
65 WORD              buffers_per_port ;      /* Number of buffers per port */
66 WORD              heap_size ;             /* Initial size of heap */
67 WORD              heap_left ;             /* Current Heap left */
68 WORD              error ;                 /* Error code */
69 WORD              tx_max;                 /* Max number of tx pkts per phb */
70 WORD              rx_max;                 /* Max number of rx pkts per phb */
71 WORD              rx_limit;               /* For high / low watermarks */
72 NUMBER            links ;                 /* Links to use */
73 NUMBER            timer ;                 /* Interrupts per second */
74 RUP_ptr           rups ;                 /* Pointer to the RUPs */
75 WORD              max_phb ;              /* Mostly for debugging */
76 WORD              living ;               /* Just increments!! */
77 WORD              init_done ;            /* Initialisation over */
78 WORD              booting_link ;
79 WORD              idle_count ;           /* Idle time counter */
80 WORD              busy_count ;           /* Busy counter */
81 WORD              idle_control ;         /* Control Idle Process */
82 #if defined(HOST) || defined(INKERNEL)
83 WORD              tx_intr;               /* TX interrupt pending */
84 WORD              rx_intr;               /* RX interrupt pending */
85 WORD              rup_intr;              /* RUP interrupt pending */
86 #endif
87 #if defined(RTA)
88 WORD              dying_count;          /* Count of processes dead */
89 #endif
90 } ;
91
92 #endif
93
94 /*********** end of file ***********/
95
96