PVH guests accessing I/O ports via string ops is not supported yet.

Reported-by: Roger Pau Monné<roger....@citrix.com>
Signed-off-by: Jan Beulich <jbeul...@suse.com>
---
v2: handle_pio() is already safe (pointed out by Mukesh), so only refuse
    entering handle_mmio().
Note: Only compile tested so far.

--- unstable.orig/xen/arch/x86/hvm/vmx/vmx.c    2014-11-27 09:37:27.000000000 
+0100
+++ unstable/xen/arch/x86/hvm/vmx/vmx.c 2014-12-08 10:04:27.000000000 +0100
@@ -3086,7 +3086,8 @@ void vmx_vmexit_handler(struct cpu_user_
         if ( exit_qualification & 0x10 )
         {
             /* INS, OUTS */
-            if ( !handle_mmio() )
+            if ( unlikely(is_pvh_vcpu(v)) /* PVH fixme */ ||
+                 !handle_mmio() )
                 hvm_inject_hw_exception(TRAP_gp_fault, 0);
         }
         else


PVH guests accessing I/O ports via string ops is not supported yet.

Reported-by: Roger Pau Monné<roger....@citrix.com>
Signed-off-by: Jan Beulich <jbeul...@suse.com>
---
v2: handle_pio() is already safe (pointed out by Mukesh), so only refuse
    entering handle_mmio().
Note: Only compile tested so far.

--- unstable.orig/xen/arch/x86/hvm/vmx/vmx.c    2014-11-27 09:37:27.000000000 
+0100
+++ unstable/xen/arch/x86/hvm/vmx/vmx.c 2014-12-08 10:04:27.000000000 +0100
@@ -3086,7 +3086,8 @@ void vmx_vmexit_handler(struct cpu_user_
         if ( exit_qualification & 0x10 )
         {
             /* INS, OUTS */
-            if ( !handle_mmio() )
+            if ( unlikely(is_pvh_vcpu(v)) /* PVH fixme */ ||
+                 !handle_mmio() )
                 hvm_inject_hw_exception(TRAP_gp_fault, 0);
         }
         else
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to