This commit is contained in:
committed by
Git OBS Bridge
parent
1ae41ae3bd
commit
614a20ee4e
@@ -1,7 +1,7 @@
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
@@ -38,6 +38,9 @@
|
||||
#include <asm/shadow.h>
|
||||
#include <asm/tboot.h>
|
||||
@@ -61,11 +61,11 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
|
||||
|
||||
vmx_vmcs_exit(v);
|
||||
}
|
||||
Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -58,18 +58,23 @@ static void vmx_ctxt_switch_to(struct vc
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
@@ -57,18 +57,23 @@ static void vmx_ctxt_switch_to(struct vc
|
||||
|
||||
static int vmx_alloc_vlapic_mapping(struct domain *d);
|
||||
static void vmx_free_vlapic_mapping(struct domain *d);
|
||||
@@ -90,7 +90,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
}
|
||||
|
||||
static int vmx_vcpu_initialise(struct vcpu *v)
|
||||
@@ -1122,6 +1127,7 @@ static void vmx_update_guest_cr(struct v
|
||||
@@ -1132,6 +1137,7 @@ static void vmx_update_guest_cr(struct v
|
||||
vmx_load_pdptrs(v);
|
||||
}
|
||||
__vmwrite(GUEST_CR3, v->arch.hvm_vcpu.hw_cr[3]);
|
||||
@@ -98,7 +98,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
break;
|
||||
case 4:
|
||||
v->arch.hvm_vcpu.hw_cr[4] = HVM_CR4_HOST_MASK;
|
||||
@@ -1170,9 +1176,14 @@ static void vmx_update_guest_efer(struct
|
||||
@@ -1180,9 +1186,14 @@ static void vmx_update_guest_efer(struct
|
||||
|
||||
static void vmx_flush_guest_tlbs(void)
|
||||
{
|
||||
@@ -116,7 +116,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
}
|
||||
|
||||
static void vmx_inject_exception(
|
||||
@@ -1226,6 +1237,11 @@ static struct hvm_function_table vmx_fun
|
||||
@@ -1236,6 +1247,11 @@ static struct hvm_function_table vmx_fun
|
||||
.cpu_down = vmx_cpu_down,
|
||||
};
|
||||
|
||||
@@ -128,7 +128,7 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
void start_vmx(void)
|
||||
{
|
||||
static int bootstrapped;
|
||||
@@ -1265,6 +1281,26 @@ void start_vmx(void)
|
||||
@@ -1275,6 +1291,26 @@ void start_vmx(void)
|
||||
vmx_function_table.hap_supported = 1;
|
||||
}
|
||||
|
||||
@@ -201,10 +201,10 @@ Index: xen-3.2-testing/xen/arch/x86/hvm/vmx/vmx.c
|
||||
static void vmx_install_vlapic_mapping(struct vcpu *v)
|
||||
{
|
||||
paddr_t virt_page_ma, apic_page_ma;
|
||||
Index: xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
Index: xen-3.2.1-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/arch/x86/mm/shadow/multi.c
|
||||
+++ xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
--- xen-3.2.1-testing.orig/xen/arch/x86/mm/shadow/multi.c
|
||||
+++ xen-3.2.1-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <asm/hvm/hvm.h>
|
||||
#include <asm/hvm/cacheattr.h>
|
||||
@@ -213,7 +213,7 @@ Index: xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
#include "private.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -3106,6 +3107,7 @@ sh_invlpg(struct vcpu *v, unsigned long
|
||||
@@ -3102,6 +3103,7 @@ sh_invlpg(struct vcpu *v, unsigned long
|
||||
== SH_type_fl1_shadow )
|
||||
{
|
||||
flush_tlb_local();
|
||||
@@ -221,10 +221,10 @@ Index: xen-3.2-testing/xen/arch/x86/mm/shadow/multi.c
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/domain.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/domain.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/domain.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/domain.h
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/domain.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/domain.h
|
||||
@@ -61,6 +61,7 @@ struct hvm_domain {
|
||||
uint64_t params[HVM_NR_PARAMS];
|
||||
|
||||
@@ -233,11 +233,11 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/domain.h
|
||||
|
||||
/* Memory ranges with pinned cache attributes. */
|
||||
struct list_head pinned_cacheattr_ranges;
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
@@ -90,6 +90,8 @@ struct arch_vmx_struct {
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
@@ -89,6 +89,8 @@ struct arch_vmx_struct {
|
||||
u32 exec_control;
|
||||
u32 secondary_exec_control;
|
||||
|
||||
@@ -246,7 +246,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
#ifdef __x86_64__
|
||||
struct vmx_msr_state msr_state;
|
||||
unsigned long shadow_gs;
|
||||
@@ -156,6 +158,7 @@ extern u32 vmx_vmentry_control;
|
||||
@@ -165,6 +167,7 @@ extern u32 vmx_vmentry_control;
|
||||
|
||||
#define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001
|
||||
#define SECONDARY_EXEC_ENABLE_EPT 0x00000002
|
||||
@@ -254,7 +254,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
#define SECONDARY_EXEC_WBINVD_EXITING 0x00000040
|
||||
extern u32 vmx_secondary_exec_control;
|
||||
|
||||
@@ -175,6 +178,8 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
@@ -184,6 +187,8 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
(vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
|
||||
#define cpu_has_vmx_ept \
|
||||
(vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT)
|
||||
@@ -263,7 +263,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
|
||||
/* GUEST_INTERRUPTIBILITY_INFO flags. */
|
||||
#define VMX_INTR_SHADOW_STI 0x00000001
|
||||
@@ -184,6 +189,7 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
@@ -193,6 +198,7 @@ extern bool_t cpu_has_vmx_ins_outs_instr
|
||||
|
||||
/* VMCS field encodings. */
|
||||
enum vmcs_field {
|
||||
@@ -271,7 +271,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
GUEST_ES_SELECTOR = 0x00000800,
|
||||
GUEST_CS_SELECTOR = 0x00000802,
|
||||
GUEST_SS_SELECTOR = 0x00000804,
|
||||
@@ -323,6 +329,8 @@ enum vmcs_field {
|
||||
@@ -332,6 +338,8 @@ enum vmcs_field {
|
||||
HOST_RIP = 0x00006c16,
|
||||
};
|
||||
|
||||
@@ -280,11 +280,11 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmcs.h
|
||||
void vmx_disable_intercept_for_msr(struct vcpu *v, u32 msr);
|
||||
int vmx_read_guest_msr(struct vcpu *v, u32 msr, u64 *val);
|
||||
int vmx_write_guest_msr(struct vcpu *v, u32 msr, u64 val);
|
||||
Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
Index: xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
===================================================================
|
||||
--- xen-3.2-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
+++ xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
@@ -172,6 +172,7 @@ int vmx_realmode_io_complete(void);
|
||||
--- xen-3.2.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
+++ xen-3.2.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
@@ -175,6 +175,7 @@ int vmx_realmode_io_complete(void);
|
||||
#define VMRESUME_OPCODE ".byte 0x0f,0x01,0xc3\n"
|
||||
#define VMWRITE_OPCODE ".byte 0x0f,0x79\n"
|
||||
#define INVEPT_OPCODE ".byte 0x66,0x0f,0x38,0x80\n" /* m128,r64/32 */
|
||||
@@ -292,7 +292,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
#define VMXOFF_OPCODE ".byte 0x0f,0x01,0xc4\n"
|
||||
#define VMXON_OPCODE ".byte 0xf3,0x0f,0xc7\n"
|
||||
|
||||
@@ -277,6 +278,23 @@ static inline void __invept(int ext, u64
|
||||
@@ -280,6 +281,23 @@ static inline void __invept(int ext, u64
|
||||
: "memory");
|
||||
}
|
||||
|
||||
@@ -316,7 +316,7 @@ Index: xen-3.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h
|
||||
static inline void __vmxoff(void)
|
||||
{
|
||||
asm volatile (
|
||||
@@ -329,6 +347,22 @@ static inline void ept_sync_all(void)
|
||||
@@ -332,6 +350,22 @@ static inline void ept_sync_all(void)
|
||||
__invept(2, 0, 0);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user