Skip to content

Commit

Permalink
Use VTL-aware direct hypercall to get/set registers when possible
Browse files Browse the repository at this point in the history
Modify ProcessorRunner::get_reg and ProcessorRunner::set_reg to use a
direct hypercall when possible, instead of our dedicated
get/set-register ioctl. Certain registers have special handling in the
kernel ioctl handler. Those are left as-is. Get/set for other registers
is now made with a direct hypercall.

This has the benefit of being VTL-aware, so this change also adds a VTL
parameter.

This change also removes some proliferation of
(g|s)et_vp_registers?(_inner)?, hopefully making it simpler and cleaner.
The singular (g|s)et_vp_register is left as an ergonomic convenience.

One unaddressed capability is making ioctls/hypercalls on a batch of
registers. This is not strictly a regression, because
MSHV_VP_MAX_REGISTERS was previously 1.
  • Loading branch information
stunes-ms committed Oct 17, 2024
1 parent e3b4401 commit 62d8c75
Show file tree
Hide file tree
Showing 7 changed files with 316 additions and 235 deletions.
Loading

0 comments on commit 62d8c75

Please sign in to comment.