A couple spots in x86/monitor used hvm_funcs directly. This patch adds an extra
wrapper for enable_msr_exit_interception and changes monitor.c to use only the
wrappers.
Signed-off-by: Tamas K Lengyel <tlengyel@novetta.com>
Acked-by: Razvan Cojocaru <rcojocaru@bitdefender.com>
if ( mop->u.mov_to_cr.index == VM_EVENT_X86_CR3 )
/* Latches new CR3 mask through CR0 code */
for_each_vcpu ( d, v )
- hvm_funcs.update_guest_cr(v, 0);
+ hvm_update_guest_cr(v, 0);
break;
}
if ( mop->op == XEN_DOMCTL_MONITOR_OP_ENABLE &&
mop->u.mov_to_msr.extended_capture )
{
- if ( hvm_funcs.enable_msr_exit_interception )
- {
+ if ( hvm_enable_msr_exit_interception(d) )
ad->monitor.mov_to_msr_extended = 1;
- hvm_funcs.enable_msr_exit_interception(d);
- }
else
return -EOPNOTSUPP;
} else
return hvm_funcs.nhvm_intr_blocked(v);
}
+static inline bool_t hvm_enable_msr_exit_interception(struct domain *d)
+{
+ if ( hvm_funcs.enable_msr_exit_interception )
+ {
+ hvm_funcs.enable_msr_exit_interception(d);
+ return 1;
+ }
+
+ return 0;
+}
+
static inline bool_t hvm_is_singlestep_supported(void)
{
return (hvm_funcs.is_singlestep_supported &&