Hello,
LegacyBIOS could be added to coreboot.rom by lar tool now. I modified the Makefile in arch/x86 I am now a little lost in x86emu of coreboot v3. And I have some questions. Please help me.
1. What is the address of post() in LegacyBIOS?
and then how can we call the post() function?
Well, that will require some work. :-) Take a look at how the build exports the assembler stub "post32" (in post.c) - which calls _start() (also in post.c).
asm( ".global post32\n" "post32:\n" "cli\n" "cld\n" "lidtl " __stringify(0xf0000 | OFFSET_pmode_IDT_info) "\n" "lgdtl " __stringify(0xf0000 | OFFSET_rombios32_gdt_48) "\n" "movl $" __stringify(BUILD_STACK_ADDR) ", %esp\n" "ljmp $0x10, $_start\n" );
According to these asm codes, we should load the idt and gdt and set the stack point esp before we jump to the start() function. But these codes are in LegacyBIOS, so "_start" can be used to present the address of start(). How can I call post outside LegacyBIOS but just use the bios.bin file(copied to 0xf0000)? Can this function have a fixed address? or is there another approach?
2. How to modify the post() method in LegacyBIOS? post() will auto boot the system at the end. But we want it return to coreboot. So what is the boot code at the end of the function? Is this?
init_boot_vectors();
dprintf(1, "Scan for option roms\n"); rom_scan(0xc8000, 0xe0000);
May be we could write another funcion post_noboot() without the boot code and have a fixed address?
3. How to get the address of idt of LegacyBIOS? "lidtl " __stringify(0xf0000 | OFFSET_pmode_IDT_info) "\n" "lgdtl " __stringify(0xf0000 | OFFSET_rombios32_gdt_48) "\n" "movl $" __stringify(BUILD_STACK_ADDR) ", %esp\n"
I noticed that OFFSET_pmode_IDT_info is defined in rom16.offset.auto.h. But this header file is generated in building process and I do not find the rule for it in the Makefile. So I want to know how can I get the value of OFFSET_pmode_IDT_info? So do OFFSET_rombios32_gdt_48 and BUILD_STACK_ADDR.
Kevin, could you help me with these three questions? Thanks.
4. Where is the entrance call of util/x86emu in coreboot v3? There are several x86EMU_XXX function exported in e86emu.h. But they are called only in run_bios() in biosemu.c. I placed a printk at the beginning of run_bios() but it seems not executed. How does the codes in util/x86emu used? Where is the entrance call of util/x86emu in coreboot v3? Where should I place the code to extract LegacyBIOS to the memory? Should I write a new function and export it?
Stefan, could you help me with this question? Thanks.
Best regards.
Zhang Rui
Hi,
On Wed, Jun 25, 2008 at 02:53:03PM +0800, Zhang Rui wrote:
- What is the address of post() in LegacyBIOS?
The address of post() is dynamic.
and then how can we call the post() function?
Well, that will require some work. :-) Take a look at how the build exports the assembler stub "post32" (in post.c) - which calls _start() (also in post.c).
[...]
How can I call post outside LegacyBIOS but just use the bios.bin file(copied to 0xf0000)? Can this function have a fixed address? or is there another approach?
The post() function should not be put at a fixed address. You should export any addresses you need during the build and then teach coreboot to import those addresses.
- How to modify the post() method in LegacyBIOS?
post() will auto boot the system at the end. But we want it return to coreboot. So what is the boot code at the end of the function? Is this?
init_boot_vectors(); dprintf(1, "Scan for option roms\n"); rom_scan(0xc8000, 0xe0000);
The post() function itself doesn't attempt to boot the system. It's the last few parts of the _start() function that does this. In particular the call to 'int 0x19' starts the boot phase.
May be we could write another funcion post_noboot() without the boot code and have a fixed address?
Yes, you probably want to introduce a "post32_noboot" in addition to the existing "post32" asm code. You should not introduce any additional fixed addresses.
- How to get the address of idt of LegacyBIOS?
The idt is internal to LegacyBIOS. Coreboot should not know about it. I recommend you have your "post32_noboot" set the idt on entry and restore it on exit.
There are bigger issues hiding here. In order to call out to LegacyBIOS and return from it, you'll need to ensure that LegacyBIOS does not overwrite coreboot's idt, gdt, stack, or any important memory areas. Further, later on coreboot will need to call back into 16 bit mode to actually make use of the SCSI option rom. In the time between returning to coreboot and coreboot calling back into 16bit mode, you must ensure coreboot does not overwrite any of the memory areas LegacyBIOS has initialized.
Making sure the two programs do not conflict with each other could be difficult. As such, I am not convinced that returning to coreboot is a good idea.
I noticed that OFFSET_pmode_IDT_info is defined in rom16.offset.auto.h. But this header file is generated in building process and I do not find the rule for it in the Makefile. So I want to know how can I get the value of OFFSET_pmode_IDT_info? So do OFFSET_rombios32_gdt_48 and BUILD_STACK_ADDR.
BUILD_STACK_ADDR is defined in config.h.
The rom16.offset.auto.h is generated by this rule in the Makefile:
$(OUT)%.offset.auto.h: $(OUT)%.o @echo " Generating symbol offset header $@" $(Q)nm $< | ./tools/defsyms.py $@
-Kevin
Hello Stefan,
2008/6/25, Zhang Rui zrfail@gmail.com:
- Where is the entrance call of util/x86emu in coreboot v3?
There are several x86EMU_XXX function exported in e86emu.h. But they are called only in run_bios() in biosemu.c. I placed a printk at the beginning of run_bios() but it seems not executed. How does the codes in util/x86emu used? Where is the entrance call of util/x86emu in coreboot v3? Where should I place the code to extract LegacyBIOS to the memory? Should I write a new function and export it?
Stefan, could you help me with this question? Thanks.
I finally find that in arch/x86/, function pci_dev_init() called run_bios() in util/x86emu. The order is : pci_dev_init -->pci_rom_probe -->run_bios(vm86.c/biosemu.c)
my problem is: in pci_rom_probe, most rom_address is 0 and return NULL; only one rom_address is 0x c0000 but the rom_header->signature is 0 so it also return NULL.
So no run_bios is running.
How can I get run_bios() running and test my code in it?
Best regards.
Zhang Rui
Here is the output of qemu:
coreboot-3.0. Thu Jun 19 10:21:30 CST 2008 starting... Choosing fallback boot. LAR: Attempting to open 'fallback/initram/segment0'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: seen member normal/stage2/segment0 LAR: seen member normal/stage2/segment1 LAR: seen member normal/stage2/segment2 LAR: seen member bootblock LAR: File not found! LAR: Run file fallback/initram/segment0 failed: No such file. Fallback failed. Try normal boot LAR: Attempting to open 'normal/initram/segment0'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: CHECK normal/initram/segment0 @ 0xfffc0400 start 0xfffc0450 len 432 reallen 432 compression 0 entry 0x00000042 loadaddress 0x00000000 Entry point is 0xfffc0492 RAM init code started. Nothing to do. printktest1: If the immediately preceding line does not say "Nothing to do.", then execution did not start at main() Trying absolute call from non-_MAINOBJECT XIP code. Absolute call successful. Done. run_file returns with 0 Done RAM init code LAR: Attempting to open 'normal/stage2/segment0'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: seen member normal/stage2/segment0 LAR: CHECK normal/stage2/segment0 @ 0xfffc0600 start 0xfffc0650 len 1 reallen 192928 compression 3 entry 0x00002000 loadaddress 0x00013e20 LAR: Compression algorithm #3 (zeroes) used LAR: Attempting to open 'normal/stage2/segment1'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: seen member normal/stage2/segment0 LAR: seen member normal/stage2/segment1 LAR: CHECK normal/stage2/segment1 @ 0xfffc0660 start 0xfffc06b0 len 27389 reallen 62884 compression 1 entry 0x00002000 loadaddress 0x00002000 LAR: Compression algorithm #1 (lzma) used LAR: Attempting to open 'normal/stage2/segment2'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: seen member normal/stage2/segment0 LAR: seen member normal/stage2/segment1 LAR: seen member normal/stage2/segment2 LAR: CHECK normal/stage2/segment2 @ 0xfffc71b0 start 0xfffc7200 len 774 reallen 7696 compression 1 entry 0x00002000 loadaddress 0x00012000 LAR: Compression algorithm #1 (lzma) used LAR: Attempting to open 'normal/stage2/segment3'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: seen member normal/stage2/segment0 LAR: seen member normal/stage2/segment1 LAR: seen member normal/stage2/segment2 LAR: seen member bootblock LAR: File not found! LAR: load_file: No such file 'normal/stage2/segment3' LAR: load_file_segments: All loaded, entry 0x00002000 Phase 1: Very early setup... Phase 1: done Show all devs... root(Root Device): enabled 1 have_resources 0 initialized 0 cpus: Unknown device path type: 0 cpus(): enabled 1 have_resources 0 initialized 0 pci_0_0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 pci_1_0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 0 bus_0(PCI_BUS: 0000): enabled 1 have_resources 0 initialized 0 domain_0(PCI_DOMAIN: 0000): enabled 1 have_resources 0 initialized 0 Phase 2: Early setup... dev_phase2: dev root: ops 0x00012020 ops->phase2_setup_scan_bus 0x00000000 dev_phase2: dev cpus: ops 0x00000000 ops->phase2_setup_scan_bus 0x00000000 dev_phase2: dev pci_0_0: ops 0x00000000 ops->phase2_setup_scan_bus 0x00000000 dev_phase2: dev pci_1_0: ops 0x00013500 ops->phase2_setup_scan_bus 0x00000000 dev_phase2: dev bus_0: ops 0x00000000 ops->phase2_setup_scan_bus 0x00000000 dev_phase2: dev domain_0: ops 0x00013440 ops->phase2_setup_scan_bus 0x00000000 Phase 2: Done. Show all devs... root(Root Device): enabled 1 have_resources 0 initialized 0 cpus: Unknown device path type: 0 cpus(): enabled 1 have_resources 0 initialized 0 pci_0_0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 pci_1_0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 0 bus_0(PCI_BUS: 0000): enabled 1 have_resources 0 initialized 0 domain_0(PCI_DOMAIN: 0000): enabled 1 have_resources 0 initialized 0 Phase 3: Enumerating buses... dev_phase3_scan: scanning root(Root Device) scan_static_bus for root (Root Device) cpus: Unknown device path type: 0 cpus() enabled dev_phase5: bus_0(PCI_BUS: 0000) missing ops domain_0(PCI_DOMAIN: 0000) enabled domain_0(PCI_DOMAIN: 0000) scanning... dev_phase3_scan: scanning domain_0(PCI_DOMAIN: 0000) pci_scan_bus start bus 0x00012a80, bus->dev 0x00012840 PCI: pci_scan_bus for bus 00 pci_scan_bus: old_devices 0x00012b40, dev for this bus 0x00012840 (domain_0) PCI: scan devfn 0x0 to 0xff PCI: devfn 0x0 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) new_device: devcnt 1 find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 constructor: constructor is 0x00000000 No ops found and no constructor called for PCI: 8086:1237. find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 set_pci_ops: dev 0x0001414c(dynamic PCI: 00:00.0) set ops to 0x000120a0 PCI: 00:00.0 [PCI: 8086:1237] enabled PCI: pci_scan_bus pci_probe_dev returns dev 0x0001414c(dynamic PCI: 00:00.0) PCI: devfn 0x8 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) new_device: devcnt 2 find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 constructor: constructor is 0x00000000 No ops found and no constructor called for PCI: 8086:7000. find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 set_pci_ops: dev 0x00014438(dynamic PCI: 00:01.0) set ops to 0x000120a0 PCI: 00:01.0 [PCI: 8086:7000] enabled PCI: pci_scan_bus pci_probe_dev returns dev 0x00014438(dynamic PCI: 00:01.0) PCI: devfn 0x9 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) new_device: devcnt 3 find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 find_device_operations: match constructor: constructor is 0x00013500 default device constructor called set_pci_ops: dev 0x00014724(dynamic PCI: 00:01.1) already has ops 0x00013500 PCI: 00:01.1 [PCI: 8086:7010] enabled PCI: pci_scan_bus pci_probe_dev returns dev 0x00014724(dynamic PCI: 00:01.1) PCI: devfn 0xa pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xa, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xb pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) new_device: devcnt 4 find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 constructor: constructor is 0x00000000 No ops found and no constructor called for PCI: 8086:7113. find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 set_pci_ops: dev 0x00014a10(dynamic PCI: 00:01.3) set ops to 0x000120a0 PCI: 00:01.3 [PCI: 8086:7113] enabled PCI: pci_scan_bus pci_probe_dev returns dev 0x00014a10(dynamic PCI: 00:01.3) PCI: devfn 0xc pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xc, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xd pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xd, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xe pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xe, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xf pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xf, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x10 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) new_device: devcnt 5 find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: match constructor: constructor is 0x000121c0 default device constructor called set_pci_ops: dev 0x00014cfc(dynamic PCI: 00:02.0) already has ops 0x000121c0 Init VGA device PCI: 00:02.0 [PCI: 1013:00b8] enabled PCI: pci_scan_bus pci_probe_dev returns dev 0x00014cfc(dynamic PCI: 00:02.0) PCI: devfn 0x18 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) new_device: devcnt 6 find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 constructor: constructor is 0x00000000 No ops found and no constructor called for PCI: 10ec:8029. find_device_operations: check all_device_operations[i] 0x000121c0 find_device_operations: cons 0x000121c0, cons id PCI: 1013:00b8 find_device_operations: check all_device_operations[i] 0x00013440 find_device_operations: cons 0x00013440, cons id PCI_DOMAIN: 8086:7190 find_device_operations: check all_device_operations[i] 0x00013500 find_device_operations: cons 0x00013500, cons id PCI: 8086:7010 set_pci_ops: dev 0x00014fe8(dynamic PCI: 00:03.0) set ops to 0x000120a0 PCI: 00:03.0 [PCI: 10ec:8029] enabled PCI: pci_scan_bus pci_probe_dev returns dev 0x00014fe8(dynamic PCI: 00:03.0) PCI: devfn 0x20 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x20, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x28 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x28, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x30 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x30, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x38 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x38, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x40 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x40, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x48 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x48, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x50 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x50, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x58 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x58, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x60 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x60, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x68 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x68, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x70 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x70, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x78 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x78, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x80 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x80, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x88 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x88, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x90 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x90, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0x98 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0x98, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xa0 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xa0, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xa8 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xa8, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xb0 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xb0, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xb8 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xb8, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xc0 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xc0, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xc8 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xc8, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xd0 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xd0, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xd8 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xd8, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xe0 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xe0, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xe8 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xe8, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xf0 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xf0, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: devfn 0xf8 pci_scan_get_dev: list is 0x0008fecc, *list is 0x00012b40 pci_scan_get_dev: check dev bus_0 pci_scan_get_dev: child bus_0(PCI_BUS: 0000) not a pci device: it's type 3 PCI: pci_scan_bus pci_scan_get_dev returns dev None (no dev in tree yet) PCI: devfn 0xf8, bad id 0xffffffff PCI: pci_scan_bus pci_probe_dev returns dev 0x00000000(None (not found)) PCI: Done for loop bus_0 ========== PCI: Left over static devices. ===================================== dev_phase3_scan: dynamic PCI: 00:00.0: busdevice 0x0001414c enabled 1 ops 0x000120a0 dev_phase3_scan: can not scan from here, returning 0 dev_phase3_scan: dynamic PCI: 00:01.0: busdevice 0x00014438 enabled 1 ops 0x000120a0 dev_phase3_scan: can not scan from here, returning 0 dev_phase3_scan: dynamic PCI: 00:01.1: busdevice 0x00014724 enabled 1 ops 0x00013500 dev_phase3_scan: can not scan from here, returning 0 dev_phase3_scan: dynamic PCI: 00:01.3: busdevice 0x00014a10 enabled 1 ops 0x000120a0 dev_phase3_scan: can not scan from here, returning 0 dev_phase3_scan: dynamic PCI: 00:02.0: busdevice 0x00014cfc enabled 1 ops 0x000121c0 dev_phase3_scan: can not scan from here, returning 0 dev_phase3_scan: dynamic PCI: 00:03.0: busdevice 0x00014fe8 enabled 1 ops 0x000120a0 dev_phase3_scan: can not scan from here, returning 0 PCI: pci_scan_bus returning with max=000 dev_phase3_scan: returning 0 scan_static_bus for root(Root Device) done dev_phase3_scan: returning 0 Phase 3: Done. Show all devs... root(Root Device): enabled 1 have_resources 0 initialized 0 cpus: Unknown device path type: 0 cpus(): enabled 1 have_resources 0 initialized 0 pci_0_0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 pci_1_0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 0 bus_0(PCI_BUS: 0000): enabled 1 have_resources 0 initialized 0 domain_0(PCI_DOMAIN: 0000): enabled 1 have_resources 0 initialized 0 dynamic PCI: 00:00.0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 dynamic PCI: 00:01.0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 0 dynamic PCI: 00:01.1(PCI: 00:01.1): enabled 1 have_resources 0 initialized 0 dynamic PCI: 00:01.3(PCI: 00:01.3): enabled 1 have_resources 0 initialized 0 dynamic PCI: 00:02.0(PCI: 00:02.0): enabled 1 have_resources 0 initialized 0 dynamic PCI: 00:03.0(PCI: 00:03.0): enabled 1 have_resources 0 initialized 0 Phase 4: Allocating resources... Phase 4: Reading resources... Root Device compute_allocate_io: base: 00000400 size: 00000000 align: 0 gran: 0 read_resources: root(Root Device) read_resources bus 0 link: 0 read_resources: root(Root Device) dtsname cpus have_resources 0 enabled 1 cpus: Unknown device path type: 0 read_resources: cpus() missing phase4_read_resources read_resources: root(Root Device) dtsname domain_0 have_resources 0 enabled 1 read_resources: domain_0(PCI_DOMAIN: 0000) read_resources bus 0 link: 0 read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:00.0 have_resources 0 enabled 1 read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:01.0 have_resources 0 enabled 1 read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:01.1 have_resources 0 enabled 1 read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:01.3 have_resources 0 enabled 1 read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:02.0 have_resources 0 enabled 1 read_resources: domain_0(PCI_DOMAIN: 0000) dtsname dynamic PCI: 00:03.0 have_resources 0 enabled 1 read_resources: domain_0(PCI_DOMAIN: 0000) read_resources bus 0 link: 0 done read_resources: root(Root Device) read_resources bus 0 link: 0 done PCI: 00:03.0 10 * [0x00000400 - 0x000004ff] io PCI: 00:01.1 20 * [0x00000800 - 0x0000080f] io Root Device compute_allocate_io: base: 00000810 size: 00000410 align: 8 gran: 0 done Root Device compute_allocate_mem: base: 00000000 size: 00000000 align: 0 gran: 0 read_resources: root(Root Device) read_resources bus 0 link: 0 read_resources: root(Root Device) dtsname cpus have_resources 0 enabled 1 cpus: Unknown device path type: 0 read_resources: cpus() missing phase4_read_resources read_resources: root(Root Device) dtsname domain_0 have_resources 1 enabled 1 read_resources: root(Root Device) read_resources bus 0 link: 0 done PCI: 00:02.0 10 * [0x00000000 - 0x01ffffff] prefmem PCI: 00:02.0 14 * [0x02000000 - 0x02000fff] mem Root Device compute_allocate_mem: base: 02001000 size: 02001000 align: 25 gran: 0 done Phase 4: Done reading resources. Allocating VGA resource PCI: 00:02.0 Setting PCI_BRIDGE_CTL_VGA for bridge PCI_DOMAIN: 0000 Setting PCI_BRIDGE_CTL_VGA for bridge Root Device Phase 4: Setting resources... Root Device compute_allocate_io: base: 00001000 size: 00000410 align: 8 gran: 0 read_resources: root(Root Device) read_resources bus 0 link: 0 read_resources: root(Root Device) dtsname cpus have_resources 0 enabled 1 cpus: Unknown device path type: 0 read_resources: cpus() missing phase4_read_resources read_resources: root(Root Device) dtsname domain_0 have_resources 1 enabled 1 read_resources: root(Root Device) read_resources bus 0 link: 0 done PCI: 00:03.0 10 * [0x00001000 - 0x000010ff] io PCI: 00:01.1 20 * [0x00001400 - 0x0000140f] io Root Device compute_allocate_io: base: 00001410 size: 00000410 align: 8 gran: 0 done Root Device compute_allocate_mem: base: fc000000 size: 02001000 align: 25 gran: 0 read_resources: root(Root Device) read_resources bus 0 link: 0 read_resources: root(Root Device) dtsname cpus have_resources 0 enabled 1 cpus: Unknown device path type: 0 read_resources: cpus() missing phase4_read_resources read_resources: root(Root Device) dtsname domain_0 have_resources 1 enabled 1 read_resources: root(Root Device) read_resources bus 0 link: 0 done PCI: 00:02.0 10 * [0xfc000000 - 0xfdffffff] prefmem PCI: 00:02.0 14 * [0xfe000000 - 0xfe000fff] mem Root Device compute_allocate_mem: base: fe001000 size: 02001000 align: 25 gran: 0 done root(Root Device) assign_resources, bus 0 link: 0 Adding RAM resource (134217728 bytes) domain_0(PCI_DOMAIN: 0000) assign_resources, bus 0 link: 0 PCI: 00:01.1 20 <- [0x0000001400 - 0x000000140f] size 0x00000010 gran 0x04 io PCI: 00:02.0 10 <- [0x00fc000000 - 0x00fdffffff] size 0x02000000 gran 0x19 prefmem PCI: 00:02.0 14 <- [0x00fe000000 - 0x00fe000fff] size 0x00001000 gran 0x0c mem PCI: 00:03.0 10 <- [0x0000001000 - 0x00000010ff] size 0x00000100 gran 0x08 io domain_0(PCI_DOMAIN: 0000) assign_resources, bus 0 link: 0 root(Root Device) assign_resources, bus 0 link: 0 Phase 4: Done setting resources. Phase 4: Done allocating resources. Show all devs... root(Root Device): enabled 1 have_resources 0 initialized 0 cpus: Unknown device path type: 0 cpus(): enabled 1 have_resources 0 initialized 0 pci_0_0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 pci_1_0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 0 bus_0(PCI_BUS: 0000): enabled 1 have_resources 0 initialized 0 domain_0(PCI_DOMAIN: 0000): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:00.0(PCI: 00:00.0): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:01.0(PCI: 00:01.0): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:01.1(PCI: 00:01.1): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:01.3(PCI: 00:01.3): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:02.0(PCI: 00:02.0): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:03.0(PCI: 00:03.0): enabled 1 have_resources 1 initialized 0 Phase 5: Enabling resources... cpus: Unknown device path type: 0 dev_phase5: cpus() missing ops pci_dev_enable_resources: dynamic PCI: 00:00.0 (PCI: 00:00.0) cmd <- 140 pci_dev_enable_resources: dynamic PCI: 00:01.0 (PCI: 00:01.0) cmd <- 147 pci_dev_enable_resources: dynamic PCI: 00:01.1 (PCI: 00:01.1) cmd <- 141 pci_dev_enable_resources: dynamic PCI: 00:01.3 (PCI: 00:01.3) cmd <- 140 pci_dev_enable_resources: dynamic PCI: 00:02.0 (PCI: 00:02.0) cmd <- 143 pci_dev_enable_resources: dynamic PCI: 00:03.0 (PCI: 00:03.0) cmd <- 141 Phase 5: Done. Show all devs... root(Root Device): enabled 1 have_resources 0 initialized 0 cpus: Unknown device path type: 0 cpus(): enabled 1 have_resources 0 initialized 0 pci_0_0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 pci_1_0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 0 bus_0(PCI_BUS: 0000): enabled 1 have_resources 0 initialized 0 domain_0(PCI_DOMAIN: 0000): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:00.0(PCI: 00:00.0): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:01.0(PCI: 00:01.0): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:01.1(PCI: 00:01.1): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:01.3(PCI: 00:01.3): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:02.0(PCI: 00:02.0): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:03.0(PCI: 00:03.0): enabled 1 have_resources 1 initialized 0 Phase 6: Initializing devices... Phase 6: Root Device init. Phase 6: PCI: 00:01.0 init. Enabling IDE channel 1 Enabling IDE channel 2 Enabling Legacy IDE Phase 6: PCI: 00:00.0 init. PCI: pci_dev_init Probing for option ROM Phase 6: PCI: 00:01.0 init. PCI: pci_dev_init Probing for option ROM Phase 6: PCI: 00:01.1 init. Enabling IDE channel 1 Enabling IDE channel 2 Enabling Legacy IDE Phase 6: PCI: 00:01.3 init. PCI: pci_dev_init Probing for option ROM Phase 6: PCI: 00:02.0 init. PCI: pci_dev_init Probing for option ROM ROM address for PCI: 00:02.0 = c0000 PCI Expansion ROM, signature 0x0000, INIT size 0x0000, data ptr 0x0000 Incorrect Expansion ROM Header Signature 0000 Phase 6: PCI: 00:03.0 init. PCI: pci_dev_init Probing for option ROM Phase 6: Devices initialized. Show all devs... root(Root Device): enabled 1 have_resources 0 initialized 1 cpus: Unknown device path type: 0 cpus(): enabled 1 have_resources 0 initialized 0 pci_0_0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 pci_1_0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 1 bus_0(PCI_BUS: 0000): enabled 1 have_resources 0 initialized 0 domain_0(PCI_DOMAIN: 0000): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:00.0(PCI: 00:00.0): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:01.0(PCI: 00:01.0): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:01.1(PCI: 00:01.1): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:01.3(PCI: 00:01.3): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:02.0(PCI: 00:02.0): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:03.0(PCI: 00:03.0): enabled 1 have_resources 1 initialized 1 LAR: Attempting to open 'normal/option_table'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: CHECK normal/option_table @ 0xfffc0000 start 0xfffc0050 len 932 reallen 932 compression 0 entry 0x00000000 loadaddress 0x00000000 search_global_resources: mask 4200 type 4200 search_global_resources: dev root, have_resources 0 #resources 2 search_global_resources: dev cpus, have_resources 0 #resources 0 search_global_resources: dev pci_0_0, have_resources 0 #resources 0 search_global_resources: dev pci_1_0, have_resources 0 #resources 0 search_global_resources: dev bus_0, have_resources 0 #resources 0 search_global_resources: dev domain_0, have_resources 1 #resources 3 search_global_resources: dev domain_0, resource 0, flags 40040100 base 0x0 size 0x0 search_global_resources: dev domain_0, resource 1, flags 40040200 base 0x0 size 0x0 search_global_resources: dev domain_0, resource 2, flags e0004200 base 0x0 size 0x8000000 lb_memory_range: start 0x0 size 0x8000000 search_global_resources: dev dynamic PCI: 00:00.0, have_resources 1 #resources 0 search_global_resources: dev dynamic PCI: 00:01.0, have_resources 1 #resources 0 search_global_resources: dev dynamic PCI: 00:01.1, have_resources 1 #resources 1 search_global_resources: dev dynamic PCI: 00:01.1, resource 0, flags 60000100 base 0x1400 size 0x10 search_global_resources: dev dynamic PCI: 00:01.3, have_resources 1 #resources 0 search_global_resources: dev dynamic PCI: 00:02.0, have_resources 1 #resources 2 search_global_resources: dev dynamic PCI: 00:02.0, resource 0, flags 60001200 base 0xfc000000 size 0x2000000 search_global_resources: dev dynamic PCI: 00:02.0, resource 1, flags 60000200 base 0xfe000000 size 0x1000 search_global_resources: dev dynamic PCI: 00:03.0, have_resources 1 #resources 1 search_global_resources: dev dynamic PCI: 00:03.0, resource 0, flags 60000100 base 0x1000 size 0x100 lb_cleanup_memory_ranges: # entries 1 #0: base 0x00000000 size 0x8000000 lb_memory_range: start 0x0 size 0x500 lb_cleanup_memory_ranges: # entries 2 #0: base 0x00000500 size 0x7fffb00 #1: base 0x00000000 size 0x500 lb_memory_range: start 0xf0000 size 0x0 lb_cleanup_memory_ranges: # entries 4 #0: base 0x00000000 size 0x500 #1: base 0x00000500 size 0xefb00 #2: base 0x000f0000 size 0x7f10000 #3: base 0x000f0000 size 0x0 Wrote coreboot table at: 0x00000500 - 0x00000a74 checksum f37f Show all devs... root(Root Device): enabled 1 have_resources 0 initialized 1 cpus: Unknown device path type: 0 cpus(): enabled 1 have_resources 0 initialized 0 pci_0_0(PCI: 00:00.0): enabled 1 have_resources 0 initialized 0 pci_1_0(PCI: 00:01.0): enabled 1 have_resources 0 initialized 1 bus_0(PCI_BUS: 0000): enabled 1 have_resources 0 initialized 0 domain_0(PCI_DOMAIN: 0000): enabled 1 have_resources 1 initialized 0 dynamic PCI: 00:00.0(PCI: 00:00.0): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:01.0(PCI: 00:01.0): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:01.1(PCI: 00:01.1): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:01.3(PCI: 00:01.3): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:02.0(PCI: 00:02.0): enabled 1 have_resources 1 initialized 1 dynamic PCI: 00:03.0(PCI: 00:03.0): enabled 1 have_resources 1 initialized 1 Stage2 code done. LAR: Attempting to open 'normal/payload/segment0'. LAR: Start 0xfffc0000 len 0x40000 LAR: seen member normal/option_table LAR: seen member normal/initram/segment0 LAR: seen member normal/stage2/segment0 LAR: seen member normal/stage2/segment1 LAR: seen member normal/stage2/segment2 LAR: seen member bootblock LAR: File not found! LAR: load_file: No such file 'normal/payload/segment0' LAR: load_file_segments: Failed for normal/payload FATAL: No usable payload found.