The cn700/vt8237r is almost working, but I'm having problems booting from IDE using filo. boot log, vt8237r.c, vt8237r_lpc.c, vt8237r_ide.c, and Config.lb are all attached (sorry for filling your inboxes, just trying to make sure anything that might help is available). This is based mostly off the vt8235, I've also tried Rudolf Marek's files with no success. Mainly what's got me lost are these two things from the boot log:
@line 259: In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.0 In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.1
why? This should be the IDE controller, and it's turned on in Config.lb. Unless I'm missing something, which I must be. It looks like bad device numbers, but afaik it isn't, so why is it coming up null?
@line 635: boot: hda1:/vmlinuz root=/dev/hda1 console=tty0 console=ttyS0,115200 malloc_diag: alloc: 352 bytes (4 blocks), free: 16024 bytes (1 blocks) malloc_diag: alloc: 368 bytes (5 blocks), free: 16008 bytes (1 blocks) file_open: dev=hda1, path=/vmlinuz find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1f0 ctrl_base=0x3f4 Detected floating bus No drive detected on IDE channel 0
Floating bus sounds like a bad thing to me, and google says it is too. But the IDE controller is being found! I've tried this with a real hard drive, a CF to IDE adapter, and a flash-based ide drive, and none are found. I found some references to this in the mailing list archives, especially in relation to the ck804, but never any "this is what fixed it"...
Thanks, Corey
LinuxBIOS-2.0.0.0-Fallback Sun Jul 22 16:15:56 EDT 2007 starting... Enabling mainboard devices Copying LinuxBIOS to RAM. Jumping to LinuxBIOS. LinuxBIOS-2.0.0.0-Fallback Sun Jul 22 16:15:56 EDT 2007 booting... end 82e81318, start 0 32-bit delta 1952 calibrate_tsc 32-bit result is 1952 clocks_per_usec: 1952 Enumerating buses... scan_static_bus for Root Device In cn700 enable_dev for device APIC_CLUSTER: 0. APIC_CLUSTER: 0 enabled In cn700 enable_dev for device PCI_DOMAIN: 0000. Finding PCI configuration type. PCI: Using configuration type 1 PCI_DOMAIN: 0000 enabled PCI_DOMAIN: 0000 scanning... Entering cn700 pci_domain_scan_bus. PCI: pci_scan_bus for bus 00 In cn700 enable_dev for device PCI: 00:00.0. PCI: 00:00.0 [1106/0314] ops PCI: 00:00.0 [1106/0314] enabled In cn700 enable_dev for device PCI: 00:00.1. PCI: 00:00.1 [1106/1314] enabled In cn700 enable_dev for device PCI: 00:00.2. PCI: 00:00.2 [1106/2314] enabled In cn700 enable_dev for device PCI: 00:00.3. PCI: 00:00.3 [1106/3208] enabled In cn700 enable_dev for device PCI: 00:00.4. PCI: 00:00.4 [1106/4314] enabled PCI: devfn 0x5, bad id 0xffffffff PCI: devfn 0x6, bad id 0xffffffff In cn700 enable_dev for device PCI: 00:00.7. PCI: 00:00.7 [1106/7314] enabled In cn700 enable_dev for device PCI: 00:01.0. PCI: 00:01.0 [1106/b198] bus ops PCI: 00:01.0 [1106/b198] enabled PCI: devfn 0x10, bad id 0xffffffff PCI: devfn 0x18, bad id 0xffffffff PCI: devfn 0x20, bad id 0xffffffff PCI: devfn 0x28, bad id 0xffffffff PCI: devfn 0x30, bad id 0xffffffff PCI: devfn 0x38, bad id 0xffffffff PCI: devfn 0x40, bad id 0xffffffff PCI: devfn 0x48, bad id 0xffffffff malloc Enter, size 668, free_mem_ptr 0001e000 malloc 0x0001e000 PCI: 00:0a.0 [1106/3044] enabled PCI: devfn 0x58, bad id 0xffffffff PCI: devfn 0x60, bad id 0xffffffff PCI: devfn 0x68, bad id 0xffffffff PCI: devfn 0x70, bad id 0xffffffff In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.0 In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.1 PCI: devfn 0x7a, bad id 0xffffffff PCI: devfn 0x7b, bad id 0xffffffff PCI: devfn 0x7c, bad id 0xffffffff PCI: devfn 0x7d, bad id 0xffffffff PCI: devfn 0x7e, bad id 0xffffffff PCI: devfn 0x7f, bad id 0xffffffff In vt8237r_enable 1106 3038. PCI: 00:10.0 [1106/3038] ops PCI: 00:10.0 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.1 [1106/3038] ops PCI: 00:10.1 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.2 [1106/3038] ops PCI: 00:10.2 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.3 [1106/3038] ops PCI: 00:10.3 [1106/3038] enabled malloc Enter, size 668, free_mem_ptr 0001e29c malloc 0x0001e29c PCI: 00:10.4 [1106/3104] ops PCI: 00:10.4 [1106/3104] enabled malloc Enter, size 668, free_mem_ptr 0001e538 malloc 0x0001e538 PCI: 00:10.5 [1106/d104] enabled PCI: devfn 0x86, bad id 0xffffffff PCI: devfn 0x87, bad id 0xffffffff In vt8237r_enable 1106 3227. Initialising Devices PCI: 00:11.0 [1106/3227] bus ops PCI: 00:11.0 [1106/3227] enabled PCI: devfn 0x89, bad id 0xffffffff PCI: devfn 0x8a, bad id 0xffffffff PCI: devfn 0x8b, bad id 0xffffffff PCI: devfn 0x8c, bad id 0xffffffff In vt8237r_enable 1106 3059. PCI: 00:11.5 [1106/3059] ops PCI: 00:11.5 [1106/3059] enabled In vt8237r_enable ffff ffff. PCI: devfn 0x8f, bad id 0xffffffff In vt8237r_enable 1106 3065. PCI: 00:12.0 [1106/3065] ops PCI: 00:12.0 [1106/3065] enabled PCI: devfn 0x98, bad id 0xffffffff PCI: devfn 0xa0, bad id 0xffffffff PCI: devfn 0xa8, bad id 0xffffffff PCI: devfn 0xb0, bad id 0xffffffff PCI: devfn 0xb8, bad id 0xffffffff PCI: devfn 0xc0, bad id 0xffffffff PCI: devfn 0xc8, bad id 0xffffffff PCI: devfn 0xd0, bad id 0xffffffff PCI: devfn 0xd8, bad id 0xffffffff PCI: devfn 0xe0, bad id 0xffffffff PCI: devfn 0xe8, bad id 0xffffffff PCI: devfn 0xf0, bad id 0xffffffff PCI: devfn 0xf8, bad id 0xffffffff do_pci_scan_bridge for PCI: 00:01.0 PCI: pci_scan_bus for bus 01 PCI: devfn 0x0, bad id 0xffffffff PCI: devfn 0x8, bad id 0xffffffff PCI: devfn 0x10, bad id 0xffffffff PCI: devfn 0x18, bad id 0xffffffff PCI: devfn 0x20, bad id 0xffffffff PCI: devfn 0x28, bad id 0xffffffff PCI: devfn 0x30, bad id 0xffffffff PCI: devfn 0x38, bad id 0xffffffff PCI: devfn 0x40, bad id 0xffffffff PCI: devfn 0x48, bad id 0xffffffff PCI: devfn 0x50, bad id 0xffffffff PCI: devfn 0x58, bad id 0xffffffff PCI: devfn 0x60, bad id 0xffffffff PCI: devfn 0x68, bad id 0xffffffff PCI: devfn 0x70, bad id 0xffffffff PCI: devfn 0x78, bad id 0xffffffff PCI: devfn 0x80, bad id 0xffffffff PCI: devfn 0x88, bad id 0xffffffff PCI: devfn 0x90, bad id 0xffffffff PCI: devfn 0x98, bad id 0xffffffff PCI: devfn 0xa0, bad id 0xffffffff PCI: devfn 0xa8, bad id 0xffffffff PCI: devfn 0xb0, bad id 0xffffffff PCI: devfn 0xb8, bad id 0xffffffff PCI: devfn 0xc0, bad id 0xffffffff PCI: devfn 0xc8, bad id 0xffffffff PCI: devfn 0xd0, bad id 0xffffffff PCI: devfn 0xd8, bad id 0xffffffff PCI: devfn 0xe0, bad id 0xffffffff PCI: devfn 0xe8, bad id 0xffffffff PCI: devfn 0xf0, bad id 0xffffffff PCI: devfn 0xf8, bad id 0xffffffff PCI: pci_scan_bus returning with max=001 do_pci_scan_bridge returns max 1 scan_static_bus for PCI: 00:11.0 scan_static_bus for PCI: 00:11.0 done PCI: pci_scan_bus returning with max=001 scan_static_bus for Root Device done done Allocating resources... Reading resources... Root Device compute_allocate_io: base: 00000400 size: 00000000 align: 0 gran: 0 Root Device read_resources bus 0 link: 0 Entering cn700 pci_domain_read_resources. Leaving cn700 pci_domain_read_resources. PCI_DOMAIN: 0000 read_resources bus 0 link: 0 PCI_DOMAIN: 0000 read_resources bus 0 link: 0 done Root Device read_resources bus 0 link: 0 done PCI: 00:11.5 10 * [0x00000400 - 0x000004ff] io PCI: 00:12.0 10 * [0x00000800 - 0x000008ff] io PCI: 00:0a.0 14 * [0x00000c00 - 0x00000c7f] io PCI: 00:10.0 20 * [0x00000c80 - 0x00000c9f] io PCI: 00:10.1 20 * [0x00000ca0 - 0x00000cbf] io PCI: 00:10.2 20 * [0x00000cc0 - 0x00000cdf] io PCI: 00:10.3 20 * [0x00000ce0 - 0x00000cff] io Root Device compute_allocate_io: base: 00000d00 size: 00000900 align: 8 gran: 0 done Root Device compute_allocate_mem: base: 00000000 size: 00000000 align: 0 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:11.0 46 * [0x00000000 - 0x0fffffff] mem PCI: 00:0a.0 10 * [0x10000000 - 0x100007ff] mem PCI: 00:10.4 10 * [0x10001000 - 0x100010ff] mem PCI: 00:10.5 10 * [0x10002000 - 0x100020ff] mem PCI: 00:12.0 14 * [0x10003000 - 0x100030ff] mem Root Device compute_allocate_mem: base: 10003100 size: 10003100 align: 28 gran: 0 done Done reading resources. Setting resources... Root Device compute_allocate_io: base: 00001000 size: 00000900 align: 8 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:11.5 10 * [0x00001000 - 0x000010ff] io PCI: 00:12.0 10 * [0x00001400 - 0x000014ff] io PCI: 00:0a.0 14 * [0x00001800 - 0x0000187f] io PCI: 00:10.0 20 * [0x00001880 - 0x0000189f] io PCI: 00:10.1 20 * [0x000018a0 - 0x000018bf] io PCI: 00:10.2 20 * [0x000018c0 - 0x000018df] io PCI: 00:10.3 20 * [0x000018e0 - 0x000018ff] io Root Device compute_allocate_io: base: 00001900 size: 00000900 align: 8 gran: 0 done Root Device compute_allocate_mem: base: e0000000 size: 10003100 align: 28 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:11.0 46 * [0xe0000000 - 0xefffffff] mem PCI: 00:0a.0 10 * [0xf0000000 - 0xf00007ff] mem PCI: 00:10.4 10 * [0xf0001000 - 0xf00010ff] mem PCI: 00:10.5 10 * [0xf0002000 - 0xf00020ff] mem PCI: 00:12.0 14 * [0xf0003000 - 0xf00030ff] mem Root Devic
LinuxBIOS-2.0.0.0-Fallback Sun Jul 22 16:15:56 EDT 2007 starting... Enabling mainboard devices Copying LinuxBIOS to RAM. Jumping to LinuxBIOS. LinuxBIOS-2.0.0.0-Fallback Sun Jul 22 16:15:56 EDT 2007 booting... end 82e81318, start 0 32-bit delta 1952 calibrate_tsc 32-bit result is 1952 clocks_per_usec: 1952 Enumerating buses... scan_static_bus for Root Device In cn700 enable_dev for device APIC_CLUSTER: 0. APIC_CLUSTER: 0 enabled In cn700 enable_dev for device PCI_DOMAIN: 0000. Finding PCI configuration type. PCI: Using configuration type 1 PCI_DOMAIN: 0000 enabled PCI_DOMAIN: 0000 scanning... Entering cn700 pci_domain_scan_bus. PCI: pci_scan_bus for bus 00 In cn700 enable_dev for device PCI: 00:00.0. PCI: 00:00.0 [1106/0314] ops PCI: 00:00.0 [1106/0314] enabled In cn700 enable_dev for device PCI: 00:00.1. PCI: 00:00.1 [1106/1314] enabled In cn700 enable_dev for device PCI: 00:00.2. PCI: 00:00.2 [1106/2314] enabled In cn700 enable_dev for device PCI: 00:00.3. PCI: 00:00.3 [1106/3208] enabled In cn700 enable_dev for device PCI: 00:00.4. PCI: 00:00.4 [1106/4314] enabled PCI: devfn 0x5, bad id 0xffffffff PCI: devfn 0x6, bad id 0xffffffff In cn700 enable_dev for device PCI: 00:00.7. PCI: 00:00.7 [1106/7314] enabled In cn700 enable_dev for device PCI: 00:01.0. PCI: 00:01.0 [1106/b198] bus ops PCI: 00:01.0 [1106/b198] enabled PCI: devfn 0x10, bad id 0xffffffff PCI: devfn 0x18, bad id 0xffffffff PCI: devfn 0x20, bad id 0xffffffff PCI: devfn 0x28, bad id 0xffffffff PCI: devfn 0x30, bad id 0xffffffff PCI: devfn 0x38, bad id 0xffffffff PCI: devfn 0x40, bad id 0xffffffff PCI: devfn 0x48, bad id 0xffffffff malloc Enter, size 668, free_mem_ptr 0001e000 malloc 0x0001e000 PCI: 00:0a.0 [1106/3044] enabled PCI: devfn 0x58, bad id 0xffffffff PCI: devfn 0x60, bad id 0xffffffff PCI: devfn 0x68, bad id 0xffffffff PCI: devfn 0x70, bad id 0xffffffff In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.0 In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.1 PCI: devfn 0x7a, bad id 0xffffffff PCI: devfn 0x7b, bad id 0xffffffff PCI: devfn 0x7c, bad id 0xffffffff PCI: devfn 0x7d, bad id 0xffffffff PCI: devfn 0x7e, bad id 0xffffffff PCI: devfn 0x7f, bad id 0xffffffff In vt8237r_enable 1106 3038. PCI: 00:10.0 [1106/3038] ops PCI: 00:10.0 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.1 [1106/3038] ops PCI: 00:10.1 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.2 [1106/3038] ops PCI: 00:10.2 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.3 [1106/3038] ops PCI: 00:10.3 [1106/3038] enabled malloc Enter, size 668, free_mem_ptr 0001e29c malloc 0x0001e29c PCI: 00:10.4 [1106/3104] ops PCI: 00:10.4 [1106/3104] enabled malloc Enter, size 668, free_mem_ptr 0001e538 malloc 0x0001e538 PCI: 00:10.5 [1106/d104] enabled PCI: devfn 0x86, bad id 0xffffffff PCI: devfn 0x87, bad id 0xffffffff In vt8237r_enable 1106 3227. Initialising Devices PCI: 00:11.0 [1106/3227] bus ops PCI: 00:11.0 [1106/3227] enabled PCI: devfn 0x89, bad id 0xffffffff PCI: devfn 0x8a, bad id 0xffffffff PCI: devfn 0x8b, bad id 0xffffffff PCI: devfn 0x8c, bad id 0xffffffff In vt8237r_enable 1106 3059. PCI: 00:11.5 [1106/3059] ops PCI: 00:11.5 [1106/3059] enabled In vt8237r_enable ffff ffff. PCI: devfn 0x8f, bad id 0xffffffff In vt8237r_enable 1106 3065. PCI: 00:12.0 [1106/3065] ops PCI: 00:12.0 [1106/3065] enabled PCI: devfn 0x98, bad id 0xffffffff PCI: devfn 0xa0, bad id 0xffffffff PCI: devfn 0xa8, bad id 0xffffffff PCI: devfn 0xb0, bad id 0xffffffff PCI: devfn 0xb8, bad id 0xffffffff PCI: devfn 0xc0, bad id 0xffffffff PCI: devfn 0xc8, bad id 0xffffffff PCI: devfn 0xd0, bad id 0xffffffff PCI: devfn 0xd8, bad id 0xffffffff PCI: devfn 0xe0, bad id 0xffffffff PCI: devfn 0xe8, bad id 0xffffffff PCI: devfn 0xf0, bad id 0xffffffff PCI: devfn 0xf8, bad id 0xffffffff do_pci_scan_bridge for PCI: 00:01.0 PCI: pci_scan_bus for bus 01 PCI: devfn 0x0, bad id 0xffffffff PCI: devfn 0x8, bad id 0xffffffff PCI: devfn 0x10, bad id 0xffffffff PCI: devfn 0x18, bad id 0xffffffff PCI: devfn 0x20, bad id 0xffffffff PCI: devfn 0x28, bad id 0xffffffff PCI: devfn 0x30, bad id 0xffffffff PCI: devfn 0x38, bad id 0xffffffff PCI: devfn 0x40, bad id 0xffffffff PCI: devfn 0x48, bad id 0xffffffff PCI: devfn 0x50, bad id 0xffffffff PCI: devfn 0x58, bad id 0xffffffff PCI: devfn 0x60, bad id 0xffffffff PCI: devfn 0x68, bad id 0xffffffff PCI: devfn 0x70, bad id 0xffffffff PCI: devfn 0x78, bad id 0xffffffff PCI: devfn 0x80, bad id 0xffffffff PCI: devfn 0x88, bad id 0xffffffff PCI: devfn 0x90, bad id 0xffffffff PCI: devfn 0x98, bad id 0xffffffff PCI: devfn 0xa0, bad id 0xffffffff PCI: devfn 0xa8, bad id 0xffffffff PCI: devfn 0xb0, bad id 0xffffffff PCI: devfn 0xb8, bad id 0xffffffff PCI: devfn 0xc0, bad id 0xffffffff PCI: devfn 0xc8, bad id 0xffffffff PCI: devfn 0xd0, bad id 0xffffffff PCI: devfn 0xd8, bad id 0xffffffff PCI: devfn 0xe0, bad id 0xffffffff PCI: devfn 0xe8, bad id 0xffffffff PCI: devfn 0xf0, bad id 0xffffffff PCI: devfn 0xf8, bad id 0xffffffff PCI: pci_scan_bus returning with max=001 do_pci_scan_bridge returns max 1 scan_static_bus for PCI: 00:11.0 scan_static_bus for PCI: 00:11.0 done PCI: pci_scan_bus returning with max=001 scan_static_bus for Root Device done done Allocating resources... Reading resources... Root Device compute_allocate_io: base: 00000400 size: 00000000 align: 0 gran: 0 Root Device read_resources bus 0 link: 0 Entering cn700 pci_domain_read_resources. Leaving cn700 pci_domain_read_resources. PCI_DOMAIN: 0000 read_resources bus 0 link: 0 PCI_DOMAIN: 0000 read_resources bus 0 link: 0 done Root Device read_resources bus 0 link: 0 done PCI: 00:11.5 10 * [0x00000400 - 0x000004ff] io PCI: 00:12.0 10 * [0x00000800 - 0x000008ff] io PCI: 00:0a.0 14 * [0x00000c00 - 0x00000c7f] io PCI: 00:10.0 20 * [0x00000c80 - 0x00000c9f] io PCI: 00:10.1 20 * [0x00000ca0 - 0x00000cbf] io PCI: 00:10.2 20 * [0x00000cc0 - 0x00000cdf] io PCI: 00:10.3 20 * [0x00000ce0 - 0x00000cff] io Root Device compute_allocate_io: base: 00000d00 size: 00000900 align: 8 gran: 0 done Root Device compute_allocate_mem: base: 00000000 size: 00000000 align: 0 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:11.0 46 * [0x00000000 - 0x0fffffff] mem PCI: 00:0a.0 10 * [0x10000000 - 0x100007ff] mem PCI: 00:10.4 10 * [0x10001000 - 0x100010ff] mem PCI: 00:10.5 10 * [0x10002000 - 0x100020ff] mem PCI: 00:12.0 14 * [0x10003000 - 0x100030ff] mem Root Device compute_allocate_mem: base: 10003100 size: 10003100 align: 28 gran: 0 done Done reading resources. Setting resources... Root Device compute_allocate_io: base: 00001000 size: 00000900 align: 8 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:11.5 10 * [0x00001000 - 0x000010ff] io PCI: 00:12.0 10 * [0x00001400 - 0x000014ff] io PCI: 00:0a.0 14 * [0x00001800 - 0x0000187f] io PCI: 00:10.0 20 * [0x00001880 - 0x0000189f] io PCI: 00:10.1 20 * [0x000018a0 - 0x000018bf] io PCI: 00:10.2 20 * [0x000018c0 - 0x000018df] io PCI: 00:10.3 20 * [0x000018e0 - 0x000018ff] io Root Device compute_allocate_io: base: 00001900 size: 00000900 align: 8 gran: 0 done Root Device compute_allocate_mem: base: e0000000 size: 10003100 align: 28 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:11.0 46 * [0xe0000000 - 0xefffffff] mem PCI: 00:0a.0 10 * [0xf0000000 - 0xf00007ff] mem PCI: 00:10.4 10 * [0xf0001000 - 0xf00010ff] mem PCI: 00:10.5 10 * [0xf0002000 - 0xf00020ff] mem PCI: 00:12.0 14 * [0xf0003000 - 0xf00030ff] mem Root Device compute_allocate_mem: base: f0003100 size: 10003100 align: 28 gran: 0 done Root Device assign_resources, bus 0 link: 0 Entering cn700 pci_domain_set_resources. mc_dev located at 0x11880 ERROR! register 0x5b is not set! ERROR! register 0x5c is not set! ERROR! register 0x5d is not set! I would set ram size to 0x204000 Kbytes PCI_DOMAIN: 0000 assign_resources, bus 0 link: 0 PCI: 00:0a.0 10 <- [0x00f0000000 - 0x00f00007ff] mem PCI: 00:0a.0 14 <- [0x0000001800 - 0x000000187f] io PCI: 00:10.0 20 <- [0x0000001880 - 0x000000189f] io PCI: 00:10.1 20 <- [0x00000018a0 - 0x00000018bf] io PCI: 00:10.2 20 <- [0x00000018c0 - 0x00000018df] io PCI: 00:10.3 20 <- [0x00000018e0 - 0x00000018ff] io PCI: 00:10.4 10 <- [0x00f0001000 - 0x00f00010ff] mem PCI: 00:10.5 10 <- [0x00f0002000 - 0x00f00020ff] mem PCI: 00:11.5 10 <- [0x0000001000 - 0x00000010ff] io PCI: 00:12.0 10 <- [0x0000001400 - 0x00000014ff] io PCI: 00:12.0 14 <- [0x00f0003000 - 0x00f00030ff] mem PCI_DOMAIN: 0000 assign_resources, bus 0 link: 0 Root Device assign_resources, bus 0 link: 0 Done setting resources. Done allocating resources. Enabling resources... PCI: 00:00.0 cmd <- 146 PCI: 00:00.1 subsystem <- 00/00 PCI: 00:00.1 cmd <- 146 PCI: 00:00.2 subsystem <- 00/00 PCI: 00:00.2 cmd <- 146 PCI: 00:00.3 subsystem <- 00/00 PCI: 00:00.3 cmd <- 146 PCI: 00:00.4 subsystem <- 00/00 PCI: 00:00.4 cmd <- 146 PCI: 00:00.7 subsystem <- 00/00 PCI: 00:00.7 cmd <- 146 PCI: 00:01.0 bridge ctrl <- 0003 PCI: 00:01.0 cmd <- 147 PCI: 00:0a.0 cmd <- 1c3 PCI: 00:10.0 cmd <- 141 PCI: 00:10.1 cmd <- 141 PCI: 00:10.2 cmd <- 141 PCI: 00:10.3 cmd <- 141 PCI: 00:10.4 cmd <- 142 PCI: 00:10.5 cmd <- 142 PCI: 00:11.0 cmd <- 1c7 PCI: 00:11.5 cmd <- 141 PCI: 00:12.0 cmd <- 1c3 done. Initializing devices... Root Device init APIC_CLUSTER: 0 init malloc Enter, size 668, free_mem_ptr 0001e7d4 malloc 0x0001e7d4 Initializing CPU #0 CPU: vendor Centaur device 6a9 CPU: family 06, model 0a, stepping 09 Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB Setting fixed MTRRs(24-88) Type: WB DONE fixed MTRRs call enable_fixed_mtrr() Setting variable MTRR 0, base: 0MB, range: 512MB, type WB ADDRESS_MASK_HIGH=0xf DONE variable MTRRs Clear out the extra MTRR's call enable_var_mtrr() Leave x86_setup_var_mtrrs
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
Disabling local apic...done. CPU #0 Initialized PCI: 00:00.0 init PCI: 00:00.1 init PCI: 00:00.2 init PCI: 00:00.3 init PCI: 00:00.4 init PCI: 00:00.7 init PCI: 00:01.0 init PCI: 00:10.0 init base address for this usb controller is 0xFA01 PCI: 00:10.1 init base address for this usb controller is 0xFB01 PCI: 00:10.2 init base address for this usb controller is 0xFC01 PCI: 00:10.3 init base address for this usb controller is 0xFD01 PCI: 00:11.0 init vt8237r init RTC Init RTC: Checksum invalid zeroing cmos Invalid CMOS LB checksum for IRQ, reg 0x00000000 value 0x00000700 0xff000000 for IRQ, reg 0x00000001 value 0x00010000 0x00000000 for IRQ, reg 0x00000002 value 0x00010000 0x00000000 for IRQ, reg 0x00000003 value 0x00010000 0x00000000 for IRQ, reg 0x00000004 value 0x00010000 0x00000000 for IRQ, reg 0x00000005 value 0x00010000 0x00000000 for IRQ, reg 0x00000006 value 0x00010000 0x00000000 for IRQ, reg 0x00000007 value 0x00010000 0x00000000 for IRQ, reg 0x00000008 value 0x00010000 0x00000000 for IRQ, reg 0x00000009 value 0x00010000 0x00000000 for IRQ, reg 0x0000000a value 0x00010000 0x00000000 for IRQ, reg 0x0000000b value 0x00010000 0x00000000 for IRQ, reg 0x0000000c value 0x00010000 0x00000000 for IRQ, reg 0x0000000d value 0x00010000 0x00000000 for IRQ, reg 0x0000000e value 0x00010000 0x00000000 for IRQ, reg 0x0000000f value 0x00010000 0x00000000 for IRQ, reg 0x00000010 value 0x00010000 0x00000000 for IRQ, reg 0x00000011 value 0x00010000 0x00000000 for IRQ, reg 0x00000012 value 0x00010000 0x00000000 for IRQ, reg 0x00000013 value 0x00010000 0x00000000 for IRQ, reg 0x00000014 value 0x00010000 0x00000000 for IRQ, reg 0x00000015 value 0x00010000 0x00000000 for IRQ, reg 0x00000016 value 0x00010000 0x00000000 for IRQ, reg 0x00000017 value 0x00010000 0x00000000 PCI: 00:11.5 init Enabling VIA AC'97 Audio. PCI: 00:12.0 init Configuring VIA Rhine LAN PCI: 00:0a.0 init PCI: 00:10.4 init PCI: 00:10.5 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...done Checking IRQ routing table consistency... check_pirq_routing_table() - irq_routing_table located at: 0x000f0000 /home/amp/linuxbios/LinuxBIOSv2/src/arch/i386/boot/pirq_routing.c: 36:check_pirq_routing_table() - checksum is: 0xb7 but should be: 0x89 done. ACPI: Writing ACPI tables at f0400... ACPI: * FACS ACPI: * DSDT @ 000f04a2 Length 589a ACPI: * FADT ACPI: added table 1/6 Length now 40 ACPI: done. Moving GDT to 0x500...ok Wrote linuxbios table at: 00000530 - 00000b70 checksum 8775
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.3
rom_stream: 0xfffc0000 - 0xfffdbfff Found ELF candidate at offset 0 header_offset is 0 Try to load at offset 0x0 malloc Enter, size 32, free_mem_ptr 0001ea70 malloc 0x0001ea70 New segment addr 0x100000 size 0x234e0 offset 0xc0 filesize 0x9348 (cleaned up) New segment addr 0x100000 size 0x234e0 offset 0xc0 filesize 0x9348 lb: [0x0000000000004000, 0x0000000000022000) malloc Enter, size 32, free_mem_ptr 0001ea90 malloc 0x0001ea90 New segment addr 0x1234e0 size 0x48 offset 0x9420 filesize 0x48 (cleaned up) New segment addr 0x1234e0 size 0x48 offset 0x9420 filesize 0x48 lb: [0x0000000000004000, 0x0000000000022000) Dropping non PT_LOAD segment Dropping non PT_LOAD segment Loading Segment: addr: 0x0000000000100000 memsz: 0x00000000000234e0 filesz: 0x0000000000009348 [ 0x0000000000100000, 0000000000109348, 0x00000000001234e0) <- 00000000000000c0 Clearing Segment: addr: 0x0000000000109348 memsz: 0x000000000001a198 Loading Segment: addr: 0x00000000001234e0 memsz: 0x0000000000000048 filesz: 0x0000000000000048 [ 0x00000000001234e0, 0000000000123528, 0x0000000000123528) <- 0000000000009420 Loaded segments verified segments closed down stream Jumping to boot code at 0x106524 entry = 0x00106524 lb_start = 0x00004000 lb_size = 0x0001e000 adjust = 0x1ffde000 buffer = 0x1ffc4000 elf_boot_notes = 0x00017ee0 adjusted_boot_notes = 0x1fff5ee0 FILO version 0.5 (amp@ampmobile) Sun Jul 22 00:31:32 EDT 2007 collect_sys_info: boot eax = 0xe1fb007 collect_sys_info: boot ebx = 0x1fff5ee0 collect_sys_info: boot arg = 0x1fff5ee0 malloc_diag: alloc: 0 bytes (0 blocks), free: 16376 bytes (1 blocks) malloc_diag: alloc: 24 bytes (1 blocks), free: 16352 bytes (1 blocks) collect_elfboot_info: Bootloader: elfboot collect_elfboot_info: Version: 1.3 malloc_diag: alloc: 40 bytes (2 blocks), free: 16336 bytes (1 blocks) collect_linuxbios_info: Searching for LinuxBIOS tables... find_lb_table: Found canidate at: 00000530 find_lb_table: header checksum o.k. find_lb_table: table checksum o.k. find_lb_table: record count o.k. collect_linuxbios_info: Found LinuxBIOS table at: 00000530 convert_memmap: 0x00000000000000 0x00000000000bd4 16 convert_memmap: 0x00000000000bd4 0x0000000009f42c 1 convert_memmap: 0x000000000c0000 0x00000000030000 1 convert_memmap: 0x000000000f0000 0x00000000010000 16 convert_memmap: 0x00000000100000 0x0000001ff00000 1 collect_sys_info: 0000000000000bd4-00000000000a0000 collect_sys_info: 00000000000c0000-00000000000f0000 collect_sys_info: 0000000000100000-0000000020000000 collect_sys_info: RAM 512 MB relocate: Current location: 0x100000-0x123527 relocate: Relocating to 0x1ffdcad0-0x1ffffff7... ok setup_timers: CPU 800 MHz pci_init: Scanning PCI: found 19 devices malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) pci_init: 00:00.0 1106:0314 0600 00 pci_init: 00:00.1 1106:1314 0600 00 pci_init: 00:00.2 1106:2314 0600 00 pci_init: 00:00.3 1106:3208 0600 00 pci_init: 00:00.4 1106:4314 0600 00 pci_init: 00:00.7 1106:7314 0600 00 pci_init: 00:01.0 1106:b198 0604 00 pci_init: 00:0a.0 1106:3044 0c00 10 pci_init: 00:0f.0 1106:3149 0104 00 pci_init: 00:0f.1 1106:0571 0101 8a pci_init: 00:10.0 1106:3038 0c03 00 pci_init: 00:10.1 1106:3038 0c03 00 pci_init: 00:10.2 1106:3038 0c03 00 pci_init: 00:10.3 1106:3038 0c03 00 pci_init: 00:10.4 1106:3104 0c03 20 pci_init: 00:10.5 1106:d104 0280 00 pci_init: 00:11.0 1106:3227 0601 00 pci_init: 00:11.5 1106:3059 0401 00 pci_init: 00:12.0 1106:3065 0200 00 boot: hda1:/vmlinuz root=/dev/hda1 console=tty0 console=ttyS0,115200 malloc_diag: alloc: 352 bytes (4 blocks), free: 16024 bytes (1 blocks) malloc_diag: alloc: 368 bytes (5 blocks), free: 16008 bytes (1 blocks) file_open: dev=hda1, path=/vmlinuz find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1f0 ctrl_base=0x3f4 Detected floating bus No drive detected on IDE channel 0 devopen: failed to open ide malloc_diag: alloc: 352 bytes (4 blocks), free: 16024 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hda1:/vmlinuz root=/dev/hda1 console=tty0 console=ttyS0,115200 malloc_diag: alloc: 352 bytes (4 blocks), free: 16024 bytes (1 blocks) malloc_diag: alloc: 368 bytes (5 blocks), free: 16008 bytes (1 blocks) file_open: dev=hda1, path=/vmlinuz Drive 0 does not exist devopen: failed to open ide malloc_diag: alloc: 352 bytes (4 blocks), free: 16024 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hda1:/vmlinuz root=/dev/hda1 console=tty0 console=ttyS0,115200 c1 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hdc1, path=<NULL> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: secodary channel: compatibility mode find_ide_controller: cmd_base=0x170 ctrl_base=0x374 Detected floating bus No drive detected on IDE channel 1 devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hdc1 b1 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hdb1, path=<NULL> Drive 1 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hdb1 d1 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hdd1, path=<NULL> Drive 3 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hdd1 e1 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hde1, path=<NULL> find_ide_controller: PCI IDE #1 not found IDE channel 2 not found devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hde1 f1 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hdf1, path=<NULL> find_ide_controller: PCI IDE #1 not found IDE channel 2 not found devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hdf1 a1 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hda1, path=<NULL> Drive 0 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hda1 2 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hda2, path=<NULL> Drive 0 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hda2 3 malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 16064 bytes (1 blocks) file_open: dev=hda3, path=<NULL> Drive 0 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 16080 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 16096 bytes (1 blocks) boot: hda3
## ## Compute the location and size of where this firmware image ## (linuxBIOS plus bootloader) will live in the boot rom chip. ## if USE_FALLBACK_IMAGE default ROM_SECTION_SIZE = FALLBACK_SIZE default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE ) else default ROM_SECTION_SIZE = ( ROM_SIZE - FALLBACK_SIZE ) default ROM_SECTION_OFFSET = 0 end
## ## Compute the start location and size size of ## The linuxBIOS bootloader. ## default PAYLOAD_SIZE = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE ) default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
## ## Compute where this copy of linuxBIOS will start in the boot rom ## default _ROMBASE = ( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
## ## Compute a range of ROM that can cached to speed up linuxBIOS, ## execution speed. ## ## XIP_ROM_SIZE must be a power of 2. ## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE ## default XIP_ROM_SIZE=65536 default XIP_ROM_BASE = ( _ROMBASE + ROM_IMAGE_SIZE - XIP_ROM_SIZE )
## ## Set all of the defaults for an x86 architecture ##
arch i386 end
## ## Build the objects we have code for in this directory. ##
driver mainboard.o if HAVE_PIRQ_TABLE object irq_tables.o end #object reset.o #object vgabios.o
if HAVE_ACPI_TABLES object fadt.o object dsdt.o object acpi_tables.o end
## ## Romcc output ## makerule ./failover.E depends "$(MAINBOARD)/failover.c ./romcc" action "./romcc -E -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@" end
makerule ./failover.inc depends "$(MAINBOARD)/failover.c ./romcc" action "./romcc -O --label-prefix=failover -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/failover.c -o $@" end
makerule ./auto.E depends "$(MAINBOARD)/auto.c option_table.h ./romcc" action "./romcc -E -mcpu=c3 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@" end makerule ./auto.inc depends "$(MAINBOARD)/auto.c option_table.h ./romcc" action "./romcc -mcpu=c3 -O -I$(TOP)/src -I. $(CPPFLAGS) $(MAINBOARD)/auto.c -o $@" end
## ## Build our 16 bit and 32 bit linuxBIOS entry code ## mainboardinit cpu/x86/16bit/entry16.inc mainboardinit cpu/x86/32bit/entry32.inc ldscript /cpu/x86/16bit/entry16.lds ldscript /cpu/x86/32bit/entry32.lds
## ## Build our reset vector (This is where linuxBIOS is entered) ## if USE_FALLBACK_IMAGE mainboardinit cpu/x86/16bit/reset16.inc ldscript /cpu/x86/16bit/reset16.lds else mainboardinit cpu/x86/32bit/reset32.inc ldscript /cpu/x86/32bit/reset32.lds end
### Should this be in the northbridge code? mainboardinit arch/i386/lib/cpu_reset.inc
## ## Include an id string (For safe flashing) ## mainboardinit arch/i386/lib/id.inc ldscript /arch/i386/lib/id.lds
### ### This is the early phase of linuxBIOS startup ### Things are delicate and we test to see if we should ### failover to another image. ### if USE_FALLBACK_IMAGE ldscript /arch/i386/lib/failover.lds mainboardinit ./failover.inc end
### ### O.k. We aren't just an intermediary anymore! ###
## ## Setup RAM ## mainboardinit cpu/x86/fpu/enable_fpu.inc mainboardinit cpu/x86/mmx/enable_mmx.inc mainboardinit ./auto.inc mainboardinit cpu/x86/mmx/disable_mmx.inc
## ## Include the secondary Configuration files ## dir /pc80 config chip.h
chip northbridge/via/cn700 device apic_cluster 0 on chip cpu/via/model_centaur device apic 0 on end end end device pci_domain 0 on device pci 0.0 on end # AGP Bridge device pci 0.1 on end # Error Reporting device pci 0.2 on end # Host Bus Control device pci 0.3 on end # Memory Controller device pci 0.4 on end # Power Management device pci 0.7 on end # V-Link Controller device pci 1.0 on end # PCI Bridge chip southbridge/via/vt8237r device pci f.0 on end # SATA device pci f.1 on end # IDE device pci 10.0 on end # USB 1.1 device pci 10.1 on end # USB 1.1 device pci 10.2 on end # USB 1.1 device pci 10.3 on end # USB 2.0 device pci 11.0 on # Southbridge LPC #chip superio/fintek/f71805f # device pnp 2e.0 on # Floppy # io 0x60 = 0x3f0 # irq 0x70 = 6 # drq 0x74 = 2 # end # device pnp 2e.1 on # Parallel Port # io 0x60 = 0x378 # irq 0x70 = 7 # drq 0x74 = 3 # end # device pnp 2e.2 on # COM1 # io 0x60 = 0x3f8 # irq 0x70 = 4 # end # device pnp 2e.3 on # COM2 # io 0x60 = 0x2f8 # irq 0x70 = 3 # end # device pnp 2e.b on # HWM # io 0x60 = 0xec00 # end #end #superio end # pci 11.0 # 1-4 non existant device pci 11.5 on end # AC97 Audio device pci 11.6 off end # AC97 Modem device pci 12.0 on end # Ethernet end # vt8237 end # pci domain 0 end # cn700
On Thu, Jul 26, 2007 at 01:59:45AM -0400, Corey Osgood wrote:
The cn700/vt8237r is almost working,
Cool!
@line 259: In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.0 In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.1
why? [..] It looks like bad device numbers
--8<-- src/devices/pci_device.c /* Now read the vendor and device id */ id = pci_read_config32(dev, PCI_VENDOR_ID);
/* If the device does not have a pci id disable it. * Possibly this is because we have already disabled * the device. But this also handles optional devices * that may not always show up. */ /* If the chain is fully enumerated quit */ if ( (id == 0xffffffff) || (id == 0x00000000) || (id == 0x0000ffff) || (id == 0xffff0000)) { if (dev->enabled) { printk_info("Disabling static device: %s\n", dev_path(dev)); dev->enabled = 0; } return dev; } -->8--
The devices are disabled by LB because of the 0xffff VID.
Theory: Some bit needs to be set somewhere in order to have the IDE PCI device actually exist and return anything meaningful?
FILO version 0.5 (amp@ampmobile) Sun Jul 22 00:31:32 EDT 2007
[..]
pci_init: 00:0f.1 1106:0571 0101 8a
..and at this point that bit has been set, but the device hasn't been enabled properly?
find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1f0 ctrl_base=0x3f4 Detected floating bus No drive detected on IDE channel 0 devopen: failed to open ide
You could also try using my FILO IDE patch with the debugging suggested in my message, it may provide some more debugging hints:
http://www.linuxbios.org/pipermail/linuxbios/2007-May/021586.html
printk_err("NO HARD RESET ON VT8237R! FIX ME!\n");
Remove the function and undefine HAVE_HARD_RESET or whatever the option is called then
//Peter
Peter Stuge wrote:
On Thu, Jul 26, 2007 at 01:59:45AM -0400, Corey Osgood wrote:
The cn700/vt8237r is almost working,
Cool!
@line 259: In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.0 In vt8237r_enable ffff ffff. Disabling static device: PCI: 00:0f.1
why? [..] It looks like bad device numbers
The devices are disabled by LB because of the 0xffff VID.
Theory: Some bit needs to be set somewhere in order to have the IDE PCI device actually exist and return anything meaningful?
Duh, that makes perfect sense. I forgot that I was trying to disable SATA and move IDE to dev f.0, and didn't get it right, so both devices were borked during pre-ram. Then they were re-enabled during vt8237r_enable, which is why they showed up later. Fixed now.
find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1f0 ctrl_base=0x3f4 Detected floating bus No drive detected on IDE channel 0 devopen: failed to open ide
You could also try using my FILO IDE patch with the debugging suggested in my message, it may provide some more debugging hints:
http://www.linuxbios.org/pipermail/linuxbios/2007-May/021586.html
Still no dice, doesn't seem to give any extra info (with your patch and debugging). New log file attached, FILO can now find an SATA drive (formatted in reiserfs, which I didn't include support for in FILO). IDE is still showing up as a floating bus. Oh, and please ignore the "sda" stuff, I didn't bother fixing it before rebuilding FILO, I know now that usb is called ud*.
Thanks, Corey
LinuxBIOS-2.0.0.0-Fallback Thu Jul 26 03:41:44 EDT 2007 starting... Enabling Via V-Link Enabling mainboard devices IDE controller found at 0x00079000 Copying LinuxBIOS to RAM. Jumping to LinuxBIOS. LinuxBIOS-2.0.0.0-Fallback Thu Jul 26 03:53:43 EDT 2007 booting... end 7f51e712, start 0 32-bit delta 1952 calibrate_tsc 32-bit result is 1952 clocks_per_usec: 1952 Enumerating buses... scan_static_bus for Root Device In cn700 enable_dev for device APIC_CLUSTER: 0. APIC_CLUSTER: 0 enabled In cn700 enable_dev for device PCI_DOMAIN: 0000. Finding PCI configuration type. PCI: Using configuration type 1 PCI_DOMAIN: 0000 enabled PCI_DOMAIN: 0000 scanning... Entering cn700 pci_domain_scan_bus. PCI: pci_scan_bus for bus 00 In cn700 enable_dev for device PCI: 00:00.0. PCI: 00:00.0 [1106/0314] ops PCI: 00:00.0 [1106/0314] enabled In cn700 enable_dev for device PCI: 00:00.1. PCI: 00:00.1 [1106/1314] enabled In cn700 enable_dev for device PCI: 00:00.2. PCI: 00:00.2 [1106/2314] enabled In cn700 enable_dev for device PCI: 00:00.3. PCI: 00:00.3 [1106/3208] enabled In cn700 enable_dev for device PCI: 00:00.4. PCI: 00:00.4 [1106/4314] enabled PCI: devfn 0x5, bad id 0xffffffff PCI: devfn 0x6, bad id 0xffffffff In cn700 enable_dev for device PCI: 00:00.7. PCI: 00:00.7 [1106/7314] enabled In cn700 enable_dev for device PCI: 00:01.0. PCI: 00:01.0 [1106/b198] bus ops PCI: 00:01.0 [1106/b198] enabled PCI: devfn 0x10, bad id 0xffffffff PCI: devfn 0x18, bad id 0xffffffff PCI: devfn 0x20, bad id 0xffffffff PCI: devfn 0x28, bad id 0xffffffff PCI: devfn 0x30, bad id 0xffffffff PCI: devfn 0x38, bad id 0xffffffff PCI: devfn 0x40, bad id 0xffffffff PCI: devfn 0x48, bad id 0xffffffff malloc Enter, size 668, free_mem_ptr 0001e000 malloc 0x0001e000 PCI: 00:0a.0 [1106/3044] enabled PCI: devfn 0x58, bad id 0xffffffff PCI: devfn 0x60, bad id 0xffffffff PCI: devfn 0x68, bad id 0xffffffff PCI: devfn 0x70, bad id 0xffffffff In vt8237r_enable 1106 3149. PCI: 00:0f.0 [1106/3149] ops PCI: 00:0f.0 [1106/3149] enabled In vt8237r_enable 1106 0571. PCI: 00:0f.1 [1106/0571] ops PCI: 00:0f.1 [1106/0571] enabled PCI: devfn 0x7a, bad id 0xffffffff PCI: devfn 0x7b, bad id 0xffffffff PCI: devfn 0x7c, bad id 0xffffffff PCI: devfn 0x7d, bad id 0xffffffff PCI: devfn 0x7e, bad id 0xffffffff PCI: devfn 0x7f, bad id 0xffffffff In vt8237r_enable 1106 3038. PCI: 00:10.0 [1106/3038] ops PCI: 00:10.0 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.1 [1106/3038] ops PCI: 00:10.1 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.2 [1106/3038] ops PCI: 00:10.2 [1106/3038] enabled In vt8237r_enable 1106 3038. PCI: 00:10.3 [1106/3038] ops PCI: 00:10.3 [1106/3038] enabled malloc Enter, size 668, free_mem_ptr 0001e29c malloc 0x0001e29c PCI: 00:10.4 [1106/3104] ops PCI: 00:10.4 [1106/3104] enabled malloc Enter, size 668, free_mem_ptr 0001e538 malloc 0x0001e538 PCI: 00:10.5 [1106/d104] enabled PCI: devfn 0x86, bad id 0xffffffff PCI: devfn 0x87, bad id 0xffffffff In vt8237r_enable 1106 3227. Initialising Devices PCI: 00:11.0 [1106/3227] bus ops PCI: 00:11.0 [1106/3227] enabled PCI: devfn 0x89, bad id 0xffffffff PCI: devfn 0x8a, bad id 0xffffffff PCI: devfn 0x8b, bad id 0xffffffff PCI: devfn 0x8c, bad id 0xffffffff In vt8237r_enable 1106 3059. PCI: 00:11.5 [1106/3059] ops PCI: 00:11.5 [1106/3059] enabled In vt8237r_enable ffff ffff. PCI: devfn 0x8f, bad id 0xffffffff In vt8237r_enable 1106 3065. PCI: 00:12.0 [1106/3065] ops PCI: 00:12.0 [1106/3065] enabled PCI: devfn 0x98, bad id 0xffffffff PCI: devfn 0xa0, bad id 0xffffffff PCI: devfn 0xa8, bad id 0xffffffff PCI: devfn 0xb0, bad id 0xffffffff PCI: devfn 0xb8, bad id 0xffffffff PCI: devfn 0xc0, bad id 0xffffffff PCI: devfn 0xc8, bad id 0xffffffff PCI: devfn 0xd0, bad id 0xffffffff PCI: devfn 0xd8, bad id 0xffffffff PCI: devfn 0xe0, bad id 0xffffffff PCI: devfn 0xe8, bad id 0xffffffff PCI: devfn 0xf0, bad id 0xffffffff PCI: devfn 0xf8, bad id 0xffffffff do_pci_scan_bridge for PCI: 00:01.0 PCI: pci_scan_bus for bus 01 PCI: devfn 0x0, bad id 0xffffffff PCI: devfn 0x8, bad id 0xffffffff PCI: devfn 0x10, bad id 0xffffffff PCI: devfn 0x18, bad id 0xffffffff PCI: devfn 0x20, bad id 0xffffffff PCI: devfn 0x28, bad id 0xffffffff PCI: devfn 0x30, bad id 0xffffffff PCI: devfn 0x38, bad id 0xffffffff PCI: devfn 0x40, bad id 0xffffffff PCI: devfn 0x48, bad id 0xffffffff PCI: devfn 0x50, bad id 0xffffffff PCI: devfn 0x58, bad id 0xffffffff PCI: devfn 0x60, bad id 0xffffffff PCI: devfn 0x68, bad id 0xffffffff PCI: devfn 0x70, bad id 0xffffffff PCI: devfn 0x78, bad id 0xffffffff PCI: devfn 0x80, bad id 0xffffffff PCI: devfn 0x88, bad id 0xffffffff PCI: devfn 0x90, bad id 0xffffffff PCI: devfn 0x98, bad id 0xffffffff PCI: devfn 0xa0, bad id 0xffffffff PCI: devfn 0xa8, bad id 0xffffffff PCI: devfn 0xb0, bad id 0xffffffff PCI: devfn 0xb8, bad id 0xffffffff PCI: devfn 0xc0, bad id 0xffffffff PCI: devfn 0xc8, bad id 0xffffffff PCI: devfn 0xd0, bad id 0xffffffff PCI: devfn 0xd8, bad id 0xffffffff PCI: devfn 0xe0, bad id 0xffffffff PCI: devfn 0xe8, bad id 0xffffffff PCI: devfn 0xf0, bad id 0xffffffff PCI: devfn 0xf8, bad id 0xffffffff PCI: pci_scan_bus returning with max=001 do_pci_scan_bridge returns max 1 scan_static_bus for PCI: 00:11.0 scan_static_bus for PCI: 00:11.0 done PCI: pci_scan_bus returning with max=001 scan_static_bus for Root Device done done Allocating resources... Reading resources... Root Device compute_allocate_io: base: 00000400 size: 00000000 align: 0 gran: 0 Root Device read_resources bus 0 link: 0 Entering cn700 pci_domain_read_resources. Leaving cn700 pci_domain_read_resources. PCI_DOMAIN: 0000 read_resources bus 0 link: 0 PCI_DOMAIN: 0000 read_resources bus 0 link: 0 done Root Device read_resources bus 0 link: 0 done PCI: 00:0f.0 24 * [0x00000400 - 0x000004ff] io PCI: 00:11.5 10 * [0x00000800 - 0x000008ff] io PCI: 00:12.0 10 * [0x00000c00 - 0x00000cff] io PCI: 00:0a.0 14 * [0x00001000 - 0x0000107f] io PCI: 00:10.0 20 * [0x00001080 - 0x0000109f] io PCI: 00:10.1 20 * [0x000010a0 - 0x000010bf] io PCI: 00:10.2 20 * [0x000010c0 - 0x000010df] io PCI: 00:10.3 20 * [0x000010e0 - 0x000010ff] io PCI: 00:0f.0 20 * [0x00001400 - 0x0000140f] io PCI: 00:0f.1 20 * [0x00001410 - 0x0000141f] io PCI: 00:0f.0 10 * [0x00001420 - 0x00001427] io PCI: 00:0f.0 18 * [0x00001430 - 0x00001437] io PCI: 00:0f.0 14 * [0x00001440 - 0x00001443] io PCI: 00:0f.0 1c * [0x00001450 - 0x00001453] io Root Device compute_allocate_io: base: 00001454 size: 00001054 align: 8 gran: 0 done Root Device compute_allocate_mem: base: 00000000 size: 00000000 align: 0 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:0a.0 10 * [0x00000000 - 0x000007ff] mem PCI: 00:10.4 10 * [0x00001000 - 0x000010ff] mem PCI: 00:10.5 10 * [0x00002000 - 0x000020ff] mem PCI: 00:12.0 14 * [0x00003000 - 0x000030ff] mem Root Device compute_allocate_mem: base: 00003100 size: 00003100 align: 11 gran: 0 done Done reading resources. Setting resources... Root Device compute_allocate_io: base: 00001000 size: 00001054 align: 8 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:0f.0 24 * [0x00001000 - 0x000010ff] io PCI: 00:11.5 10 * [0x00001400 - 0x000014ff] io PCI: 00:12.0 10 * [0x00001800 - 0x000018ff] io PCI: 00:0a.0 14 * [0x00001c00 - 0x00001c7f] io PCI: 00:10.0 20 * [0x00001c80 - 0x00001c9f] io PCI: 00:10.1 20 * [0x00001ca0 - 0x00001cbf] io PCI: 00:10.2 20 * [0x00001cc0 - 0x00001cdf] io PCI: 00:10.3 20 * [0x00001ce0 - 0x00001cff] io PCI: 00:0f.0 20 * [0x00002000 - 0x0000200f] io PCI: 00:0f.1 20 * [0x00002010 - 0x0000201f] io PCI: 00:0f.0 10 * [0x00002020 - 0x00002027] io PCI: 00:0f.0 18 * [0x00002030 - 0x00002037] io PCI: 00:0f.0 14 * [0x00002040 - 0x00002043] io PCI: 00:0f.0 1c * [0x00002050 - 0x00002053] io Root Device compute_allocate_io: base: 00002054 size: 00001054 align: 8 gran: 0 done Root Device compute_allocate_mem: base: febfc800 size: 00003100 align: 11 gran: 0 Root Device read_resources bus 0 link: 0 Root Device read_resources bus 0 link: 0 done PCI: 00:0a.0 10 * [0xfebfd000 - 0xfebfd7ff] mem PCI: 00:10.4 10 * [0xfebfe000 - 0xfebfe0ff] mem PCI: 00:10.5 10 * [0xfebff000 - 0xfebff0ff] mem PCI: 00:12.0 14 * [0xfec00000 - 0xfec000ff] mem Root Device compute_allocate_mem: base: fec00100 size: 00003900 align: 11 gran: 0 done Root Device assign_resources, bus 0 link: 0 Entering cn700 pci_domain_set_resources. mc_dev located at 0x11660 ERROR! register 0x5b is not set! ERROR! register 0x5c is not set! ERROR! register 0x5d is not set! I would set ram size to 0x204000 Kbytes PCI_DOMAIN: 0000 assign_resources, bus 0 link: 0 PCI: 00:0a.0 10 <- [0x00febfd000 - 0x00febfd7ff] mem PCI: 00:0a.0 14 <- [0x0000001c00 - 0x0000001c7f] io PCI: 00:0f.0 10 <- [0x0000002020 - 0x0000002027] io PCI: 00:0f.0 14 <- [0x0000002040 - 0x0000002043] io PCI: 00:0f.0 18 <- [0x0000002030 - 0x0000002037] io PCI: 00:0f.0 1c <- [0x0000002050 - 0x0000002053] io PCI: 00:0f.0 20 <- [0x0000002000 - 0x000000200f] io PCI: 00:0f.0 24 <- [0x0000001000 - 0x00000010ff] io PCI: 00:0f.1 20 <- [0x0000002010 - 0x000000201f] io PCI: 00:10.0 20 <- [0x0000001c80 - 0x0000001c9f] io PCI: 00:10.1 20 <- [0x0000001ca0 - 0x0000001cbf] io PCI: 00:10.2 20 <- [0x0000001cc0 - 0x0000001cdf] io PCI: 00:10.3 20 <- [0x0000001ce0 - 0x0000001cff] io PCI: 00:10.4 10 <- [0x00febfe000 - 0x00febfe0ff] mem PCI: 00:10.5 10 <- [0x00febff000 - 0x00febff0ff] mem PCI: 00:11.5 10 <- [0x0000001400 - 0x00000014ff] io PCI: 00:12.0 10 <- [0x0000001800 - 0x00000018ff] io PCI: 00:12.0 14 <- [0x00fec00000 - 0x00fec000ff] mem PCI_DOMAIN: 0000 assign_resources, bus 0 link: 0 Root Device assign_resources, bus 0 link: 0 Done setting resources. Done allocating resources. Enabling resources... PCI: 00:00.0 cmd <- 146 PCI: 00:00.1 subsystem <- 00/00 PCI: 00:00.1 cmd <- 146 PCI: 00:00.2 subsystem <- 00/00 PCI: 00:00.2 cmd <- 146 PCI: 00:00.3 subsystem <- 00/00 PCI: 00:00.3 cmd <- 146 PCI: 00:00.4 subsystem <- 00/00 PCI: 00:00.4 cmd <- 146 PCI: 00:00.7 subsystem <- 00/00 PCI: 00:00.7 cmd <- 146 PCI: 00:01.0 bridge ctrl <- 0003 PCI: 00:01.0 cmd <- 147 PCI: 00:0a.0 cmd <- 1c3 PCI: 00:0f.0 cmd <- 141 PCI: 00:0f.1 cmd <- 147 PCI: 00:10.0 cmd <- 141 PCI: 00:10.1 cmd <- 141 PCI: 00:10.2 cmd <- 141 PCI: 00:10.3 cmd <- 141 PCI: 00:10.4 cmd <- 142 PCI: 00:10.5 cmd <- 142 PCI: 00:11.0 cmd <- 1c7 PCI: 00:11.5 cmd <- 141 PCI: 00:12.0 cmd <- 1c3 done. Initializing devices... Root Device init APIC_CLUSTER: 0 init malloc Enter, size 668, free_mem_ptr 0001e7d4 malloc 0x0001e7d4 Initializing CPU #0 CPU: vendor Centaur device 6a9 CPU: family 06, model 0a, stepping 09 Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB Setting fixed MTRRs(24-88) Type: WB DONE fixed MTRRs call enable_fixed_mtrr() Setting variable MTRR 0, base: 0MB, range: 512MB, type WB ADDRESS_MASK_HIGH=0xf DONE variable MTRRs Clear out the extra MTRR's call enable_var_mtrr() Leave x86_setup_var_mtrrs
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
Disabling local apic...done. CPU #0 Initialized PCI: 00:00.0 init PCI: 00:00.1 init PCI: 00:00.2 init PCI: 00:00.3 init PCI: 00:00.4 init PCI: 00:00.7 init PCI: 00:01.0 init PCI: 00:0f.0 init Configuring VIA SATA Controller PCI: 00:0f.1 init Enabling Via IDE ide_init: enabling compatibility IDE addresses enables in reg 0x42 0x9 enables in reg 0x42 read back as 0x9 enables in reg 0x9 0x8a enables in reg 0x9 read back as 0x8a command in reg 0x4 0x7 command in reg 0x4 reads back as 0x7 PCI: 00:10.0 init base address for this usb controller is 0xFA01 PCI: 00:10.1 init base address for this usb controller is 0xFB01 PCI: 00:10.2 init base address for this usb controller is 0xFC01 PCI: 00:10.3 init base address for this usb controller is 0xFD01 PCI: 00:11.0 init vt8237r init RTC Init Invalid CMOS LB checksum pci_routing_fixup: dev is 0000f440 setting usb1 Assigning IRQ 10 to 0:10.0 Readback = 10 pci_level_irq: current ints are 0x0 pci_level_irq: try to set ints 0x400 Assigning IRQ 10 to 0:10.1 Readback = 10 pci_level_irq: current ints are 0x400 pci_level_irq: try to set ints 0x400 Assigning IRQ 5 to 0:10.2 Readback = 5 pci_level_irq: current ints are 0x400 pci_level_irq: try to set ints 0x420 Assigning IRQ 5 to 0:10.3 Readback = 5 pci_level_irq: current ints are 0x420 pci_level_irq: try to set ints 0x420 Assigning IRQ 11 to 0:10.4 Readback = 11 pci_level_irq: current ints are 0x420 pci_level_irq: try to set ints 0xc20 Assigning IRQ 9 to 0:10.5 Readback = 9 pci_level_irq: current ints are 0xc20 pci_level_irq: try to set ints 0xe20 setting usb2 Assigning IRQ 5 to 0:10.0 Readback = 5 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 5 to 0:10.1 Readback = 5 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 11 to 0:10.2 Readback = 11 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 11 to 0:10.3 Readback = 11 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 9 to 0:10.4 Readback = 9 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 10 to 0:10.5 Readback = 10 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 setting usb3 Assigning IRQ 10 to 0:11.5 Readback = 10 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 setting audio setting nic Assigning IRQ 11 to 0:10.0 Readback = 11 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 11 to 0:10.1 Readback = 11 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 9 to 0:10.2 Readback = 9 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 9 to 0:10.3 Readback = 9 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 10 to 0:10.4 Readback = 10 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 Assigning IRQ 5 to 0:10.5 Readback = 5 pci_level_irq: current ints are 0xe20 pci_level_irq: try to set ints 0xe20 setting vga setting pci slot pci_routing_fixup: DONE PCI: 00:11.5 init Enabling VIA AC'97 Audio. PCI: 00:12.0 init Configuring VIA Rhine LAN PCI: 00:0a.0 init PCI: 00:10.4 init PCI: 00:10.5 init Devices initialized Copying IRQ routing tables to 0xf0000...done. Verifing copy of IRQ routing tables at 0xf0000...done Checking IRQ routing table consistency... check_pirq_routing_table() - irq_routing_table located at: 0x000f0000 /home/amp/linuxbios/LinuxBIOSv2/src/arch/i386/boot/pirq_routing.c: 36:check_pirq_routing_table() - checksum is: 0xb7 but should be: 0x89 done. ACPI: Writing ACPI tables at f0400... ACPI: * FACS ACPI: * DSDT @ 000f04a2 Length 589a ACPI: * FADT ACPI: added table 1/6 Length now 40 ACPI: done. Moving GDT to 0x500...ok Wrote linuxbios table at: 00000530 - 00000b70 checksum 6cdb
Welcome to elfboot, the open sourced starter. January 2002, Eric Biederman. Version 1.3
rom_stream: 0xfffc0000 - 0xfffdbfff Found ELF candidate at offset 0 header_offset is 0 Try to load at offset 0x0 malloc Enter, size 32, free_mem_ptr 0001ea70 malloc 0x0001ea70 New segment addr 0x100000 size 0x4d7c0 offset 0xc0 filesize 0x10328 (cleaned up) New segment addr 0x100000 size 0x4d7c0 offset 0xc0 filesize 0x10328 lb: [0x0000000000004000, 0x0000000000022000) malloc Enter, size 32, free_mem_ptr 0001ea90 malloc 0x0001ea90 New segment addr 0x14d7c0 size 0x48 offset 0x10400 filesize 0x48 (cleaned up) New segment addr 0x14d7c0 size 0x48 offset 0x10400 filesize 0x48 lb: [0x0000000000004000, 0x0000000000022000) Dropping non PT_LOAD segment Dropping non PT_LOAD segment Loading Segment: addr: 0x0000000000100000 memsz: 0x000000000004d7c0 filesz: 0x0000000000010328 [ 0x0000000000100000, 0000000000110328, 0x000000000014d7c0) <- 00000000000000c0 Clearing Segment: addr: 0x0000000000110328 memsz: 0x000000000003d498 Loading Segment: addr: 0x000000000014d7c0 memsz: 0x0000000000000048 filesz: 0x0000000000000048 [ 0x000000000014d7c0, 000000000014d808, 0x000000000014d808) <- 0000000000010400 Loaded segments verified segments closed down stream Jumping to boot code at 0x10beb0 entry = 0x0010beb0 lb_start = 0x00004000 lb_size = 0x0001e000 adjust = 0x1ffde000 buffer = 0x1ffc4000 elf_boot_notes = 0x00017cc0 adjusted_boot_notes = 0x1fff5cc0 FILO version 0.5 (amp@ampmobile) Thu Jul 26 03:53:27 EDT 2007 collect_sys_info: boot eax = 0xe1fb007 collect_sys_info: boot ebx = 0x1fff5cc0 collect_sys_info: boot arg = 0x1fff5cc0 malloc_diag: alloc: 0 bytes (0 blocks), free: 65528 bytes (1 blocks) malloc_diag: alloc: 24 bytes (1 blocks), free: 65504 bytes (1 blocks) collect_elfboot_info: Bootloader: elfboot collect_elfboot_info: Version: 1.3 malloc_diag: alloc: 40 bytes (2 blocks), free: 65488 bytes (1 blocks) collect_linuxbios_info: Searching for LinuxBIOS tables... find_lb_table: Found canidate at: 00000530 find_lb_table: header checksum o.k. find_lb_table: table checksum o.k. find_lb_table: record count o.k. collect_linuxbios_info: Found LinuxBIOS table at: 00000530 convert_memmap: 0x00000000000000 0x00000000000bd4 16 convert_memmap: 0x00000000000bd4 0x0000000009f42c 1 convert_memmap: 0x000000000c0000 0x00000000030000 1 convert_memmap: 0x000000000f0000 0x00000000010000 16 convert_memmap: 0x00000000100000 0x0000001ff00000 1 collect_sys_info: 0000000000000bd4-00000000000a0000 collect_sys_info: 00000000000c0000-00000000000f0000 collect_sys_info: 0000000000100000-0000000020000000 collect_sys_info: RAM 512 MB relocate: Current location: 0x100000-0x14d807 relocate: Relocating to 0x1ffb27f0-0x1ffffff7... ok setup_timers: CPU 800 MHz pci_init: Scanning PCI: found 19 devices malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) pci_init: 00:00.0 1106:0314 0600 00 pci_init: 00:00.1 1106:1314 0600 00 pci_init: 00:00.2 1106:2314 0600 00 pci_init: 00:00.3 1106:3208 0600 00 pci_init: 00:00.4 1106:4314 0600 00 pci_init: 00:00.7 1106:7314 0600 00 pci_init: 00:01.0 1106:b198 0604 00 pci_init: 00:0a.0 1106:3044 0c00 10 pci_init: 00:0f.0 1106:3149 0101 8f pci_init: 00:0f.1 1106:0571 0101 8a pci_init: 00:10.0 1106:3038 0c03 00 pci_init: 00:10.1 1106:3038 0c03 00 pci_init: 00:10.2 1106:3038 0c03 00 pci_init: 00:10.3 1106:3038 0c03 00 pci_init: 00:10.4 1106:3104 0c03 20 pci_init: 00:10.5 1106:d104 0280 00 pci_init: 00:11.0 1106:3227 0601 00 pci_init: 00:11.5 1106:3059 0401 00 pci_init: 00:12.0 1106:3065 0200 00 No sound device found boot: sda1:/vmlinuz initrd=/initrd.gz root=/dev/sda1 malloc_diag: alloc: 336 bytes (4 blocks), free: 65192 bytes (1 blocks) malloc_diag: alloc: 352 bytes (5 blocks), free: 65176 bytes (1 blocks) file_open: dev=sda1, path=/vmlinuz Unknown device type devopen: failed to parse device name: sda1 malloc_diag: alloc: 336 bytes (4 blocks), free: 65192 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) fallback boot: sda1:/vmlinuz initrd=/initrd.gz root=/dev/sda1 malloc_diag: alloc: 336 bytes (4 blocks), free: 65192 bytes (1 blocks) malloc_diag: alloc: 352 bytes (5 blocks), free: 65176 bytes (1 blocks) file_open: dev=hda1, path=/vmlinuz find_ide_controller: found PCI IDE controller 1106:3149 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x2020 ctrl_base=0x2040 ide_software_reset: Waiting for ide0 to become ready for reset... ok init_drive: Testing for hda init_drive: Probing for hda init_drive: LBA mode, sectors=160836480 init_drive: LBA48 mode, sectors=160836480 init_drive: Init device params... ok hda: LBA48 82GB: HDS728080PLA380 init_drive: Testing for hdb init_drive: Testing for hdb ide_readmany: sector 0 to 001105c0 devopen: Partition 1 start 63 length 156456972 ide_readmany: sector 63 to 001183c0 ide_readmany: sector 65 to 001107c0 ide_readmany: sector 66 to 001109c0 Unknown filesystem type malloc_diag: alloc: 336 bytes (4 blocks), free: 65192 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hda malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hda, path=<NULL> malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) elf_load: Not a bootable ELF image malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hda, path=<NULL> devopen: already open malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) ide_readmany: sector 1 to 001107c0 load_linux_header: This looks like a bootdisk image but not like Linux... Unsupported image format malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdah b malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdb, path=<NULL> Drive 1 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdb v malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdv, path=<NULL> Unsupported drive number devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdv c malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdc, path=<NULL> find_ide_controller: found PCI IDE controller 1106:3149 prog_if=0x8f find_ide_controller: secodary channel: native PCI mode find_ide_controller: cmd_base=0x2030 ctrl_base=0x2050 ide_software_reset: Waiting for ide1 to become ready for reset... ok IDE time out No drive detected on IDE channel 1 devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdc d malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdd, path=<NULL> Drive 3 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdd e malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hde, path=<NULL> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1e8 ctrl_base=0x3ec Detected floating bus No drive detected on IDE channel 2 devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hde f malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdf, path=<NULL> Drive 5 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdf g malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdg, path=<NULL> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: secodary channel: compatibility mode find_ide_controller: cmd_base=0x168 ctrl_base=0x36c Detected floating bus No drive detected on IDE channel 3 devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdg h malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdh, path=<NULL> Drive 7 does not exist devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdh i malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdi, path=<NULL> Unsupported drive number devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdi j malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hdj, path=<NULL> Unsupported drive number devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks) boot: hdj
On Thu, Jul 26, 2007 at 05:25:50AM -0400, Corey Osgood wrote:
You could also try using my FILO IDE patch with the debugging suggested in my message, it may provide some more debugging hints:
Still no dice, doesn't seem to give any extra info (with your patch and debugging). New log file attached, FILO can now find an SATA drive (formatted in reiserfs, which I didn't include support for in FILO).
Add the reiserfs support to FILO and it should load the kernel.
IDE is still showing up as a floating bus.
No?
[..]
file_open: dev=hda1, path=/vmlinuz find_ide_controller: found PCI IDE controller 1106:3149 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x2020 ctrl_base=0x2040 ide_software_reset: Waiting for ide0 to become ready for reset... ok init_drive: Testing for hda init_drive: Probing for hda init_drive: LBA mode, sectors=160836480 init_drive: LBA48 mode, sectors=160836480 init_drive: Init device params... ok hda: LBA48 82GB: HDS728080PLA380
Bingo, here's an LBA48 82GB disk on hda.
init_drive: Testing for hdb init_drive: Testing for hdb ide_readmany: sector 0 to 001105c0 devopen: Partition 1 start 63 length 156456972 ide_readmany: sector 63 to 001183c0 ide_readmany: sector 65 to 001107c0 ide_readmany: sector 66 to 001109c0 Unknown filesystem type
It's reading the partition table and tries to read a magic superblock, but FILO doesn't recognize what it is and gives up.
[..]
file_open: dev=hda, path=<NULL> devopen: already open malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) ide_readmany: sector 1 to 001107c0 load_linux_header: This looks like a bootdisk image but not like Linux... Unsupported image format
Then FILO tries to boot a kernel written directly to the start of the block device.
.. and then hdb..hdj are tried manually.
Add reiserfs to FILO and try again. :)
Note that my patch will not give as much improvement with reiser as with ext2. I've only patched ext2 to read multiple blocks,it should be done in the other fs drivers too.
(But using 32-bit IO should shorten the time by half at least.)
//Peter
Peter Stuge wrote:
On Thu, Jul 26, 2007 at 05:25:50AM -0400, Corey Osgood wrote:
You could also try using my FILO IDE patch with the debugging suggested in my message, it may provide some more debugging hints:
Still no dice, doesn't seem to give any extra info (with your patch and debugging). New log file attached, FILO can now find an SATA drive (formatted in reiserfs, which I didn't include support for in FILO).
Add the reiserfs support to FILO and it should load the kernel.
IDE is still showing up as a floating bus.
No?
Yes, read on
file_open: dev=hda1, path=/vmlinuz find_ide_controller: found PCI IDE controller 1106:3149 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x2020 ctrl_base=0x2040 ide_software_reset: Waiting for ide0 to become ready for reset... ok init_drive: Testing for hda init_drive: Probing for hda init_drive: LBA mode, sectors=160836480 init_drive: LBA48 mode, sectors=160836480 init_drive: Init device params... ok hda: LBA48 82GB: HDS728080PLA380
Bingo, here's an LBA48 82GB disk on hda.
device 0x3149 is the SATA controller, the 82GB drive is SATA. Magnus (and I) need IDE ;)
devopen: already open malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) ide_readmany: sector 1 to 001107c0 load_linux_header: This looks like a bootdisk image but not like Linux... Unsupported image format
file_open: dev=hda, path=<NULL>
Then FILO tries to boot a kernel written directly to the start of the block device.
.. and then hdb..hdj are tried manually.
hde is the first IDE (or PATA if you prefer) device, where I've been connecting drives to. And yes, 0x0571 is the same device id as vt8235, vt8231, vt82cxxx, etc use for ide:
malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 312 bytes (5 blocks), free: 65216 bytes (1 blocks) file_open: dev=hde, path=<NULL> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1e8 ctrl_base=0x3ec Detected floating bus No drive detected on IDE channel 2 devopen: failed to open ide malloc_diag: alloc: 296 bytes (4 blocks), free: 65232 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks)
Add reiserfs to FILO and try again. :)
Yeah, had already planned on it, just to see if Linux will boot correctly. But Magnus's drive is ext2, so that's what I'm mostly concerned with.
-Corey
On Thu, Jul 26, 2007 at 03:55:11PM -0400, Corey Osgood wrote:
IDE is still showing up as a floating bus.
No?
Yes, read on
Ahh. I see.
find_ide_controller: found PCI IDE controller 1106:3149 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x2020 ctrl_base=0x2040 hda: LBA48 82GB: HDS728080PLA380
Bingo, here's an LBA48 82GB disk on hda.
device 0x3149 is the SATA controller, the 82GB drive is SATA. Magnus (and I) need IDE ;)
Doh! Sorry I didn't catch this.
file_open: dev=hde, path=<NULL> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1e8 ctrl_base=0x3ec Detected floating bus
The floating detection is rather stupid, it says floating if a couple of registers read back 0xff.
How is the device configured? cmd_base and ctrl_base are hard-coded in FILO when the device is in compatibility mode. The IO ports are only read from PCI config space for native PCI mode controllers.
When you set the IDE device to compat mode is it fixed to those ports or how does it work?
Also - can you try not setting the IDE device to compat mode but rather to native PCI mode - compat is for DOS anyway. ;)
//Peter
Peter Stuge wrote:
On Thu, Jul 26, 2007 at 03:55:11PM -0400, Corey Osgood wrote:
find_ide_controller: found PCI IDE controller 1106:3149 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x2020 ctrl_base=0x2040 hda: LBA48 82GB: HDS728080PLA380
Bingo, here's an LBA48 82GB disk on hda.
device 0x3149 is the SATA controller, the 82GB drive is SATA. Magnus (and I) need IDE ;)
Doh! Sorry I didn't catch this.
On the bright side, adding reiserfs to filo and booting from SATA does at least half work, but the SuSE install on that drive was set up for an intel board, and didn't have the via sata modules in initrd (and I'm too lazy to fix it).
file_open: dev=hde, path=<NULL> find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8a find_ide_controller: primary channel: compatibility mode find_ide_controller: cmd_base=0x1e8 ctrl_base=0x3ec Detected floating bus
The floating detection is rather stupid, it says floating if a couple of registers read back 0xff.
How is the device configured? cmd_base and ctrl_base are hard-coded in FILO when the device is in compatibility mode. The IO ports are only read from PCI config space for native PCI mode controllers.
Bingo, that explains it. The device defaults to different IO ports than FILO expects, the same IO ports that SATA defaults to. Oops.
When you set the IDE device to compat mode is it fixed to those ports or how does it work?
Also - can you try not setting the IDE device to compat mode but rather to native PCI mode - compat is for DOS anyway. ;)
Tried that as well, with no luck:
boot: hde1:/vmlinuz initrd=/initrd.gz root=/dev/hde1 console=tty0 console=ttyS0,115200 malloc_diag: alloc: 376 bytes (4 blocks), free: 65152 bytes (1 blocks) malloc_diag: alloc: 392 bytes (5 blocks), free: 65136 bytes (1 blocks) file_open: dev=hde1, path=/vmlinuz find_ide_controller: found PCI IDE controller 1106:0571 prog_if=0x8f find_ide_controller: primary channel: native PCI mode find_ide_controller: cmd_base=0x0 ctrl_base=0x0 Detected floating bus No drive detected on IDE channel 2 devopen: failed to open ide malloc_diag: alloc: 376 bytes (4 blocks), free: 65152 bytes (1 blocks) malloc_diag: alloc: 280 bytes (3 blocks), free: 65248 bytes (1 blocks)
Seems I still failed somewhere (and I did set the command and control ports). Looking further at the factory bios, I was wrong, the factory BIOS does use compatibility mode. There's also comments in the vt8235 code that lead me to believe that even if I did get native mode working, the performance is better with compatibility mode (this may have been fixed within linux though). I'm about to go through the fun of disabling the SATA device and see if I can get IDE working without having to worry about that conflict, and then try to get at least one mode working.
Thanks, Corey
On Sat, Jul 28, 2007 at 12:07:51AM -0400, Corey Osgood wrote:
How is the device configured? cmd_base and ctrl_base are hard-coded in FILO when the device is in compatibility mode. The IO ports are only read from PCI config space for native PCI mode controllers.
Bingo, that explains it. The device defaults to different IO ports than FILO expects, the same IO ports that SATA defaults to. Oops.
Ok.
Also - can you try not setting the IDE device to compat mode but rather to native PCI mode - compat is for DOS anyway. ;)
Tried that as well, with no luck:
[..]
I'm about to go through the fun of disabling the SATA device and see if I can get IDE working without having to worry about that conflict, and then try to get at least one mode working.
You can of course also hack the correct ports into FILO at least for testing.
If you make cmd_base port n and ctrl_base n+0x204 just change to #define IDE_BASEx n right at the start of ide.c and find_ide_controller_compat() should do the right thing.
//Peter
It's fixed and booting very happily now, thanks!
-Corey
Peter Stuge wrote:
On Sat, Jul 28, 2007 at 12:07:51AM -0400, Corey Osgood wrote:
How is the device configured? cmd_base and ctrl_base are hard-coded in FILO when the device is in compatibility mode. The IO ports are only read from PCI config space for native PCI mode controllers.
Bingo, that explains it. The device defaults to different IO ports than FILO expects, the same IO ports that SATA defaults to. Oops.
Ok.
Also - can you try not setting the IDE device to compat mode but rather to native PCI mode - compat is for DOS anyway. ;)
Tried that as well, with no luck:
[..]
I'm about to go through the fun of disabling the SATA device and see if I can get IDE working without having to worry about that conflict, and then try to get at least one mode working.
You can of course also hack the correct ports into FILO at least for testing.
If you make cmd_base port n and ctrl_base n+0x204 just change to #define IDE_BASEx n right at the start of ide.c and find_ide_controller_compat() should do the right thing.
//Peter
* Corey Osgood corey.osgood@gmail.com [070729 17:08]:
It's fixed and booting very happily now, thanks!
is that on a C7?
Stefan Reinauer wrote:
- Corey Osgood corey.osgood@gmail.com [070729 17:08]:
It's fixed and booting very happily now, thanks!
is that on a C7?
Yes, c7, cn700, vt8237r. No video yet and USB is causing kernel warnings, but I can log in and use the system through serial.
-Corey
Corey Osgood wrote:
Yes, c7, cn700, vt8237r. No video yet and USB is causing kernel warnings, but I can log in and use the system through serial.
-Corey
you rock!