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