]> git.hungrycats.org Git - linux/commitdiff
[PATCH] sn: code pruning - a couple of adds due to the clean up
authorAndrew Morton <akpm@osdl.org>
Mon, 19 Jan 2004 02:47:30 +0000 (18:47 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Mon, 19 Jan 2004 02:47:30 +0000 (18:47 -0800)
From: Pat Gefre <pfg@sgi.com>

Mostly code pruning - a couple of adds due to the clean up

arch/ia64/sn/io/sn2/klconflib.c
arch/ia64/sn/io/sn2/ml_iograph.c
arch/ia64/sn/io/sn2/shub_intr.c
arch/ia64/sn/kernel/setup.c
include/asm-ia64/sn/ioerror_handling.h
include/asm-ia64/sn/klconfig.h
include/asm-ia64/sn/pci/pci_defs.h
include/asm-ia64/sn/sn2/shub.h
include/asm-ia64/sn/sn2/sn_private.h
include/asm-ia64/sn/xtalk/xbow_info.h
include/asm-ia64/sn/xtalk/xtalk_private.h

index 171bd8537d4b28c38c807c11b2bea8f2dc137e6f..edbe006b0999adcfc53cc61379d47cdf6481610c 100644 (file)
@@ -30,6 +30,7 @@
 #define DBG(x...)
 #endif /* DEBUG_KLGRAPH */
 
+lboard_t *root_lboard[MAX_COMPACT_NODES];
 u64 klgraph_addr[MAX_COMPACT_NODES];
 static int hasmetarouter;
 
index 799e9a3ee11c00991ae964271a55190fee7df863..5579f148692c4904d57e1660f0033a540d580b74 100644 (file)
@@ -489,70 +489,6 @@ io_init_xswitch_widgets(vertex_hdl_t xswitchv, cnodeid_t cnode)
        }
 }
 
-/*
- * For each PCI bridge connected to the xswitch, add a link from the
- * board's klconfig info to the bridge's hwgraph vertex.  This lets
- * the FRU analyzer find the bridge without traversing the hardware
- * graph and risking hangs.
- */
-static void
-io_link_xswitch_widgets(vertex_hdl_t xswitchv, cnodeid_t cnodeid)
-{
-       xwidgetnum_t            widgetnum;
-       char                    pathname[128];
-       vertex_hdl_t            vhdl;
-       nasid_t                 nasid, peer_nasid;
-       lboard_t                *board;
-
-
-
-       /* And its connected hub's nasids */
-       nasid = COMPACT_TO_NASID_NODEID(cnodeid);
-       peer_nasid = NODEPDA(cnodeid)->xbow_peer;
-
-       /* 
-        * Look for paths matching "<widgetnum>/pci" under xswitchv.
-        * For every widget, init. its lboard's hwgraph link.  If the
-        * board has a PCI bridge, point the link to it.
-        */
-       for (widgetnum = HUB_WIDGET_ID_MIN; widgetnum <= HUB_WIDGET_ID_MAX;
-                widgetnum++) {
-               sprintf(pathname, "%d", widgetnum);
-               if (hwgraph_traverse(xswitchv, pathname, &vhdl) !=
-                   GRAPH_SUCCESS)
-                       continue;
-
-               board = find_lboard_module((lboard_t *)KL_CONFIG_INFO(nasid),
-                               NODEPDA(cnodeid)->geoid);
-               if (board == NULL && peer_nasid != INVALID_NASID) {
-                       /*
-                        * Try to find the board on our peer
-                        */
-                       board = find_lboard_module(
-                               (lboard_t *)KL_CONFIG_INFO(peer_nasid),
-                               NODEPDA(cnodeid)->geoid);
-               }
-               if (board == NULL) {
-                       printk(KERN_WARNING  "Could not find PROM info for vertex 0x%p, "
-                               "FRU analyzer may fail",
-                               (void *)vhdl);
-                       return;
-               }
-
-               /* Check both buses */
-               sprintf(pathname, "%d/"EDGE_LBL_PCIX_0, widgetnum);
-               if (hwgraph_traverse(xswitchv, pathname, &vhdl) == GRAPH_SUCCESS)
-                       board->brd_graph_link = vhdl;
-               else {
-                       sprintf(pathname, "%d/"EDGE_LBL_PCIX_1, widgetnum);
-                       if (hwgraph_traverse(xswitchv, pathname, &vhdl) == GRAPH_SUCCESS)
-                               board->brd_graph_link = vhdl;
-                       else
-                               board->brd_graph_link = GRAPH_VERTEX_NONE;
-               }
-       }
-}
-
 /*
  * Initialize all I/O on the specified node.
  */
@@ -724,7 +660,6 @@ io_init_node(cnodeid_t cnodeid)
 
        /* Now both nodes can safely inititialize widgets */
        io_init_xswitch_widgets(switchv, cnodeid);
