[coreboot] Question about call LegacyBIOS in the memory(GSoC__SCSI boot)

Zhang Rui zrfail at gmail.com
Sun Jul 6 17:29:04 CEST 2008


Hello Stefan,

2008/6/25, Zhang Rui <zrfail at gmail.com>:
> 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.
>

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.




More information about the coreboot mailing list