|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] VMX: drop VMCS *_HIGH enumerators
commit 0bccdfddad0fa26810fed5de069a57182ecdc810
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Thu Jan 22 12:57:27 2015 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Thu Jan 22 12:57:27 2015 +0100
VMX: drop VMCS *_HIGH enumerators
Most of them have been unused since the dropping of 32-bit support, and
the few remaining cases are more efficiently dealt with using a generic
macro (and probably things should have been done that way from the
beginning).
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Acked-by: Kevin Tian <kevin.tian@xxxxxxxxx>
---
xen/arch/x86/hvm/vmx/vvmx.c | 12 ++++++------
xen/include/asm-x86/hvm/vmx/vmcs.h | 24 +-----------------------
2 files changed, 7 insertions(+), 29 deletions(-)
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 26611b3..91e6ae4 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -98,9 +98,9 @@ int nvmx_vcpu_initialise(struct vcpu *v)
* Let them vmexit as usual.
*/
set_bit(IO_BITMAP_A, vw);
- set_bit(IO_BITMAP_A_HIGH, vw);
+ set_bit(VMCS_HIGH(IO_BITMAP_A), vw);
set_bit(IO_BITMAP_B, vw);
- set_bit(IO_BITMAP_B_HIGH, vw);
+ set_bit(VMCS_HIGH(IO_BITMAP_B), vw);
unmap_domain_page(vr);
unmap_domain_page(vw);
@@ -1761,15 +1761,15 @@ int nvmx_handle_vmwrite(struct cpu_user_regs *regs)
vmcs_encoding = reg_read(regs, decode.reg2);
__set_vvmcs(nvcpu->nv_vvmcx, vmcs_encoding, operand);
- switch ( vmcs_encoding )
+ switch ( vmcs_encoding & ~VMCS_HIGH(0) )
{
- case IO_BITMAP_A: case IO_BITMAP_A_HIGH:
+ case IO_BITMAP_A:
okay = _map_io_bitmap(v, IO_BITMAP_A);
break;
- case IO_BITMAP_B: case IO_BITMAP_B_HIGH:
+ case IO_BITMAP_B:
okay = _map_io_bitmap(v, IO_BITMAP_B);
break;
- case MSR_BITMAP: case MSR_BITMAP_HIGH:
+ case MSR_BITMAP:
okay = _map_msr_bitmap(v);
break;
}
diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h
b/xen/include/asm-x86/hvm/vmx/vmcs.h
index ccb6263..88c4fab 100644
--- a/xen/include/asm-x86/hvm/vmx/vmcs.h
+++ b/xen/include/asm-x86/hvm/vmx/vmcs.h
@@ -304,6 +304,7 @@ extern u64 vmx_basic_msr;
#define VMX_GUEST_INTR_STATUS_SVI_OFFSET 8
/* VMCS field encodings. */
+#define VMCS_HIGH(x) ((x) | 1)
enum vmcs_field {
VIRTUAL_PROCESSOR_ID = 0x00000000,
POSTED_INTR_NOTIFICATION_VECTOR = 0x00000002,
@@ -325,56 +326,33 @@ enum vmcs_field {
HOST_GS_SELECTOR = 0x00000c0a,
HOST_TR_SELECTOR = 0x00000c0c,
IO_BITMAP_A = 0x00002000,
- IO_BITMAP_A_HIGH = 0x00002001,
IO_BITMAP_B = 0x00002002,
- IO_BITMAP_B_HIGH = 0x00002003,
MSR_BITMAP = 0x00002004,
- MSR_BITMAP_HIGH = 0x00002005,
VM_EXIT_MSR_STORE_ADDR = 0x00002006,
- VM_EXIT_MSR_STORE_ADDR_HIGH = 0x00002007,
VM_EXIT_MSR_LOAD_ADDR = 0x00002008,
- VM_EXIT_MSR_LOAD_ADDR_HIGH = 0x00002009,
VM_ENTRY_MSR_LOAD_ADDR = 0x0000200a,
- VM_ENTRY_MSR_LOAD_ADDR_HIGH = 0x0000200b,
TSC_OFFSET = 0x00002010,
- TSC_OFFSET_HIGH = 0x00002011,
VIRTUAL_APIC_PAGE_ADDR = 0x00002012,
- VIRTUAL_APIC_PAGE_ADDR_HIGH = 0x00002013,
APIC_ACCESS_ADDR = 0x00002014,
- APIC_ACCESS_ADDR_HIGH = 0x00002015,
PI_DESC_ADDR = 0x00002016,
- PI_DESC_ADDR_HIGH = 0x00002017,
VMFUNC_CONTROL = 0x00002018,
EPT_POINTER = 0x0000201a,
- EPT_POINTER_HIGH = 0x0000201b,
EOI_EXIT_BITMAP0 = 0x0000201c,
#define EOI_EXIT_BITMAP(n) (EOI_EXIT_BITMAP0 + (n) * 2) /* n = 0...3 */
VMREAD_BITMAP = 0x00002026,
- VMREAD_BITMAP_HIGH = 0x00002027,
VMWRITE_BITMAP = 0x00002028,
- VMWRITE_BITMAP_HIGH = 0x00002029,
GUEST_PHYSICAL_ADDRESS = 0x00002400,
- GUEST_PHYSICAL_ADDRESS_HIGH = 0x00002401,
VMCS_LINK_POINTER = 0x00002800,
- VMCS_LINK_POINTER_HIGH = 0x00002801,
GUEST_IA32_DEBUGCTL = 0x00002802,
- GUEST_IA32_DEBUGCTL_HIGH = 0x00002803,
GUEST_PAT = 0x00002804,
- GUEST_PAT_HIGH = 0x00002805,
GUEST_EFER = 0x00002806,
- GUEST_EFER_HIGH = 0x00002807,
GUEST_PERF_GLOBAL_CTRL = 0x00002808,
- GUEST_PERF_GLOBAL_CTRL_HIGH = 0x00002809,
GUEST_PDPTE0 = 0x0000280a,
#define GUEST_PDPTE(n) (GUEST_PDPTE0 + (n) * 2) /* n = 0...3 */
GUEST_BNDCFGS = 0x00002812,
- GUEST_BNDCFGS_HIGH = 0x00002813,
HOST_PAT = 0x00002c00,
- HOST_PAT_HIGH = 0x00002c01,
HOST_EFER = 0x00002c02,
- HOST_EFER_HIGH = 0x00002c03,
HOST_PERF_GLOBAL_CTRL = 0x00002c04,
- HOST_PERF_GLOBAL_CTRL_HIGH = 0x00002c05,
PIN_BASED_VM_EXEC_CONTROL = 0x00004000,
CPU_BASED_VM_EXEC_CONTROL = 0x00004002,
EXCEPTION_BITMAP = 0x00004004,
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |