Skip to content

Commit

Permalink
mshv-bindings: function to retrieve offloadble features
Browse files Browse the repository at this point in the history
Microsoft Hypervisor supports offloadig some vmgexit
non-atomic events to the hypervisor. VMM can utilize this feature
by enabling VMG exit offloads. This patch adds a function
that returns current supported features by MSHV.

Signed-off-by: Muminul Islam <[email protected]>
  • Loading branch information
russell-islam committed Jul 6, 2023
1 parent 3249da5 commit a2cd6b4
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions mshv-bindings/src/snp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -632,3 +632,29 @@ impl Default for hv_sev_vmgexit_port_info {
}
}
}

///
/// Get default vmg exit offload features supporetd by
/// Microsoft Hypervisor.
///
pub fn get_default_vmgexit_offload_features() -> hv_sev_vmgexit_offload {
let mut offload_feature = hv_sev_vmgexit_offload::default();

unsafe {
offload_feature.__bindgen_anon_1.set_nae_rdtsc(1);
offload_feature.__bindgen_anon_1.set_nae_cpuid(1);
offload_feature.__bindgen_anon_1.set_nae_rdmsr(1);
offload_feature.__bindgen_anon_1.set_nae_wrmsr(1);
offload_feature.__bindgen_anon_1.set_nae_vmmcall(1);
offload_feature.__bindgen_anon_1.set_nae_wbinvd(1);
offload_feature
.__bindgen_anon_1
.set_nae_snp_page_state_change(1);
offload_feature.__bindgen_anon_1.set_msr_cpuid(1);
offload_feature
.__bindgen_anon_1
.set_msr_snp_page_state_change(1);
}

offload_feature
}

0 comments on commit a2cd6b4

Please sign in to comment.