Hello Jörg,
On Wed, Feb 24, 2021 at 15:01:26 CET, Joerg-C. Boehme wrote:
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 general, no, we do not depend on PCIe directly. Nevertheless, I admit that we do not test PCIe-less systems in any real-world scenario.
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
As you discovered this is not supported. The reason is not the missing PCIe capability but that Qemu's i440FX chipset does not support ECAM/MMCONF (memory-mapped) PCI configuration space access. We replaced the I/O port based PCI driver implementation by MMCONF based access after a vivid discussion in 2018 [1]. Thus, we may indirectly depend on PCIe if systems lacking PCIe ports also lack MMCONF.
- Can I somehow "manuel" configure the system on 440FX based hardware ?
In theory, you could generate the acpi_drv report by hand. But that's not my playground.
- Is there a reason why platform_drv is not supporting older hardware ?
We switched to MMCONF because of demand from the community and the promise that it's widely available. We never considered to support both PCI-config access options for complexity and testing effort reasons.
[1] https://github.com/genodelabs/genode/commit/47724c68c2c27a430e9a60c55ebb42f8...
Greets