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
>>
> 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Genode users mailing list
[email protected]
https://lists.genode.org/listinfo/users

Reply via email to