mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-21 00:38:28 +00:00
hv: cpu_context is not only used by guest.
It could be also used by host as well. So we remove GUEST from MACRO name Signed-off-by: Yin Fengwei <fengwei.yin@intel.com> Acked-by: Eddie Dong <Eddie.dong@intel.com>
This commit is contained in:
@@ -16,45 +16,61 @@
|
||||
#define NUM_GPRS 15
|
||||
#define GUEST_STATE_AREA_SIZE 512
|
||||
|
||||
/* Indexes of GPRs saved / restored for guest */
|
||||
#define VMX_MACHINE_T_GUEST_RAX_INDEX 0
|
||||
#define VMX_MACHINE_T_GUEST_RBX_INDEX 1
|
||||
#define VMX_MACHINE_T_GUEST_RCX_INDEX 2
|
||||
#define VMX_MACHINE_T_GUEST_RDX_INDEX 3
|
||||
#define VMX_MACHINE_T_GUEST_RBP_INDEX 4
|
||||
#define VMX_MACHINE_T_GUEST_RSI_INDEX 5
|
||||
#define VMX_MACHINE_T_GUEST_R8_INDEX 6
|
||||
#define VMX_MACHINE_T_GUEST_R9_INDEX 7
|
||||
#define VMX_MACHINE_T_GUEST_R10_INDEX 8
|
||||
#define VMX_MACHINE_T_GUEST_R11_INDEX 9
|
||||
#define VMX_MACHINE_T_GUEST_R12_INDEX 10
|
||||
#define VMX_MACHINE_T_GUEST_R13_INDEX 11
|
||||
#define VMX_MACHINE_T_GUEST_R14_INDEX 12
|
||||
#define VMX_MACHINE_T_GUEST_R15_INDEX 13
|
||||
#define VMX_MACHINE_T_GUEST_RDI_INDEX 14
|
||||
#define CPU_CONTEXT_INDEX_RAX 0
|
||||
#define CPU_CONTEXT_INDEX_RBX 1
|
||||
#define CPU_CONTEXT_INDEX_RCX 2
|
||||
#define CPU_CONTEXT_INDEX_RDX 3
|
||||
#define CPU_CONTEXT_INDEX_RBP 4
|
||||
#define CPU_CONTEXT_INDEX_RSI 5
|
||||
#define CPU_CONTEXT_INDEX_R8 6
|
||||
#define CPU_CONTEXT_INDEX_R9 7
|
||||
#define CPU_CONTEXT_INDEX_R10 8
|
||||
#define CPU_CONTEXT_INDEX_R11 9
|
||||
#define CPU_CONTEXT_INDEX_R12 10
|
||||
#define CPU_CONTEXT_INDEX_R13 11
|
||||
#define CPU_CONTEXT_INDEX_R14 12
|
||||
#define CPU_CONTEXT_INDEX_R15 13
|
||||
#define CPU_CONTEXT_INDEX_RDI 14
|
||||
|
||||
/* Offsets of GPRs for guest within the VCPU data structure */
|
||||
#define VMX_MACHINE_T_GUEST_RAX_OFFSET (VMX_MACHINE_T_GUEST_RAX_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_RBX_OFFSET (VMX_MACHINE_T_GUEST_RBX_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_RCX_OFFSET (VMX_MACHINE_T_GUEST_RCX_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_RDX_OFFSET (VMX_MACHINE_T_GUEST_RDX_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_RBP_OFFSET (VMX_MACHINE_T_GUEST_RBP_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_RSI_OFFSET (VMX_MACHINE_T_GUEST_RSI_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_RDI_OFFSET (VMX_MACHINE_T_GUEST_RDI_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R8_OFFSET (VMX_MACHINE_T_GUEST_R8_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R9_OFFSET (VMX_MACHINE_T_GUEST_R9_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R10_OFFSET (VMX_MACHINE_T_GUEST_R10_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R11_OFFSET (VMX_MACHINE_T_GUEST_R11_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R12_OFFSET (VMX_MACHINE_T_GUEST_R12_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R13_OFFSET (VMX_MACHINE_T_GUEST_R13_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R14_OFFSET (VMX_MACHINE_T_GUEST_R14_INDEX*REG_SIZE)
|
||||
#define VMX_MACHINE_T_GUEST_R15_OFFSET (VMX_MACHINE_T_GUEST_R15_INDEX*REG_SIZE)
|
||||
|
||||
/* Hard-coded offset of cr2 in struct run_context!! */
|
||||
#define VMX_MACHINE_T_GUEST_CR2_OFFSET (128)
|
||||
|
||||
/* Hard-coded offset of cr2 in struct run_context!! */
|
||||
#define VMX_MACHINE_T_GUEST_SPEC_CTRL_OFFSET (192)
|
||||
#define CPU_CONTEXT_OFFSET_RAX 0
|
||||
#define CPU_CONTEXT_OFFSET_RBX 8
|
||||
#define CPU_CONTEXT_OFFSET_RCX 16
|
||||
#define CPU_CONTEXT_OFFSET_RDX 24
|
||||
#define CPU_CONTEXT_OFFSET_RBP 32
|
||||
#define CPU_CONTEXT_OFFSET_RSI 40
|
||||
#define CPU_CONTEXT_OFFSET_R8 48
|
||||
#define CPU_CONTEXT_OFFSET_R9 56
|
||||
#define CPU_CONTEXT_OFFSET_R10 64
|
||||
#define CPU_CONTEXT_OFFSET_R11 72
|
||||
#define CPU_CONTEXT_OFFSET_R12 80
|
||||
#define CPU_CONTEXT_OFFSET_R13 88
|
||||
#define CPU_CONTEXT_OFFSET_R14 96
|
||||
#define CPU_CONTEXT_OFFSET_R15 104
|
||||
#define CPU_CONTEXT_OFFSET_RDI 112
|
||||
#define CPU_CONTEXT_OFFSET_CR0 120
|
||||
#define CPU_CONTEXT_OFFSET_CR2 128
|
||||
#define CPU_CONTEXT_OFFSET_CR3 136
|
||||
#define CPU_CONTEXT_OFFSET_CR4 144
|
||||
#define CPU_CONTEXT_OFFSET_RIP 152
|
||||
#define CPU_CONTEXT_OFFSET_RSP 160
|
||||
#define CPU_CONTEXT_OFFSET_RFLAGS 168
|
||||
#define CPU_CONTEXT_OFFSET_TSC_OFFSET 184
|
||||
#define CPU_CONTEXT_OFFSET_IA32_SPEC_CTRL 192
|
||||
#define CPU_CONTEXT_OFFSET_IA32_STAR 200
|
||||
#define CPU_CONTEXT_OFFSET_IA32_LSTAR 208
|
||||
#define CPU_CONTEXT_OFFSET_IA32_FMASK 216
|
||||
#define CPU_CONTEXT_OFFSET_IA32_KERNEL_GS_BASE 224
|
||||
#define CPU_CONTEXT_OFFSET_CS 280
|
||||
#define CPU_CONTEXT_OFFSET_SS 312
|
||||
#define CPU_CONTEXT_OFFSET_DS 344
|
||||
#define CPU_CONTEXT_OFFSET_ES 376
|
||||
#define CPU_CONTEXT_OFFSET_FS 408
|
||||
#define CPU_CONTEXT_OFFSET_GS 440
|
||||
#define CPU_CONTEXT_OFFSET_TR 472
|
||||
#define CPU_CONTEXT_OFFSET_IDTR 504
|
||||
#define CPU_CONTEXT_OFFSET_LDTR 536
|
||||
#define CPU_CONTEXT_OFFSET_GDTR 568
|
||||
#define CPU_CONTEXT_OFFSET_FXSTORE_GUEST_AREA 608
|
||||
|
||||
/*sizes of various registers within the VCPU data structure */
|
||||
#define VMX_CPU_S_FXSAVE_GUEST_AREA_SIZE GUEST_STATE_AREA_SIZE
|
||||
|
Reference in New Issue
Block a user