Skip to content
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

Unify register representations across all Hypervisor implementations #312

Open
dblnz opened this issue Mar 4, 2025 · 1 comment
Open
Labels
kind/enhancement For PRs adding features, improving functionality, docs, tests, etc. lifecycle/needs-review The issue has not yet been reviewed.
Milestone

Comments

@dblnz
Copy link
Contributor

dblnz commented Mar 4, 2025

Currently, registers for the KVMDriver, HypervLinuxDriver and HypervWindowsDriver are handled in a similar manner.
It would be helpful to unify these registers in as type-safe a way as possible.

Some features of this unified API:

  • Support for just the registers we need (e.g. RSP, RIP, pagetable-related registers, etc...)
  • Use of GuestPtr for register values as appropriate (e.g. RSP which defines a stack pointer, which can only be a guest address)
  • Prevents callers from setting any unsupported register values
  • Ensures all required registers are set before a hypervisor can use them
  • No support for optional registers. The registers are either all set or none are set
@dblnz dblnz added the kind/enhancement For PRs adding features, improving functionality, docs, tests, etc. label Mar 4, 2025
@github-actions github-actions bot added the lifecycle/needs-review The issue has not yet been reviewed. label Mar 4, 2025
@danbugs danbugs added this to the Backlog milestone Mar 4, 2025
@danbugs
Copy link
Contributor

danbugs commented Mar 12, 2025

Related to #168

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement For PRs adding features, improving functionality, docs, tests, etc. lifecycle/needs-review The issue has not yet been reviewed.
Projects
Status: No status
Development

No branches or pull requests

2 participants