-
Notifications
You must be signed in to change notification settings - Fork 28
Full uACPI implementation #54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Most uACPI kernel APIs are stubbed out but they are not essential for what we need, which is basically evaluating AML methods to discover PCI root bridges and their resources
|
Thanks! Build failing on IA32, @mintsuki maybe cc-runtime should provide libatomic symbols? |
|
Nah. The main issue here is that we use |
|
@FlyGoat it's ready now! |
|
I do fell like I want to avoid evaluating aml if it's possible. I know a handful of platforms, even including Kabylake CRB that are doing wired stuff in AML that will render hardware in to a non-PC compatible state, and the path going back is never validated by vendors so god knows if it will work. Probably I'm paranoid but I strongly feel this should be optional. I'm happy to merge this with a global switch flag. |
and how many pentium pro machines has uefi without csm? 🤣 |
|
It seems like I think we could use the protocol with a fallback to fully initializing uACPI and evaluating _CRS in case the protocol is not present, what do you think @FlyGoat? I'll get back to this PR in a bit if that's okay, I spent most of the time today basically working on PCI scanning + remapping code and we decided to upstream this separately first. |
|
@48cf Yes for sure, you are always welcomed :-) |
Main concern for doing that is that running AML might put the hardware into a non-PC compatible state with no reliable way to reverse that (as per comment on FlyGoat#54). For now `acpi_init` only sets up "early table access", as it previously did, to allow ACPI table enumeration, but if the need arises one can call `acpi_full_init` to be able to call into uACPI functions that require the namespace to be loaded and initialized.
|
@FlyGoat please take a look now |
|
For the record, I plan to add the code for conditionally fully initializing uACPI when needed in my next PR that will introduce remapping PCI BARs |
|
LGTM, thanks for your contribution! |
This reverts commit b688880.
Most uACPI kernel APIs are stubbed out but they are not essential for what we need, which is basically evaluating AML methods to discover PCI root bridges and their resources