static void dump_crossbow(void) { printk("===== Dump the Crossbow regs =====\n"); clear_ii_error(); xdump32((unsigned int *)0xc0000a0000000004, 1); clear_ii_error(); xdump32((unsigned int *)0xc0000a0000000000, 1); printk("and again..\n"); xdump32((unsigned int *)0xc0000a0000000000, 1); xdump32((unsigned int *)0xc0000a0000000000, 1); clear_ii_error(); xdump32((unsigned int *)0xc000020000000004, 1); clear_ii_error(); xdump32((unsigned int *)0xc000020000000000, 1); clear_ii_error(); xdump32((unsigned int *)0xc0000a0000800004, 1); clear_ii_error(); xdump32((unsigned int *)0xc0000a0000800000, 1); clear_ii_error(); xdump32((unsigned int *)0xc000020000800004, 1); clear_ii_error(); xdump32((unsigned int *)0xc000020000800000, 1); clear_ii_error(); }
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. */ linux_klcfg = (kl_config_hdr_t *)0xe000000000030000; if (linux_klcfg->ch_magic == 0xbeedbabe) { return; } else { linux_klcfg = kl_hdr_ptr; } /* * 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; }