firecracker
firecracker copied to clipboard
Add ACPI support for x86_64
Changes
Introduce ACPI support for x86_64.
Reason
Introducing ACPI will let us do a couple of things:
- Get rid of the i8042 (minimal) emulation. We will be able to shutdown by means of the S5 state. When/If we integrate ACPI for ARM, we will be able to shutdown properly on ARM as well
- Allow declaring devices without injecting slugs in kernel's command line.
- ACPI is necessary if we want to introduce support for PCIe
- Possible enabler for device/cpu/mem hotplugging
- Possible enabler for expressing NUMA topologies
Closes #2493
License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
PR Checklist
- [ ] All commits in this PR are signed (
git commit -s
). - [ ] If a specific issue led to this PR, this PR closes the issue.
- [ ] The description of changes is clear and encompassing.
- [ ] Any required documentation changes (code and docs) are included in this PR.
- [ ] New
unsafe
code is documented. - [ ] API changes follow the Runbook for Firecracker API changes.
- [ ] User-facing changes are mentioned in
CHANGELOG.md
. - [ ] All added/changed functionality is tested.
- [ ] This functionality can be added in
rust-vmm
.
Mostly a note to self, we need to update ci artifacts with kernels that include ACPI support. Otherwise we'll keep seeing the CI failing.
Closing this in favour of #4428. This other one is based on this one, but rebased on top of our current main