acpi_drv / platform_drv support

Joerg-C. Boehme joerg at chaosdorf.de
Wed Feb 24 15:01:26 CET 2021


Hi everyone,

I have some question about the: acpi_drv and platform_drv.

In short:
Is acpi_drv and platform_drv are only supporting hardware boards with PCIe 
?

In detail:
I do following:
make KERNEL=nova run/lighttpd

And start the var/run/lighttpd.iso with qemu-system-x86_64 (without 
-machine q35 parameter!)
qemu-system-x86_64 -no-kvm -display sdl -cpu core2duo -nographic -netdev 
user,id=net0,hostfwd=tcp::5555-:80,hostfwd=tcp::5556-:443 -net 
nic,model=e1000,netdev=net0 -serial mon:stdio -m 512 -cdrom 
var/run/lighttpd.iso

It fails with: ....
[init -> nic_drv -> acpi_drv] SMBIOS table (entry point: 0x1758f0 
structures: 0xf5910)
[init -> nic_drv -> platform_drv] Error: ACPI report parsing error.
[init -> nic_drv -> platform_drv] Error: Uncaught exception of type 'int'
[init -> nic_drv -> platform_drv] Warning: abort called - thread: ep

I extendend the "error output" (maybe you would like to have this? I can 
create
a PR?)

And I got following:
...
[init -> nic_drv -> acpi_drv] Freeing up memory of elements - 3104 bytes
[init -> nic_drv -> acpi_drv] SMBIOS table (entry point: 0x1758f0 
structures: 0xf5910)
[init -> nic_drv -> platform_drv] Error: ACPI report parsing error. 
Exception type int: 2
[init -> nic_drv -> platform_drv] Error: ACPI ROM: <acpi>
[init -> nic_drv -> platform_drv]       <root_bridge bdf="0x0"/>
[init -> nic_drv -> platform_drv]       <irq_override irq="11" gsi="11" 
flags="0xd"/>
[init -> nic_drv -> platform_drv]       <irq_override irq="10" gsi="10" 
flags="0xd"/>
[init -> nic_drv -> platform_drv]       <irq_override irq="9" gsi="9" 
flags="0xd"/>
[init -> nic_drv -> platform_drv]       <irq_override irq="5" gsi="5" 
flags="0xd"/>
[init -> nic_drv -> platform_drv]       <irq_override irq="0" gsi="2" 
flags="0x0"/>
[init -> nic_drv -> platform_drv] </acpi>
[init -> nic_drv -> platform_drv] [init -> nic_drv -> platform_drv] Error: 
Uncaught exception of type 'int'
[init -> nic_drv -> platform_drv] Warning: abort called - thread: ep

I figured out that following is missing:
[init -> nic_drv -> platform_drv]       <bdf start="0" count="65536" 
base="0xb0000000"/>

The acpi_drv get this from
[init -> nic_drv -> acpi_drv] MCFG BASE 0xb0000000 seg 0x0 bus 0x0-0xff
MCFG -> PCI Express memory mapped configuration space base address 
Description Table

I also figured out that the qemu parameter -machine q35 is using as chipset 
a ICH9 and this
has PCIe

* Can I somehow "manuel" configure the system on 440FX based hardware ?
* Is there a reason why platform_drv is not supporting older hardware ?

Thanks
Jörg



More information about the users mailing list