Hello Jean-Philippe, thanks (and of course the pcengine maintainer) for the efforts. Let's see what Sid will tell us.
Alex. On 06.09.19 20:52, Jean-Philippe Ouellet wrote: > Fortunately, the pcengines coreboot maintainers are awesome people and > interested in enabling cool use cases :) > > I pointed them at this thread and briefly described the situation & > motivation, and a MCFG table is now pending review! [1] > > If you aren't afraid of reflashing, you may already be unblocked :) > > Cheers, > Jean-Philippe > > [1]: https://review.coreboot.org/c/coreboot/+/35286 > > On Thu, Sep 5, 2019 at 11:41 AM Alexander Boettcher > <[email protected]> wrote: >> >> Hello Sid, >> >> because of [0] you need with 18.05 a valid MCFG ACPI table to run Genode >> on x86. The general answer is, that coreboot or companion must provide >> the tables, otherwise you are out of luck. Maybe the hints at [1] are >> helpful to start investigation for you coreboot build ? >> >> Cheers, >> >> Alex. >> >> [0] >> https://genode.org/documentation/release-notes/18.05#Kernel-agnostic_platform-information_handling >> [1] https://www.coreboot.org/ACPI#acpi_fill_mcfg >> >> On 05.09.19 16:06, Sid Hussmann wrote: >>> Dear Genodians, >>> >>> I'm trying to enable Genode on the apu2c4. I successfully could run the >>> test-pci component using branch [1] based on Genode 17.11: >>> >>> However, using the genodelabs/master branch results in a ACPI parsing error: >>> ´[init -> platform_drv] Error: ACPI report parsing error.´ >>> >>> I set the report_rom to verbose and I noticed following differences: >>> >>> # Working version on apu2c4 [1]: >>> >>> ´´´ >>> Genode 17.11-103-gd0028480b <local changes> >>> 4039 MiB RAM and 63253 caps assigned to init >>> [init -> test-pci] --- Platform test started --- >>> [init -> acpi_drv] Found MADT >>> [init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0 >>> [init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 15 >>> [init -> acpi_report_rom] report 'acpi_drv -> acpi' >>> [init -> acpi_report_rom] <acpi> >>> [init -> acpi_report_rom] <fadt features="0x3c5a5" >>> reset_type="0x1000801" reset_addr="0xcf9" reset_value="0x6"/> >>> [init -> acpi_report_rom] <irq_override irq="9" gsi="9" flags="0xf"/> >>> [init -> acpi_report_rom] <irq_override irq="0" gsi="2" flags="0x0"/> >>> [init -> acpi_report_rom] <routing gsi="0x2b" bridge_bdf="0x15" >>> device="0x0" device_pin="0x3"/> >>> [init -> acpi_report_rom] <routing gsi="0x2a" bridge_bdf="0x15" >>> device="0x0" device_pin="0x2"/> >>> [init -> acpi_report_rom] <routing gsi="0x29" bridge_bdf="0x15" >>> device="0x0" device_pin="0x1"/> >>> ... >>> [init -> acpi_report_rom] <routing gsi="0x2c" bridge_bdf="0xc0" >>> device="0x1" device_pin="0x0"/> >>> [init -> acpi_report_rom] </acpi> >>> [init -> test-pci] 0:0.0 class=0x600 vendor=0x1022 (unknown) device=0x1566 >>> [init -> test-pci] 0:2.0 class=0x600 vendor=0x1022 (unknown) device=0x156b >>> ... >>> >>> ´´´ >>> >>> >>> # Broken version on apu2c4 (current master): >>> >>> ´´´ >>> Genode 19.08 <local changes> >>> 4027 MiB RAM and 63253 caps assigned to init >>> [init -> test-pci] --- Platform test started --- >>> [init -> acpi_drv] Found MADT >>> [init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0 >>> [init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 15 >>> [init -> acpi_drv] XSDT OEM 'CORE ', table id 'COREBOOT', revision 0, >>> creator 'CORE' (0) >>> [init -> acpi_report_rom] report 'acpi_drv -> acpi' >>> [init -> acpi_report_rom] <acpi> >>> [init -> acpi_report_rom] <root_bridge bdf="0xc0"/> >>> [init -> acpi_report_rom] <irq_override irq="9" gsi="9" flags="0xf"/> >>> [init -> acpi_report_rom] <irq_override irq="0" gsi="2" flags="0x0"/> >>> [init -> acpi_report_rom] <routing gsi="0x2b" bridge_bdf="0x15" >>> device="0x0" device_pin="0x3"/> >>> [init -> acpi_report_rom] <routing gsi="0x2a" bridge_bdf="0x15" >>> device="0x0" device_pin="0x2"/> >>> [init -> acpi_report_rom] <routing gsi="0x29" bridge_bdf="0x15" >>> device="0x0" device_pin="0x1"/> >>> ... >>> [init -> acpi_report_rom] <routing gsi="0x2c" bridge_bdf="0xc0" >>> device="0x1" device_pin="0x0"/> >>> [init -> acpi_report_rom] </acpi> >>> [init -> platform_drv] Error: ACPI report parsing error. >>> [init -> acpi_drv] SMBIOS table (entry point: 0x163ad0 structures: >>> 0xdffd7020) >>> [init -> platform_drv] Error: Uncaught exception of type 'int' >>> [init -> platform_drv] Warning: abort called - thread: ep >>> [init -> acpi_report_rom] report 'acpi_drv -> smbios_table' >>> [init -> acpi_report_rom] _SM_b▒ >>> ´´´ >>> >>> >>> # on QEMU (current master): >>> >>> ´´´ >>> Genode 19.08 <local changes> >>> 471 MiB RAM and 63253 caps assigned to init >>> [init -> test-pci] --- Platform test started --- >>> [init -> acpi_drv] Found MADT >>> [init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0 >>> [init -> acpi_drv] MADT IRQ 5 -> GSI 5 flags: 13 >>> [init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13 >>> [init -> acpi_drv] MADT IRQ 10 -> GSI 10 flags: 13 >>> [init -> acpi_drv] MADT IRQ 11 -> GSI 11 flags: 13 >>> [init -> acpi_drv] Found MCFG >>> [init -> acpi_drv] MCFG BASE 0xb0000000 seg 0x0 bus 0x0-0xff >>> [init -> acpi_drv] RSDT OEM 'BOCHS ', table id 'BXPCRSDT', revision 1, >>> creator 'BXPC' (1) >>> [init -> acpi_report_rom] report 'acpi_drv -> acpi' >>> [init -> acpi_report_rom] <acpi> >>> [init -> acpi_report_rom] <root_bridge bdf="0x0"/> >>> [init -> acpi_report_rom] <bdf start="0" count="65536" >>> base="0xb0000000"/> >>> [init -> acpi_report_rom] <irq_override irq="11" gsi="11" >>> flags="0xd"/> >>> [init -> acpi_report_rom] <irq_override irq="10" gsi="10" >>> flags="0xd"/> >>> [init -> acpi_report_rom] <irq_override irq="9" gsi="9" flags="0xd"/> >>> [init -> acpi_report_rom] <irq_override irq="5" gsi="5" flags="0xd"/> >>> [init -> acpi_report_rom] <irq_override irq="0" gsi="2" flags="0x0"/> >>> [init -> acpi_report_rom] </acpi> >>> [init -> platform_drv] ECAM/MMCONF range 00:00.0-ff:1f.7 - addr >>> [00000000b0000000,00000000c0000000) >>> [init -> acpi_drv] SMBIOS table (entry point: 0x165710 structures: 0xf5730) >>> [init -> platform_drv] Root bridge: 00:00.0 >>> [init -> acpi_report_rom] report 'acpi_drv -> smbios_table' >>> [init -> acpi_report_rom] _SM_W >>> [init -> test-pci] 0:0.0 class=0x600 vendor=0x8086 (Intel) device=0x29c0 >>> [init -> test-pci] 0:1.0 class=0x300 vendor=0x1234 (unknown) device=0x1111 >>> ... >>> >>> ´´´ >>> >>> >>> Cherry-picking from [1] to the master branch didn't help. >>> >>> On QEMU I noticed a ´bdf´ node in the acpi_report. ´platform_drv´ is >>> expecting this node. >>> The ´bdf´ node is written in ´Acpi::generate_report()´ but only if there is >>> an entry in the ´Pci_config_space´ list. >>> The only function that inserts something to that list is >>> ´Table_wrapper::parse_mcfg()´, which is called from >>> ´Acpi_table::_parse_tables()´ in case one of the tables has the "MCFG" >>> signature. However, none of the tables seem to have that signature. >>> >>> And now I'm lost. >>> How do I move on? >>> >>> Cheers, >>> Sid >>> >>> >>> [1] https://github.com/chelmuth/genode/commits/cobalt >>> >>> >>> _______________________________________________ >>> Genode users mailing list >>> [email protected] >>> https://lists.genode.org/listinfo/users >>> >> >> -- >> Alexander Boettcher >> Genode Labs >> >> https://www.genode-labs.com - https://www.genode.org >> >> Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden >> Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth >> >> _______________________________________________ >> Genode users mailing list >> [email protected] >> https://lists.genode.org/listinfo/users > > _______________________________________________ > Genode users mailing list > [email protected] > https://lists.genode.org/listinfo/users > -- Alexander Boettcher Genode Labs https://www.genode-labs.com - https://www.genode.org Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth _______________________________________________ Genode users mailing list [email protected] https://lists.genode.org/listinfo/users
