Skip to content

Conversation

@barkera
Copy link
Contributor

@barkera barkera commented May 22, 2020

This PR adds support for parsing the ACPI HPET entry structure.

Fixes #53

* Add HPET struct for parsing in the HPET ACPI table.
* Add GenericAddressStructure to the top-level acpi module for parsing GAS entries.
* Add HPET find and parse routine in mythril_multiboot2.
Copy link
Contributor

@dlrobertson dlrobertson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dig it!

@ALSchwalm
Copy link
Collaborator

Thanks for working on this! I haven't reviewed it yet, but I'm gonna close and re-open this so that (hopefully) the CI tests will run on it. I think I've got that fixed now.

@ALSchwalm ALSchwalm closed this May 23, 2020
@ALSchwalm ALSchwalm reopened this May 23, 2020
Copy link
Collaborator

@ALSchwalm ALSchwalm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work! Thanks for being so thorough with the docs and test. Just a few minor things I'd like addressed before I merge.

barkera added 2 commits May 25, 2020 23:56
* Add offsets module to acpi/mod.rs for GAS offsets.
* Change order of bitwise operations when parsing HPET event_timer_block_id members.
* Simplify 1-bit field to bool conversions.
* Replace unwrapping match statements with ok_or_else() and unwrap_or_else().
* Add call to CPUID in GAS parser to see if we need to verify 32-bit addresses.
@ALSchwalm ALSchwalm merged commit 57a415a into mythril-hypervisor:master May 27, 2020
@ALSchwalm
Copy link
Collaborator

Thanks for tackling this!

@barkera barkera deleted the acpi_hpet branch June 12, 2020 14:12
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.

acpi: parse the HPET system description table

3 participants