-       io_link_xswitch_widgets(switchv, cnodeid);
 
        DBG("\nio_init_node: DONE INITIALIZED ALL I/O FOR CNODEID %d\n\n", cnodeid);
 }
index 406f36ccf3ab6bd4d9d082f0d349cf4fd3f9cf48..22ecf63e8be0ea3e3585dc27c676cc3c63d73938 100644 (file)
@@ -61,7 +61,6 @@ do_hub_intr_alloc(vertex_hdl_t dev,
        iopaddr_t       xtalk_addr;
        struct xtalk_intr_s     *xtalk_info;
        xwidget_info_t  xwidget_info;
-       ilvl_t          intr_swlevel = 0;
 
        cpu = intr_heuristic(dev, -1, &vector);
        if (cpu == CPU_NONE) {
@@ -94,7 +93,6 @@ do_hub_intr_alloc(vertex_hdl_t dev,
                xtalk_info->xi_target = xwidget_info_masterid_get(xwidget_info);
        }
 
-       intr_hdl->i_swlevel = intr_swlevel;
        intr_hdl->i_cpuid = cpu;
        intr_hdl->i_bit = vector;
        intr_hdl->i_flags |= HUB_INTR_IS_ALLOCED;
index 8c263e8eeba6cb5e98e062e30dc52fab0b4b466e..40df4fdb788e10c2545dce999ecb156d0b48192e 100644 (file)
@@ -69,6 +69,8 @@ u64 sn_partition_serial_number;
 
 short physical_node_map[MAX_PHYSNODE_ID];
 
+int     numionodes;
+
 /*
  * This is the address of the RRegs in the HSpace of the global
  * master.  It is used by a hack in serial.c (serial_[in|out],
@@ -302,6 +304,7 @@ void
 sn_init_pdas(char **cmdline_p)
 {
        cnodeid_t       cnode;
+       void scan_for_ionodes(void);
 
        /*
         * Make sure that the PDA fits entirely in the same page as the 
@@ -314,6 +317,9 @@ sn_init_pdas(char **cmdline_p)
        for (cnode=0; cnode<numnodes; cnode++)
                pda->cnodeid_to_nasid_table[cnode] = pxm_to_nasid(nid_to_pxm_map[cnode]);
 
+       numionodes = numnodes;
+       scan_for_ionodes();
+
         /*
          * Allocate & initalize the nodepda for each node.
          */
@@ -415,3 +421,33 @@ sn_cpu_init(void)
 
        bte_init_cpu();
 }
+
+/*
+ * Scan klconfig for ionodes.  Add the nasids to the
+ * physical_node_map and the pda and increment numionodes.
+ */
+
+void
+scan_for_ionodes(void) {
+       int nasid = 0;
+       lboard_t *brd;
+
+       /* Setup ionodes with memory */
+       for (nasid = 0; nasid < MAX_PHYSNODE_ID; nasid +=2) {
+               u64 klgraph_header;
+               cnodeid_t cnodeid;
+
+               if (physical_node_map[nasid] == -1) 
+                       continue;
+
+               klgraph_header = cnodeid = -1;
+               klgraph_header = ia64_sn_get_klconfig_addr(nasid);
+               if (klgraph_header <= 0)
+                       BUG(); /* All nodes must have klconfig tables! */
+               cnodeid = nasid_to_cnodeid(nasid);
+               root_lboard[cnodeid] = (lboard_t *)
+                                       NODE_OFFSET_TO_LBOARD( (nasid),
+                                       ((kl_config_hdr_t *)(klgraph_header))->
+                                       ch_board_info);
+       }
+}
index d04fc70c3f841ce1b57739d020cc5a4bd9ca6cc6..efe846eccee0b4b0bf0d46a310ecf5796f930934 100644 (file)
@@ -203,12 +203,6 @@ enum error_priority_e {
 
 typedef uint64_t  error_priority_t;
 
-/* Error state interfaces */
-#if defined(CONFIG_SGI_IO_ERROR_HANDLING)
-extern error_return_code_t     error_state_set(vertex_hdl_t,error_state_t);
-extern error_state_t           error_state_get(vertex_hdl_t);
-#endif
-
 /* Error action interfaces */
 
 extern error_return_code_t     error_action_set(vertex_hdl_t,
@@ -231,42 +225,6 @@ hwgraph_info_get_LBL(v, INFO_LBL_ERROR_SKIP_ENV, (arbitrary_info_t *)&l)
 #define v_error_skip_env_clear(v)              \
 hwgraph_info_remove_LBL(v, INFO_LBL_ERROR_SKIP_ENV, 0)
 
-/* REFERENCED */
-#if defined(CONFIG_SGI_IO_ERROR_HANDLING)
-
-inline static int
-error_skip_point_mark(vertex_hdl_t  v)                          
-{                                                                      
-       label_t         *error_env = NULL;                              
-       int             code = 0;               
-
-       /* Check if we have a valid hwgraph vertex */
-#ifdef LATER
-       if (!dev_is_vertex(v))
-               return(code);
-#endif
-                               
-       /* There is no error jump buffer for this device vertex. Allocate
-        * one.                                                          
-        */                                                              
-       if (v_error_skip_env_get(v, error_env) != GRAPH_SUCCESS) {       
-               error_env = kmalloc(sizeof(label_t), GFP_KERNEL);        
-               /* Unable to allocate memory for jum buffer. This should 
-                * be a very rare occurrence.                            
-                */                                                      
-               if (!error_env)                                          
-                       return(-1);                                      
-               memset(error_env, 0, sizeof(label_t));
-               /* Store the jump buffer information on the vertex.*/    
-               if (v_error_skip_env_set(v, error_env, 0) != GRAPH_SUCCESS)
-                       return(-2);                                        
-       }                                                                  
-       ASSERT(v_error_skip_env_get(v, error_env) == GRAPH_SUCCESS);
-       code = setjmp(*error_env);                                         
-       return(code);                                                        
-}
-#endif /* CONFIG_SGI_IO_ERROR_HANDLING */
-
 typedef uint64_t               counter_t;
 
 extern counter_t               error_retry_count_get(vertex_hdl_t);
index 22443819fb6613e35eddeddcba7ca3626976dd97..47845e64f436cfbaf403853150cf3252186de338 100644 (file)
@@ -78,11 +78,6 @@ typedef s32 klconf_off_t;
 #define KLINFO_CONTROLLER      0x10    /* This component is a device controller */
 #define KLINFO_INSTALL         0x20    /* Install a driver */
 #define        KLINFO_HEADLESS         0x40    /* Headless (or hubless) component */
-#define IS_CONSOLE_IOC3(i)     ((((klinfo_t *)i)->flags) & KLINFO_INSTALL)
-
-#define GB2            0x80000000
-
-#define MAX_RSV_PTRS   32
 
 /* Structures to manage various data storage areas */
 /* The numbers must be contiguous since the array index i
@@ -131,41 +126,13 @@ typedef struct kl_config_hdr {
 
 
 #define KL_CONFIG_HDR(_nasid)  ((kl_config_hdr_t *)(KLCONFIG_ADDR(_nasid)))
-#define KL_CONFIG_INFO_OFFSET(_nasid)                                  \
-        (KL_CONFIG_HDR(_nasid)->ch_board_info)
-#define KL_CONFIG_INFO_SET_OFFSET(_nasid, _off)                                \
-        (KL_CONFIG_HDR(_nasid)->ch_board_info = (_off))
-
-#ifndef __ia64
-#define KL_CONFIG_INFO(_nasid)                                                 \
-        (lboard_t *)((KL_CONFIG_HDR(_nasid)->ch_board_info) ?          \
-        NODE_OFFSET_TO_K0((_nasid), KL_CONFIG_HDR(_nasid)->ch_board_info) : \
-        0)
-#else
-#define NODE_OFFSET_TO_LBOARD(nasid,off)        (lboard_t*)(NODE_CAC_BASE(nasid) + (off))
-
-#define KL_CONFIG_INFO(_nasid)                                          \
-       (lboard_t *)((KL_CONFIG_HDR(_nasid)->ch_board_info) ?           \
-        NODE_OFFSET_TO_LBOARD((_nasid), KL_CONFIG_HDR(_nasid)->ch_board_info) : \
-        NULL)
-
-#endif /* __ia64 */
 
-#define KL_CONFIG_MAGIC(_nasid)                (KL_CONFIG_HDR(_nasid)->ch_magic)
-
-#define KL_CONFIG_CHECK_MAGIC(_nasid)                                  \
-        (KL_CONFIG_HDR(_nasid)->ch_magic == KLCFGINFO_MAGIC)
+#define NODE_OFFSET_TO_LBOARD(nasid,off)        (lboard_t*)(NODE_CAC_BASE(nasid) + (off))
 
-#define KL_CONFIG_HDR_INIT_MAGIC(_nasid)       \
-                  (KL_CONFIG_HDR(_nasid)->ch_magic = KLCFGINFO_MAGIC)
+#define KL_CONFIG_INFO(_nasid) root_lboard[nasid_to_cnodeid(_nasid)]
 
 /* --- New Macros for the changed kl_config_hdr_t structure --- */
 
-#define PTR_CH_MALLOC_HDR(_k)   ((klc_malloc_hdr_t *)\
-                       ((__psunsigned_t)_k + (_k->ch_malloc_hdr_off)))
-
-#define KL_CONFIG_CH_MALLOC_HDR(_n)   PTR_CH_MALLOC_HDR(KL_CONFIG_HDR(_n))
-
 #define PTR_CH_CONS_INFO(_k)   ((console_t *)\
                        ((__psunsigned_t)_k + (_k->ch_cons_off)))
 
@@ -173,12 +140,6 @@ typedef struct kl_config_hdr {
 
 /* ------------------------------------------------------------- */
 
-#define KL_CONFIG_INFO_START(_nasid)   \
-        (klconf_off_t)(KLCONFIG_OFFSET(_nasid) + sizeof(kl_config_hdr_t))
-
-#define KL_CONFIG_BOARD_NASID(_brd)    ((_brd)->brd_nasid)
-#define KL_CONFIG_BOARD_SET_NEXT(_brd, _off)   ((_brd)->brd_next = (_off))
-
 #define KL_CONFIG_DUPLICATE_BOARD(_brd)        ((_brd)->brd_flags & DUPLICATE_BOARD)
 
 #define XBOW_PORT_TYPE_HUB(_xbowp, _link)      \
@@ -195,9 +156,6 @@ typedef struct kl_config_hdr {
 #define XBOW_PORT_HUB    0x2
 #define XBOW_PORT_ENABLE 0x4
 
-#define        SN0_PORT_FENCE_SHFT     0
-#define        SN0_PORT_FENCE_MASK     (1 << SN0_PORT_FENCE_SHFT)
-
 /*
  * The KLCONFIG area is organized as a LINKED LIST of BOARDs. A BOARD
  * can be either 'LOCAL' or 'REMOTE'. LOCAL means it is attached to 
@@ -291,15 +249,7 @@ typedef struct kl_config_hdr {
  */
 
 /*
- * Values for CPU types
- */
-#define KL_CPU_R4000           0x1     /* Standard R4000 */
-#define KL_CPU_TFP             0x2     /* TFP processor */
-#define        KL_CPU_R10000           0x3     /* R10000 (T5) */
-#define KL_CPU_NONE            (-1)    /* no cpu present in slot */
-
-/*
- * IP27 BOARD classes
+ * BOARD classes
  */
 
 #define KLCLASS_MASK   0xf0   
@@ -337,14 +287,6 @@ typedef struct kl_config_hdr {
 #define KLTYPE_WEIRDCPU (KLCLASS_CPU | 0x0)
 #define KLTYPE_SNIA    (KLCLASS_CPU | 0x1)
 
-#define KLTYPE_WEIRDIO (KLCLASS_IOBRICK  | 0x0)
-#define KLTYPE_BASEIO  (KLCLASS_IO  | 0x1) /* IOC3, SuperIO, Bridge, SCSI */
-#define KLTYPE_ETHERNET        (KLCLASS_IO  | 0x3)
-#define KLTYPE_FDDI    (KLCLASS_IO  | 0x4)
-#define KLTYPE_FC      (KLCLASS_IO  | 0x9)
-#define KLTYPE_GSN_A           (KLCLASS_IO  | 0xC) /* Main GSN board */
-#define KLTYPE_GSN_B           (KLCLASS_IO  | 0xD) /* Auxiliary GSN board */
-
 #define KLTYPE_ROUTER     (KLCLASS_ROUTER | 0x1)
 #define KLTYPE_META_ROUTER (KLCLASS_ROUTER | 0x3)
 #define KLTYPE_REPEATER_ROUTER (KLCLASS_ROUTER | 0x4)
@@ -357,16 +299,12 @@ typedef struct kl_config_hdr {
 #define KLTYPE_OPUSBRICK       (KLCLASS_IOBRICK | 0x9)
 
 
-#define KLTYPE_PBRICK_BRIDGE   KLTYPE_PBRICK
-
 /* The value of type should be more than 8 so that hinv prints
  * out the board name from the NIC string. For values less than
  * 8 the name of the board needs to be hard coded in a few places.
  * When bringup started nic names had not standardized and so we
  * had to hard code. (For people interested in history.) 
  */
-#define KLTYPE_XTHD    (KLCLASS_PSEUDO_GFX | 0x9)
-
 #define KLTYPE_UNKNOWN (KLCLASS_UNKNOWN | 0xf)
 
 #define KLTYPE(_x)     ((_x) & KLTYPE_MASK)
@@ -377,13 +315,8 @@ typedef struct kl_config_hdr {
 
 #define MAX_COMPTS_PER_BRD 24
 
-#define LOCAL_BOARD 1
-#define REMOTE_BOARD 2
-
-#define LBOARD_STRUCT_VERSION  2
-
 typedef struct lboard_s {
-       klconf_off_t    brd_next;         /* Next BOARD */
+       klconf_off_t    brd_next_any;     /* Next BOARD */
        unsigned char   struct_type;      /* type of structure, local or remote */
        unsigned char   brd_type;         /* type+class */
        unsigned char   brd_sversion;     /* version of this structure */
@@ -403,15 +336,16 @@ typedef struct lboard_s {
        klconf_off_t    brd_compts[MAX_COMPTS_PER_BRD]; /* pointers to COMPONENTS */
        klconf_off_t    brd_errinfo;      /* Board's error information */
        struct lboard_s *brd_parent;      /* Logical parent for this brd */
-       vertex_hdl_t    brd_graph_link;   /* vertex hdl to connect extern compts */
+       char            pad0[4];
        confidence_t    brd_confidence;   /* confidence that the board is bad */
        nasid_t         brd_owner;        /* who owns this board */
        unsigned char   brd_nic_flags;    /* To handle 8 more NICs */
-       char            pad[32];          /* future expansion */
+       char            pad1[24];         /* future expansion */
        char            brd_name[32];
+       nasid_t         brd_next_same_host; /* host of next brd w/same nasid */
+       klconf_off_t    brd_next_same;    /* Next BOARD with same nasid */
 } lboard_t;
 
-
 /*
  *     Make sure we pass back the calias space address for local boards.
  *     klconfig board traversal and error structure extraction defines.
@@ -421,33 +355,20 @@ typedef struct lboard_s {
 
 #define KLCF_CLASS(_brd)       KLCLASS((_brd)->brd_type)
 #define KLCF_TYPE(_brd)                KLTYPE((_brd)->brd_type)
-#define KLCF_REMOTE(_brd)      (((_brd)->struct_type & LOCAL_BOARD) ? 0 : 1)
 #define KLCF_NUM_COMPS(_brd)   ((_brd)->brd_numcompts)
 #define KLCF_MODULE_ID(_brd)   ((_brd)->brd_module)
 
-#ifndef __ia64
-#define KLCF_NEXT(_brd)                ((_brd)->brd_next ? (lboard_t *)((_brd)->brd_next):  NULL)
-#define KLCF_COMP(_brd, _ndx)   \
-               (klinfo_t *)(NODE_OFFSET_TO_K0(NASID_GET(_brd), \
-                                               (_brd)->brd_compts[(_ndx)]))
-#define KLCF_COMP_ERROR(_brd, _comp)    \
-               (NODE_OFFSET_TO_K0(NASID_GET(_brd), (_comp)->errinfo))
-
-#else
-
 #define NODE_OFFSET_TO_KLINFO(n,off)    ((klinfo_t*) TO_NODE_CAC(n,off))
 #define KLCF_NEXT(_brd)         \
-        ((_brd)->brd_next ?     \
-         (NODE_OFFSET_TO_LBOARD(NASID_GET(_brd), (_brd)->brd_next)): NULL)
+        ((_brd)->brd_next_same ?     \
+         (NODE_OFFSET_TO_LBOARD((_brd)->brd_next_same_host, (_brd)->brd_next_same)): NULL)
+#define KLCF_NEXT_ANY(_brd)         \
+        ((_brd)->brd_next_any ?     \
+         (NODE_OFFSET_TO_LBOARD(NASID_GET(_brd), (_brd)->brd_next_any)): NULL)
 #define KLCF_COMP(_brd, _ndx)   \
                 ((((_brd)->brd_compts[(_ndx)]) == 0) ? 0 : \
                        (NODE_OFFSET_TO_KLINFO(NASID_GET(_brd), (_brd)->brd_compts[(_ndx)])))
 
-#define KLCF_COMP_ERROR(_brd, _comp)    \
-                (NODE_OFFSET_TO_K0(NASID_GET(_brd), (_comp)->errinfo))
-
-#endif /* __ia64 */
-
 #define KLCF_COMP_TYPE(_comp)  ((_comp)->struct_type)
 #define KLCF_BRIDGE_W_ID(_comp)        ((_comp)->physid)       /* Widget ID */
 
@@ -496,36 +417,14 @@ typedef struct klinfo_s {                  /* Generic info */
 #define KLSTRUCT_MEMBNK        3
 #define KLSTRUCT_XBOW          4
 #define KLSTRUCT_BRI           5
-#define KLSTRUCT_IOC3          6
-#define KLSTRUCT_PCI           7
-#define KLSTRUCT_VME           8
 #define KLSTRUCT_ROU           9
 #define KLSTRUCT_GFX           10
 #define KLSTRUCT_SCSI          11
-#define KLSTRUCT_FDDI          12
-#define KLSTRUCT_MIO           13
 #define KLSTRUCT_DISK          14
-#define KLSTRUCT_TAPE          15
 #define KLSTRUCT_CDROM                 16
-#define KLSTRUCT_HUB_UART      17
-#define KLSTRUCT_IOC3ENET      18
-#define KLSTRUCT_IOC3UART      19
-#define KLSTRUCT_UNUSED                20 /* XXX UNUSED */
-#define KLSTRUCT_IOC3PCKM       21
-#define KLSTRUCT_RAD           22
-#define KLSTRUCT_HUB_TTY        23
-#define KLSTRUCT_IOC3_TTY      24
-
-/* Early Access IO proms are compatible
-   only with KLSTRUCT values upto 24. */
 
 #define KLSTRUCT_FIBERCHANNEL  25
 #define KLSTRUCT_MOD_SERIAL_NUM 26
-#define KLSTRUCT_IOC3MS         27
-#define KLSTRUCT_TPU            28
-#define KLSTRUCT_GSN_A          29
-#define KLSTRUCT_GSN_B          30
-#define KLSTRUCT_XTHD           31
 #define KLSTRUCT_QLFIBRE        32
 #define KLSTRUCT_1394           33
 #define KLSTRUCT_USB           34
@@ -535,36 +434,14 @@ typedef struct klinfo_s {                  /* Generic info */
 #define KLSTRUCT_PEBRICK       38
 #define KLSTRUCT_GIGE           39
 #define KLSTRUCT_IDE           40
+#define KLSTRUCT_IOC4          41
+#define KLSTRUCT_IOC4UART      42
+#define KLSTRUCT_IOC4_TTY      43
+#define KLSTRUCT_IOC4PCKM      44
+#define KLSTRUCT_IOC4MS                45
+#define KLSTRUCT_IOC4_ATA      46
+#define KLSTRUCT_PCIGFX                47
 
-/*
- * These are the indices of various components within a lboard structure.
- */
-
-#define IP27_CPU0_INDEX 0
-#define IP27_CPU1_INDEX 1
-#define IP27_HUB_INDEX 2
-#define IP27_MEM_INDEX 3
-
-#define BASEIO_BRIDGE_INDEX 0
-#define BASEIO_IOC3_INDEX 1
-#define BASEIO_SCSI1_INDEX 2
-#define BASEIO_SCSI2_INDEX 3
-
-#define MIDPLANE_XBOW_INDEX 0
-#define ROUTER_COMPONENT_INDEX 0
-
-#define CH4SCSI_BRIDGE_INDEX 0
-
-/* Info holders for various hardware components */
-
-typedef u64 *pci_t;
-typedef u64 *vmeb_t;
-typedef u64 *vmed_t;
-typedef u64 *fddi_t;
-typedef u64 *scsi_t;
-typedef u64 *mio_t;
-typedef u64 *graphics_t;
-typedef u64 *router_t;
 
 /*
  * The port info in ip27_cfg area translates to a lboart_t in the 
@@ -621,14 +498,6 @@ typedef struct klmembnk_s {                        /* MEMORY BANK */
        unsigned long   pad;
 } klmembnk_t ;
 
-#define KLCONFIG_MEMBNK_SIZE(_info, _bank)     \
-                            ((_info)->membnk_bnksz[(_bank)])
-
-
-#define MEMBNK_PREMIUM 1
-#define KLCONFIG_MEMBNK_PREMIUM(_info, _bank)  \
-                            ((_info)->membnk_attr & (MEMBNK_PREMIUM << (_bank)))
-
 #define MAX_SERIAL_NUM_SIZE 10
 
 typedef struct klmod_serial_num_s {
@@ -671,42 +540,12 @@ typedef struct klbri_s {                          /* BRIDGE */
        klinfo_t        bri_info ;
        unsigned char   bri_eprominfo ;    /* IO6prom connected to bridge */
        unsigned char   bri_bustype ;      /* PCI/VME BUS bridge/GIO */
-       pci_t           pci_specific  ;    /* PCI Board config info */
+       u64             *pci_specific  ;    /* PCI Board config info */
        klpci_device_t  bri_devices[MAX_PCI_DEVS] ;     /* PCI IDs */
        klconf_off_t    bri_mfg_nic ;
        unsigned long   pad;
 } klbri_t ;
 
-#define MAX_IOC3_TTY   2
-
-typedef struct klioc3_s {                          /* IOC3 */
-       klinfo_t        ioc3_info ;
-       unsigned char   ioc3_ssram ;        /* Info about ssram */
-       unsigned char   ioc3_nvram ;        /* Info about nvram */
-       klinfo_t        ioc3_superio ;      /* Info about superio */
-       klconf_off_t    ioc3_tty_off ;
-       klinfo_t        ioc3_enet ;
-       klconf_off_t    ioc3_enet_off ;
-       klconf_off_t    ioc3_kbd_off ;
-       unsigned long   pad;
-} klioc3_t ;
-
-#define MAX_VME_SLOTS 8
-
-typedef struct klvmeb_s {                          /* VME BRIDGE - PCI CTLR */
-       klinfo_t        vmeb_info ;
-       vmeb_t          vmeb_specific ;
-       klconf_off_t    vmeb_brdinfo[MAX_VME_SLOTS]   ;    /* VME Board config info */
-       unsigned long   pad;
-} klvmeb_t ;
-
-typedef struct klvmed_s {                          /* VME DEVICE - VME BOARD */
-       klinfo_t        vmed_info ;
-       vmed_t          vmed_specific ;
-       klconf_off_t    vmed_brdinfo[MAX_VME_SLOTS]   ;    /* VME Board config info */
-       unsigned long   pad;
-} klvmed_t ;
-
 #define ROUTER_VECTOR_VERS     2
 
 /* XXX - Don't we need the number of ports here?!? */
@@ -745,23 +584,6 @@ typedef struct klgfx_s {           /* GRAPHICS Device */
        unsigned long   pad;
 } klgfx_t;
 
-typedef struct klxthd_s {   
-       klinfo_t        xthd_info ;
-       klconf_off_t    xthd_mfg_nic ;        /* MFG NIC string */
-       unsigned long   pad;
-} klxthd_t ;
-
-typedef struct kltpu_s {                     /* TPU board */
-       klinfo_t        tpu_info ;
-       klconf_off_t    tpu_mfg_nic ;        /* MFG NIC string */
-       unsigned long   pad;
-} kltpu_t ;
-
-typedef struct klgsn_s {                     /* GSN board */
-       klinfo_t        gsn_info ;
-       klconf_off_t    gsn_mfg_nic ;        /* MFG NIC string */
-} klgsn_t ;
-
 #define MAX_SCSI_DEVS 16
 
 /*
@@ -799,11 +621,9 @@ typedef struct klttydev_s {                          /* TTY device */
        unsigned long   pad;
 } klttydev_t ;
 
-typedef struct klenetdev_s {                          /* ENET device */
-       klinfo_t        enetdev_info ;
-       struct net_data *enetdev_cfg ; /* driver fills up this */
-       unsigned long   pad;
-} klenetdev_t ;
+typedef struct klpcigfx_s {                          /* PCI GFX */
+        klinfo_t        gfx_info ;
+} klpcigfx_t ;
 
 typedef struct klkbddev_s {                          /* KBD device */
        klinfo_t        kbddev_info ;
@@ -817,21 +637,6 @@ typedef struct klmsdev_s {                          /* mouse device */
        unsigned long   pad;
 } klmsdev_t ;
 
-#define MAX_FDDI_DEVS 10 /* XXX Is this true */
-
-typedef struct klfddi_s {                          /* FDDI */
-       klinfo_t        fddi_info ;
-       fddi_t          fddi_specific ;       
-       klconf_off_t    fddi_devinfo[MAX_FDDI_DEVS] ;
-       unsigned long   pad;
-} klfddi_t ;
-
-typedef struct klmio_s {                          /* MIO */
-       klinfo_t        mio_info ;
-       mio_t           mio_specific   ; 
-       unsigned long   pad;
-} klmio_t ;
-
 /*
  * USB info
  */
@@ -864,54 +669,9 @@ typedef union kldev_s {      /* for device structure allocation */
        klkbddev_t      kc_kbd_dev ;
 } kldev_t ;
 
-/* Data structure interface routines. TBD */
-
-/* Include launch info in this file itself? TBD */
-
-/*
- * TBD - Can the ARCS and device driver related info also be included in the
- * KLCONFIG area. On the IO4PROM, prom device driver info is part of cfgnode_t 
- * structure, viz private to the IO4prom.
- */
-
-/* 
- * TBD - Allocation issues. 
- *
- * Do we need to Mark off sepatate heaps for lboard_t, rboard_t, component, 
- * errinfo and allocate from them, or have a single heap and allocate all 
- * structures from it. Debug is easier in the former method since we can
- * dump all similar structs in one command, but there will be lots of holes, 
- * in memory and max limits are needed for number of structures.
- * Another way to make it organized, is to have a union of all components
- * and allocate a aligned chunk of memory greater than the biggest
- * component.
- */
-
-typedef union {
-       lboard_t *lbinfo ;
-} biptr_t ;
-
-
-#define BRI_PER_XBOW 6
-#define PCI_PER_BRI  8
-#define DEV_PER_PCI  16
-
-
-/* Virtual dipswitch values (starting from switch "7"): */
-
-#define VDS_NOGFX              0x8000  /* Don't enable gfx and autoboot */
-#define VDS_NOMP               0x100   /* Don't start slave processors */
-#define VDS_MANUMODE           0x80    /* Manufacturing mode */
-#define VDS_NOARB              0x40    /* No bootmaster arbitration */
-#define VDS_PODMODE            0x20    /* Go straight to POD mode */
-#define VDS_NO_DIAGS           0x10    /* Don't run any diags after BM arb */
-#define VDS_DEFAULTS           0x08    /* Use default environment values */
-#define VDS_NOMEMCLEAR         0x04    /* Don't run mem cfg code */
-#define VDS_2ND_IO4            0x02    /* Boot from the second IO4 */
-#define VDS_DEBUG_PROM         0x01    /* Print PROM debugging messages */
-
 /* external declarations of Linux kernel functions. */
 
+extern lboard_t *root_lboard[];
 extern lboard_t *find_lboard(lboard_t *start, unsigned char type);
 extern klinfo_t *find_component(lboard_t *brd, klinfo_t *kli, unsigned char type);
 extern klinfo_t *find_first_component(lboard_t *brd, unsigned char type);
index 03d97f3edaaf791c06bae0a587efe42bae31dc36..3e64fd5bbdab7d72ce45480b2980db826639781c 100644 (file)
@@ -275,16 +275,6 @@ extern void pci_write(void * address, int data, int type);
 #define CFG1_DEVICE_SHIFT              11
 #define CFG1_BUS_SHIFT                 16
 
-#ifdef CONFIG_SGI_IP32
- /* Definitions related to IP32 PCI Bridge policy
-  * XXX- should probaly be moved to a mace-specific header
-  */
-#define PCI_CONFIG_BITS                        0xfe0085ff
-#define        PCI_CONTROL_MRMRA_ENABLE        0x00000800
-#define PCI_FIRST_IO_ADDR              0x1000
-#define PCI_IO_MAP_INCR                        0x1000
-#endif /* CONFIG_SGI_IP32 */
-
 /*
  * Class codes
  */
index 7b094da0e2a0a2ecaa983f5eb8874e84b31dff3e..edeeee0fbc47880d3b03f7f386f654818dd3cabd 100644 (file)
@@ -1,5 +1,4 @@
 /*
- *
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
index d94314ed1426505f82bc2ca6be16c4d0a70d2dff..1ed2bf3f0ad916a466b990456981d75d6054b8dd 100644 (file)
@@ -153,7 +153,6 @@ struct hub_dmamap_s {
  */
 struct hub_intr_s {
        struct xtalk_intr_s     i_xtalk_info;   /* standard crosstalk intr info */
-       ilvl_t                  i_swlevel;      /* software level for blocking intr */
        cpuid_t                 i_cpuid;        /* which cpu */
        int                     i_bit;          /* which bit */
        int                     i_flags;
index 88aecc39100702a4c54f8b8ea9f959ca75b9f8ad..d9db1367b1633e30ea5888f48e3954690cdb6129 100644 (file)
 #include <linux/types.h>
 
 #define XBOW_PERF_MODES               0x03
-#define XBOW_PERF_COUNTERS     0x02
-
-#define XBOW_MONITOR_NONE      0x00
-#define XBOW_MONITOR_SRC_LINK  0x01
-#define XBOW_MONITOR_DEST_LINK 0x02
-#define XBOW_MONITOR_INP_PKT   0x03
-#define XBOW_MONITOR_MULTIPLEX 0x04
-
-#define XBOW_LINK_MULTIPLEX    0x20
-
-#define XBOW_PERF_TIMEOUT      4
-#define XBOW_STATS_TIMEOUT     HZ
-
-typedef struct xbow_perf_link {
-    uint64_t              xlp_cumulative[XBOW_PERF_MODES];
-    unsigned char           xlp_link_alive;
-} xbow_perf_link_t;
-
 
 typedef struct xbow_link_status {
     uint64_t              rx_err_count;
@@ -36,32 +18,4 @@ typedef struct xbow_link_status {
 } xbow_link_status_t;
 
 
-
-typedef struct xbow_perf {
-    uint32_t              xp_current;
-    unsigned char           xp_link;
-    unsigned char           xp_mode;
-    unsigned char           xp_curlink;
-    unsigned char           xp_curmode;
-    volatile uint32_t    *xp_perf_reg;
-} xbow_perf_t;
-
-extern void             xbow_update_perf_counters(vertex_hdl_t);
-extern xbow_perf_link_t *xbow_get_perf_counters(vertex_hdl_t);
-extern int              xbow_enable_perf_counter(vertex_hdl_t, int, int, int);
-
-#define XBOWIOC_PERF_ENABLE            1
-#define XBOWIOC_PERF_DISABLE           2
-#define XBOWIOC_PERF_GET               3
-#define XBOWIOC_LLP_ERROR_ENABLE       4
-#define XBOWIOC_LLP_ERROR_DISABLE      5
-#define XBOWIOC_LLP_ERROR_GET          6
-
-
-struct xbow_perfarg_t {
-    int                     link;
-    int                     mode;
-    int                     counter;
-};
-
-#endif                         /* _ASM_SN_XTALK_XBOW_INFO_H */
+#endif                         /* _ASM_IA64_SN_XTALK_XBOW_INFO_H */
index 34224e3bff2c6ed9a6152ff6819f692d487275cd..332e2c2a460040f06ae01b367fdf818321d8a81f 100644 (file)
@@ -51,12 +51,6 @@ struct xtalk_intr_s {
 /*
  * Xtalk interrupt handler structure access functions
  */
-#define        xtalk_intr_arg(xt)      ((xt)->xi_sfarg)
-
-#define        xwidget_hwid_is_sn0_xswitch(_hwid)      \
-               (((_hwid)->part_num == XBOW_WIDGET_PART_NUM ) &&        \
-                ((_hwid)->mfg_num == XBOW_WIDGET_MFGR_NUM ))
-
 #define        xwidget_hwid_is_sn1_xswitch(_hwid)      \
                (((_hwid)->part_num == XXBOW_WIDGET_PART_NUM ||         \
                  (_hwid)->part_num == PXBOW_WIDGET_PART_NUM) &&        \