Skip to content

Instantly share code, notes, and snippets.

@jserviceorg
Last active November 16, 2017 20:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jserviceorg/e8479c6cc1b485cacf21682ebb22bd27 to your computer and use it in GitHub Desktop.
Save jserviceorg/e8479c6cc1b485cacf21682ebb22bd27 to your computer and use it in GitHub Desktop.
Freebsd Xen Dom0 Patch - Bootloop Problem pvh disabling due to errata
Patch against emulation/xen-kernel (tested with 4.8)
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 68fb890..b2f1ce4 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -84,8 +84,6 @@ int handle_mmio(void)
struct hvm_vcpu_io *vio = &curr->arch.hvm_vcpu.hvm_io;
int rc;
- ASSERT(!is_pvh_vcpu(curr));
-
hvm_emulate_prepare(&ctxt, guest_cpu_user_regs());
rc = hvm_emulate_one(&ctxt);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e1c55ce..fc3c45b 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3102,8 +3102,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
if ( exit_qualification & 0x10 )
{
/* INS, OUTS */
- if ( unlikely(is_pvh_vcpu(v)) /* PVH fixme */ ||
- !handle_mmio() )
+ if ( !handle_mmio() )
hvm_inject_hw_exception(TRAP_gp_fault, 0);
}
else
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment