patch-2.4.19 linux-2.4.19/arch/ia64/sn/io/klgraph_hack.c
Next file: linux-2.4.19/arch/ia64/sn/io/l1.c
Previous file: linux-2.4.19/arch/ia64/sn/io/klgraph.c
Back to the patch index
Back to the overall index
- Lines: 721
- Date:
Fri Aug 2 17:39:42 2002
- Orig file:
linux-2.4.18/arch/ia64/sn/io/klgraph_hack.c
- Orig date:
Thu Apr 12 12:16:35 2001
diff -urN linux-2.4.18/arch/ia64/sn/io/klgraph_hack.c linux-2.4.19/arch/ia64/sn/io/klgraph_hack.c
@@ -4,8 +4,7 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
- * Copyright (C) 1992 - 1997, 2000 Silicon Graphics, Inc.
- * Copyright (C) 2000 by Colin Ngam
+ * Copyright (C) 1992 - 1997, 2000-2002 Silicon Graphics, Inc. All rights reserved.
*/
@@ -18,6 +17,7 @@
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <asm/sn/sgi.h>
+#include <asm/sn/io.h>
#include <asm/sn/klconfig.h>
void * real_port;
@@ -28,11 +28,11 @@
kl_config_hdr_t *linux_klcfg;
-#ifdef BRINGUP
+#ifdef DEFINE_DUMP_RTNS
/* forward declarations */
-extern void dump_ii(void), dump_lb(void), dump_crossbow(void);
-extern void clear_ii_error(void);
-#endif /* BRINGUP */
+static void dump_ii(void), dump_crossbow(void);
+static void clear_ii_error(void);
+#endif /* DEFINE_DUMP_RTNS */
#define SYNERGY_WIDGET ((char *)0xc0000e0000000000)
#define SYNERGY_SWIZZLE ((char *)0xc0000e0000000400)
@@ -45,115 +45,10 @@
#define HUBREG ((char *)0xc0000a0001e00000)
#define WIDGET0 ((char *)0xc0000a0000000000)
-int test = 0;
-
-/*
- * Hack to loop for test.
- */
-void
-test_io_regs(void)
-{
-
- uint32_t reg_32bits;
- uint64_t reg_64bits;
-
- while (test) {
-
- reg_32bits = (uint32_t)(*(volatile uint32_t *) SYNERGY_WIDGET);
- reg_64bits = (uint64_t) (*(volatile uint64_t *) SYNERGY_WIDGET);
-
- }
-
- printk("Synergy Widget Address = 0x%p, Value = 0x%lx\n", SYNERGY_WIDGET, (uint64_t)*(SYNERGY_WIDGET));
-
- printk("Synergy swizzle Address = 0x%p, Value = 0x%lx\n", SYNERGY_SWIZZLE, (uint64_t)*(SYNERGY_SWIZZLE));
- printk("HUBREG Address = 0x%p, Value = 0x%lx\n", HUBREG, (uint64_t)*(HUBREG));
- printk("WIDGET0 Address = 0x%p, Value = 0x%lx\n", WIDGET0, (uint64_t)*(WIDGET0));
- printk("WIDGET4 Address = 0x%p, Value = 0x%x\n", WIDGET4, (uint32_t)*(WIDGET4));
-
-}
-
void
klgraph_hack_init(void)
{
- kl_config_hdr_t *kl_hdr_ptr;
- lboard_t *lb_ptr;
- lboard_t *temp_ptr;
- klhub_t *klhub_ptr;
- klioc3_t *klioc3_ptr;
- klbri_t *klbri_ptr;
- klxbow_t *klxbow_ptr;
- klinfo_t *klinfo_ptr;
- klcomp_t *klcomp_ptr;
-#if 0
- uint64_t *tmp;
- volatile u32 *tmp32;
-
- /* Preset some values */
- /* Write IOERR clear to clear the CRAZY bit in the status */
- tmp = (uint64_t *)0xc0000a0001c001f8; *tmp = (uint64_t)0xffffffff;
- /* set widget control register...setting bedrock widget id to b */
- /* tmp = (uint64_t *)0xc0000a0001c00020; *tmp = (uint64_t)0x801b; */
- /* set io outbound widget access...allow all */
- tmp = (uint64_t *)0xc0000a0001c00110; *tmp = (uint64_t)0xff01;
- /* set io inbound widget access...allow all */
- tmp = (uint64_t *)0xc0000a0001c00118; *tmp = (uint64_t)0xff01;
- /* set io crb timeout to max */
- tmp = (uint64_t *)0xc0000a0001c003c0; *tmp = (uint64_t)0xffffff;
- tmp = (uint64_t *)0xc0000a0001c003c0; *tmp = (uint64_t)0xffffff;
-
- /* set local block io permission...allow all */
- tmp = (uint64_t *)0xc0000a0001e04010; *tmp = (uint64_t)0xfffffffffffffff;
-
- /* clear any errors */
- clear_ii_error();
-
- /* set default read response buffers in bridge */
- tmp32 = (volatile u32 *)0xc0000a000f000280L;
- *tmp32 = 0xba98;
- tmp32 = (volatile u32 *)0xc0000a000f000288L;
- *tmp32 = 0xba98;
-
-printk("Widget ID Address 0x%p Value 0x%lx\n", (uint64_t *)0xc0000a0001e00000, *( (volatile uint64_t *)0xc0000a0001e00000) );
-
-printk("Widget ID Address 0x%p Value 0x%lx\n", (uint64_t *)0xc0000a0001c00000, *( (volatile uint64_t *)0xc0000a0001c00000) );
-
-printk("Widget ID Address 0x%p Value 0x%lx\n", (uint64_t *)0xc000020001e00000, *( (volatile uint64_t *)0xc000020001e00000) );
-
-
-printk("Widget ID Address 0x%p Value 0x%lx\n", (uint64_t *)0xc000020001c00000, *( (volatile uint64_t *)0xc000020001c00000) );
-
-printk("Widget ID Address 0x%p Value 0x%lx\n", (uint64_t *)0xc0000a0001e00000, *( (volatile uint64_t *)0xc0000a0001e00000) );
-
-printk("Xbow ID Address 0x%p Value 0x%x\n", (uint64_t *)0xc0000a0000000000, *( (volatile uint32_t *)0xc0000a0000000000) );
-
-printk("Xbow ID Address 0x%p Value 0x%x\n", (uint64_t *)0xc000020000000004, *( (volatile uint32_t *)0xc000020000000004) );
-
-#endif
-
- if ( test )
- test_io_regs();
- /*
- * Klconfig header.
- */
- kl_hdr_ptr = kmalloc(sizeof(kl_config_hdr_t), GFP_KERNEL);
- kl_hdr_ptr->ch_magic = 0xbeedbabe;
- kl_hdr_ptr->ch_version = 0x0;
- kl_hdr_ptr->ch_malloc_hdr_off = 0x48;
- kl_hdr_ptr->ch_cons_off = 0x18;
- kl_hdr_ptr->ch_board_info = 0x0;
- kl_hdr_ptr->ch_cons_info.uart_base = 0x920000000f820178;
- kl_hdr_ptr->ch_cons_info.config_base = 0x920000000f024000;
- kl_hdr_ptr->ch_cons_info.memory_base = 0x920000000f800000;
- kl_hdr_ptr->ch_cons_info.baud = 0x2580;
- kl_hdr_ptr->ch_cons_info.flag = 0x1;
- kl_hdr_ptr->ch_cons_info.type = 0x300fafa;
- kl_hdr_ptr->ch_cons_info.nasid = 0x0;
- kl_hdr_ptr->ch_cons_info.wid = 0xf;
- kl_hdr_ptr->ch_cons_info.npci = 0x4;
- kl_hdr_ptr->ch_cons_info.baseio_nic = 0x0;
-
/*
* We need to know whether we are booting from PROM or
* boot from disk.
@@ -162,520 +57,44 @@
if (linux_klcfg->ch_magic == 0xbeedbabe) {
return;
} else {
- linux_klcfg = kl_hdr_ptr;
+ panic("klgraph_hack_init: Unable to locate KLCONFIG TABLE\n");
}
- /*
- * lboard KLTYPE_IP35
- */
- lb_ptr = kmalloc(sizeof(lboard_t), GFP_KERNEL);
- kl_hdr_ptr->ch_board_info = (klconf_off_t) lb_ptr;
- temp_ptr = lb_ptr;
- printk("First Lboard = %p\n", temp_ptr);
-
- lb_ptr->brd_next = 0;
- lb_ptr->struct_type = 0x1;
- lb_ptr->brd_type = 0x11;
- lb_ptr->brd_sversion = 0x3;
- lb_ptr->brd_brevision = 0x1;
- lb_ptr->brd_promver = 0x1;
- lb_ptr->brd_promver = 0x1;
- lb_ptr->brd_slot = 0x0;
- lb_ptr->brd_debugsw = 0x0;
- lb_ptr->brd_module = 0x145;
- lb_ptr->brd_partition = 0x0;
- lb_ptr->brd_diagval = 0x0;
- lb_ptr->brd_diagparm = 0x0;
- lb_ptr->brd_inventory = 0x0;
- lb_ptr->brd_numcompts = 0x5;
- lb_ptr->brd_nic = 0x2a0aed35;
- lb_ptr->brd_nasid = 0x0;
- lb_ptr->brd_errinfo = 0x0;
- lb_ptr->brd_parent = 0x0;
- lb_ptr->brd_graph_link = (devfs_handle_t)0x26;
- lb_ptr->brd_owner = 0x0;
- lb_ptr->brd_nic_flags = 0x0;
- memcpy(&lb_ptr->brd_name[0], "IP35", 4);
-
- /*
- * Hub Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klhub_ptr = (klhub_t *)klcomp_ptr;
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[0] = (klconf_off_t)klcomp_ptr;
- printk("hub info = %p lboard = %p\n", klhub_ptr, lb_ptr);
-
- klinfo_ptr = (klinfo_t *)klhub_ptr;
- klinfo_ptr->struct_type = 0x2;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x1;
- klinfo_ptr->revision = 0x1;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0x2a0aed35;
- klinfo_ptr->physid = 0x0;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0x0;
- klinfo_ptr->nasid = 0x0;
-
- klhub_ptr->hub_flags = 0x0;
- klhub_ptr->hub_port.port_nasid = (nasid_t)0x0ffffffff;
- klhub_ptr->hub_port.port_flag = 0x0;
- klhub_ptr->hub_port.port_offset = 0x0;
- klhub_ptr->hub_box_nic = 0x0;
- klhub_ptr->hub_mfg_nic = 0x3f420;
- klhub_ptr->hub_speed = 0xbebc200;
-
- /*
- * Memory Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[1] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x3;
- klinfo_ptr->struct_version = 0x2;
- klinfo_ptr->flags = 0x1;
- klinfo_ptr->revision = 0xff;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0xff;
- klinfo_ptr->virtid = 0xffffffff;
- klinfo_ptr->widid = 0x0;
- klinfo_ptr->nasid = 0x0;
-
- /*
- * KLSTRUCT_HUB_UART Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[2] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x11;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x31;
- klinfo_ptr->revision = 0xff;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x0;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0x0;
- klinfo_ptr->nasid = 0x0;
-
- /*
- * KLSTRUCT_CPU Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[3] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x1;
- klinfo_ptr->struct_version = 0x2;
- klinfo_ptr->flags = 0x1;
- klinfo_ptr->revision = 0xff;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x0;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0x0;
- klinfo_ptr->nasid = 0x0;
-
- /*
- * KLSTRUCT_CPU Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[4] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x1;
- klinfo_ptr->struct_version = 0x2;
- klinfo_ptr->flags = 0x1;
- klinfo_ptr->revision = 0xff;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x1;
- klinfo_ptr->virtid = 0x1;
- klinfo_ptr->widid = 0x0;
- klinfo_ptr->nasid = 0x0;
-
- lb_ptr->brd_compts[5] = 0; /* Set the next one to 0 .. end */
- lb_ptr->brd_numcompts = 5; /* 0 to 4 */
-
- /*
- * lboard(0x42) KLTYPE_PBRICK_XBOW
- */
- lb_ptr = kmalloc(sizeof(lboard_t), GFP_KERNEL);
- temp_ptr->brd_next = (klconf_off_t)lb_ptr; /* Let the previous point at the new .. */
- temp_ptr = lb_ptr;
- printk("Second Lboard = %p\n", temp_ptr);
-
- lb_ptr->brd_next = 0;
- lb_ptr->struct_type = 0x1;
- lb_ptr->brd_type = 0x42;
- lb_ptr->brd_sversion = 0x2;
- lb_ptr->brd_brevision = 0x0;
- lb_ptr->brd_promver = 0x1;
- lb_ptr->brd_promver = 0x1;
- lb_ptr->brd_slot = 0x0;
- lb_ptr->brd_debugsw = 0x0;
- lb_ptr->brd_module = 0x145;
- lb_ptr->brd_partition = 0x1;
- lb_ptr->brd_diagval = 0x0;
- lb_ptr->brd_diagparm = 0x0;
- lb_ptr->brd_inventory = 0x0;
- lb_ptr->brd_numcompts = 0x1;
- lb_ptr->brd_nic = 0xffffffffffffffff;
- lb_ptr->brd_nasid = 0x0;
- lb_ptr->brd_errinfo = 0x0;
- lb_ptr->brd_parent = (struct lboard_s *)0x9600000000030070;
- lb_ptr->brd_graph_link = (devfs_handle_t)0xffffffff;
- lb_ptr->brd_owner = 0x0;
- lb_ptr->brd_nic_flags = 0x0;
- memcpy(&lb_ptr->brd_name[0], "IOBRICK", 7);
-
- /*
- * KLSTRUCT_XBOW Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- memset(klcomp_ptr, 0, sizeof(klcomp_t));
- klxbow_ptr = (klxbow_t *)klcomp_ptr;
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[0] = (klconf_off_t)klcomp_ptr;
- printk("xbow_p 0x%p\n", klcomp_ptr);
-
- klinfo_ptr->struct_type = 0x4;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x1;
- klinfo_ptr->revision = 0x2;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0xff;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0x0;
- klinfo_ptr->nasid = 0x0;
-
- klxbow_ptr->xbow_master_hub_link = 0xb;
- klxbow_ptr->xbow_port_info[0].port_nasid = 0x0;
- klxbow_ptr->xbow_port_info[0].port_flag = 0x0;
- klxbow_ptr->xbow_port_info[0].port_offset = 0x0;
-
- klxbow_ptr->xbow_port_info[1].port_nasid = 0x401;
- klxbow_ptr->xbow_port_info[1].port_flag = 0x0;
- klxbow_ptr->xbow_port_info[1].port_offset = 0x0;
-
- klxbow_ptr->xbow_port_info[2].port_nasid = 0x0;
- klxbow_ptr->xbow_port_info[2].port_flag = 0x0;
- klxbow_ptr->xbow_port_info[2].port_offset = 0x0;
-
- klxbow_ptr->xbow_port_info[3].port_nasid = 0x0; /* ffffffff */
- klxbow_ptr->xbow_port_info[3].port_flag = 0x6;
- klxbow_ptr->xbow_port_info[3].port_offset = 0x30070;
-
- klxbow_ptr->xbow_port_info[4].port_nasid = 0x0; /* ffffff00; */
- klxbow_ptr->xbow_port_info[4].port_flag = 0x0;
- klxbow_ptr->xbow_port_info[4].port_offset = 0x0;
-
- klxbow_ptr->xbow_port_info[5].port_nasid = 0x0;
- klxbow_ptr->xbow_port_info[5].port_flag = 0x0;
- klxbow_ptr->xbow_port_info[5].port_offset = 0x0;
- klxbow_ptr->xbow_port_info[6].port_nasid = 0x0;
- klxbow_ptr->xbow_port_info[6].port_flag = 0x5;
- klxbow_ptr->xbow_port_info[6].port_offset = 0x30210;
- klxbow_ptr->xbow_port_info[7].port_nasid = 0x3;
- klxbow_ptr->xbow_port_info[7].port_flag = 0x5;
- klxbow_ptr->xbow_port_info[7].port_offset = 0x302e0;
-
- lb_ptr->brd_compts[1] = 0;
- lb_ptr->brd_numcompts = 1;
-
-
- /*
- * lboard KLTYPE_PBRICK
- */
- lb_ptr = kmalloc(sizeof(lboard_t), GFP_KERNEL);
- temp_ptr->brd_next = (klconf_off_t)lb_ptr; /* Let the previous point at the new .. */
- temp_ptr = lb_ptr;
- printk("Third Lboard %p\n", lb_ptr);
-
- lb_ptr->brd_next = 0;
- lb_ptr->struct_type = 0x1;
- lb_ptr->brd_type = 0x72;
- lb_ptr->brd_sversion = 0x2;
- lb_ptr->brd_brevision = 0x0;
- lb_ptr->brd_promver = 0x1;
- lb_ptr->brd_promver = 0x41;
- lb_ptr->brd_slot = 0xe;
- lb_ptr->brd_debugsw = 0x0;
- lb_ptr->brd_module = 0x145;
- lb_ptr->brd_partition = 0x1;
- lb_ptr->brd_diagval = 0x0;
- lb_ptr->brd_diagparm = 0x0;
- lb_ptr->brd_inventory = 0x0;
- lb_ptr->brd_numcompts = 0x1;
- lb_ptr->brd_nic = 0x30e3fd;
- lb_ptr->brd_nasid = 0x0;
- lb_ptr->brd_errinfo = 0x0;
- lb_ptr->brd_parent = (struct lboard_s *)0x9600000000030140;
- lb_ptr->brd_graph_link = (devfs_handle_t)0xffffffff;
- lb_ptr->brd_owner = 0x0;
- lb_ptr->brd_nic_flags = 0x0;
- memcpy(&lb_ptr->brd_name[0], "IP35", 4);
-
- /*
- * KLSTRUCT_BRI Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klbri_ptr = (klbri_t *)klcomp_ptr;
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[0] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x5;
- klinfo_ptr->struct_version = 0x2;
- klinfo_ptr->flags = 0x1;
- klinfo_ptr->revision = 0x2;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0xd002;
- klinfo_ptr->nic = 0x30e3fd;
- klinfo_ptr->physid = 0xe;
- klinfo_ptr->virtid = 0xe;
- klinfo_ptr->widid = 0xe;
- klinfo_ptr->nasid = 0x0;
-
- klbri_ptr->bri_eprominfo = 0xff;
- klbri_ptr->bri_bustype = 0x7;
- klbri_ptr->bri_mfg_nic = 0x3f4a8;
-
- lb_ptr->brd_compts[1] = 0;
- lb_ptr->brd_numcompts = 1;
-
- /*
- * lboard KLTYPE_PBRICK
- */
- lb_ptr = kmalloc(sizeof(lboard_t), GFP_KERNEL);
- temp_ptr->brd_next = (klconf_off_t)lb_ptr; /* Let the previous point at the new .. */
- temp_ptr = lb_ptr;
- printk("Fourth Lboard %p\n", lb_ptr);
-
- lb_ptr->brd_next = 0x0;
- lb_ptr->struct_type = 0x1;
- lb_ptr->brd_type = 0x72;
- lb_ptr->brd_sversion = 0x2;
- lb_ptr->brd_brevision = 0x0;
- lb_ptr->brd_promver = 0x1;
- lb_ptr->brd_promver = 0x31;
- lb_ptr->brd_slot = 0xf;
- lb_ptr->brd_debugsw = 0x0;
- lb_ptr->brd_module = 0x145;
- lb_ptr->brd_partition = 0x1;
- lb_ptr->brd_diagval = 0x0;
- lb_ptr->brd_diagparm = 0x0;
- lb_ptr->brd_inventory = 0x0;
- lb_ptr->brd_numcompts = 0x6;
- lb_ptr->brd_nic = 0x30e3fd;
- lb_ptr->brd_nasid = 0x0;
- lb_ptr->brd_errinfo = 0x0;
- lb_ptr->brd_parent = (struct lboard_s *)0x9600000000030140;
- lb_ptr->brd_graph_link = (devfs_handle_t)0xffffffff;
- lb_ptr->brd_owner = 0x0;
- lb_ptr->brd_nic_flags = 0x0;
- memcpy(&lb_ptr->brd_name[0], "IP35", 4);
-
-
- /*
- * KLSTRUCT_BRI Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klbri_ptr = (klbri_t *)klcomp_ptr;
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[0] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x5;
- klinfo_ptr->struct_version = 0x2;
- klinfo_ptr->flags = 0x1;
- klinfo_ptr->revision = 0x2;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0xd002;
- klinfo_ptr->nic = 0x30e3fd;
- klinfo_ptr->physid = 0xf;
- klinfo_ptr->virtid = 0xf;
- klinfo_ptr->widid = 0xf;
- klinfo_ptr->nasid = 0x0;
-
- klbri_ptr->bri_eprominfo = 0xff;
- klbri_ptr->bri_bustype = 0x7;
- klbri_ptr->bri_mfg_nic = 0x3f528;
-
- /*
- * KLSTRUCT_SCSI component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[1] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0xb;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x31;
- klinfo_ptr->revision = 0x5;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x1;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0xf;
- klinfo_ptr->nasid = 0x0;
-
- /*
- * KLSTRUCT_IOC3 Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klioc3_ptr = (klioc3_t *)klcomp_ptr;
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[2] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x6;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x31;
- klinfo_ptr->revision = 0x1;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x4;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0xf;
- klinfo_ptr->nasid = 0x0;
-
- klioc3_ptr->ioc3_ssram = 0x0;
- klioc3_ptr->ioc3_nvram = 0x0;
-
- /*
- * KLSTRUCT_UNKNOWN Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[3] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x0;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x31;
- klinfo_ptr->revision = 0xff;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x5;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0xf;
- klinfo_ptr->nasid = 0x0;
-
- /*
- * KLSTRUCT_SCSI Component
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[4] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0xb;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x31;
- klinfo_ptr->revision = 0x1;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x6;
- klinfo_ptr->virtid = 0x5;
- klinfo_ptr->widid = 0xf;
- klinfo_ptr->nasid = 0x0;
-
- /*
- * KLSTRUCT_UNKNOWN
- */
- klcomp_ptr = kmalloc(sizeof(klcomp_t), GFP_KERNEL);
- klinfo_ptr = (klinfo_t *)klcomp_ptr;
- lb_ptr->brd_compts[5] = (klconf_off_t)klcomp_ptr;
-
- klinfo_ptr->struct_type = 0x0;
- klinfo_ptr->struct_version = 0x1;
- klinfo_ptr->flags = 0x31;
- klinfo_ptr->revision = 0xff;
- klinfo_ptr->diagval = 0x0;
- klinfo_ptr->diagparm = 0x0;
- klinfo_ptr->inventory = 0x0;
- klinfo_ptr->partid = 0x0;
- klinfo_ptr->nic = 0xffffffffffffffff;
- klinfo_ptr->physid = 0x7;
- klinfo_ptr->virtid = 0x0;
- klinfo_ptr->widid = 0xf;
- klinfo_ptr->nasid = 0x0;
-
- lb_ptr->brd_compts[6] = 0;
- lb_ptr->brd_numcompts = 6;
-
}
-#ifdef BRINGUP
+#ifdef DEFINE_DUMP_RTNS
/*
* these were useful for printing out registers etc
* during bringup
*/
-void
+static void
xdump(long long *addr, int count)
{
int ii;
volatile long long *xx = addr;
for ( ii = 0; ii < count; ii++, xx++ ) {
- printk("0x%p : 0x%p\n", xx, *xx);
+ printk("0x%p : 0x%p\n", (void *)xx, (void *)*xx);
}
}
-void
+static void
xdump32(unsigned int *addr, int count)
{
int ii;
volatile unsigned int *xx = addr;
for ( ii = 0; ii < count; ii++, xx++ ) {
- printk("0x%p : 0x%0x\n", xx, *xx);
+ printk("0x%p : 0x%0x\n", (void *)xx, (int)*xx);
}
}
-
-
-void
+static void
clear_ii_error(void)
{
volatile long long *tmp;
@@ -716,8 +135,8 @@
}
-void
-dump_ii()
+static void
+dump_ii(void)
{
printk("===== Dump the II regs =====\n");
xdump((long long *)0xc0000a0001c00000, 2);
@@ -746,23 +165,8 @@
xdump((long long *)0xc0000a000f000000, 1);
}
-void
-dump_lb()
-{
- printk("===== Dump the LB regs =====\n");
- xdump((long long *)0xc0000a0001e00000, 1);
- xdump((long long *)0xc0000a0001e04000, 13);
- xdump((long long *)0xc0000a0001e04100, 2);
- xdump((long long *)0xc0000a0001e04200, 2);
- xdump((long long *)0xc0000a0001e08000, 5);
- xdump((long long *)0xc0000a0001e08040, 2);
- xdump((long long *)0xc0000a0001e08050, 3);
- xdump((long long *)0xc0000a0001e0c000, 3);
- xdump((long long *)0xc0000a0001e0c020, 4);
-}
-
-void
-dump_crossbow()
+static void
+dump_crossbow(void)
{
printk("===== Dump the Crossbow regs =====\n");
clear_ii_error();
@@ -793,4 +197,4 @@
}
-#endif /* BRINGUP */
+#endif /* DEFINE_DUMP_RTNS */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)