Context
This tracks the second small replacement PR split out from rust-osdev#306, addressing rust-osdev#305.
The global-lock bugfix is useful independently and should not be bundled with allocator API work.
Scope
Publish the existing local branch:
codex/pr306-global-lock
- commit
da1e0ec (aml: balance global lock mutex handling)
Included changes:
- Return early from
acquire_global_lock and release_global_lock when no FACS is present.
- Re-acquire the AML-side global-lock mutex before retrying after firmware contention.
- Release the AML-side global-lock mutex in
release_global_lock.
- Add
tests/global_lock.rs to assert handler acquire/release calls balance.
Out of scope
- Allocator API work.
- Platform allocator fixes.
- Version bumps.
- Formatting-only churn.
Acceptance criteria
Context
This tracks the second small replacement PR split out from rust-osdev#306, addressing rust-osdev#305.
The global-lock bugfix is useful independently and should not be bundled with allocator API work.
Scope
Publish the existing local branch:
codex/pr306-global-lockda1e0ec(aml: balance global lock mutex handling)Included changes:
acquire_global_lockandrelease_global_lockwhen no FACS is present.release_global_lock.tests/global_lock.rsto assert handler acquire/release calls balance.Out of scope
Acceptance criteria
rust-osdev/acpi:mainand references AML global lock acquisition ofglobal_lock_mutexlooks wrong rust-osdev/acpi#305.rustfmt --edition 2024 --check src/aml/mod.rs tests/global_lock.rspasses.cargo test --test global_lockpasses.cargo test --libpasses.