Good morning, coreboot now sends the MCFG table and I'm able to access all PCIe devices. Thanks y'all for the support!
Cheers, Sid On 9/8/19 7:35 PM, Sid Hussmann wrote: > Hi Jean-Philippe, and Michal, > > thanks for pointing Michal to this thread! And Michal, thank you so much for > the quick fix! > I just built the coreboot image including your patch with the MCFG table. > Unfortunately I don't have a device with me. > Will test tomorrow morning and give feedback then. > > Cheers, > Sid > > > On 9/8/19 2:25 PM, Alexander Boettcher wrote: >> 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 >>> >> > > > _______________________________________________ > Genode users mailing list > [email protected] > https://lists.genode.org/listinfo/users >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Genode users mailing list [email protected] https://lists.genode.org/listinfo/users
