W dniu 13.10.2023 o 15:31, Marcin Juszkiewicz via groups.io pisze:
W dniu 13.10.2023 o 15:24, Gerd Hoffmann pisze:

So two solutions came to my mind:

1. rewrite DSDT generation into C

You might want have a look at DynamicTablesPkg/ for that

Wasn't is involving using ConfigurationManager? Or maybe I just had wrong assumption after reading code.

2. provide EHCI/XHCI in SSDT table instead of DSDT

Should work, except that I'd suggest to worry about xhci only.
ehci never actually worked anyway, so why advertise it to the OS in the
first place?

Good point.

Got rid of EHCI at all. On >= 0.3 XHCI is created, otherwise there is no USB controller in DSDT.

3. Add a _STA AML function to the XHCI DSDT description, which is able
to figure whenever XHCI is present.

We had that in qemu years ago, before switching to full DSDT generation,
where the _STA functions checked some bit in PCI config space of the ISA
bridge to figure whenever specific isa devices (floppy, serial/parallel
port) are present or not.

Will look.

Our XHCI is on sysbus so checking PCI_config is not an option.


4. Add variable in ASL + check in _STA for it. And alter that variable from C code once DSDT is done. Kind of what Ampere does in JadePkg/**/AcpiDsdt.c file.


I am also thinking of going back to 2nd version and handle it on ExitBootServicesEvent event (again: Ampere/JadePkg). All ACPI tables should be ready at that moment...



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109607): https://edk2.groups.io/g/devel/message/109607
Mute This Topic: https://groups.io/mt/101938735/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to