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