Skip to content

Conversation

jackpot51
Copy link
Contributor

This allows the acpi crate to handle QEMU's ACPI tables on aarch64. Tested inside Redox OS.

  • In the first commit, if encountering a GIC we do not panic with unimplemented. This fixes Panic on unsupported interrupt controller #259
  • In the second commit, FACS is allowed to be undefined. Only x86 systems use it to allow for synchronization with SMM. Systems not using SMM don't have to define it. When undefined, sane fallbacks are used for the global lock functions.

@rw-van
Copy link

rw-van commented Oct 18, 2025

These changes are required for ARM64/AArch64 in QEMU, which is Redox's main test platform for ARM support.

@jackpot51
Copy link
Contributor Author

The test failure was just aml_tester needing an update for the change to the Interpreter::new function. A fix was squashed into 9eb1f54

@IsaacWoods
Copy link
Member

Thanks!

I have been meaning to deal with the AArch side of things for a while, but none of my projects target ARM and so understanding the GIC has been low on my list. If Redox is building support for it, please do consider contributing a model for the GIC back upstream :)

@IsaacWoods IsaacWoods merged commit dc17d31 into rust-osdev:main Oct 19, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Panic on unsupported interrupt controller

3 participants