[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 05/13] hvf: add fields to CPUState and CPUX86Stat
From: |
Sergio Andres Gomez Del Real |
Subject: |
[Qemu-devel] [PATCH v2 05/13] hvf: add fields to CPUState and CPUX86State; add definitions |
Date: |
Wed, 30 Aug 2017 03:26:54 -0500 |
This commit adds some fields specific to hvf in CPUState and
CPUX86State. It also adds some handy #defines.
Signed-off-by: Sergio Andres Gomez Del Real <address@hidden>
---
include/qom/cpu.h | 2 ++
target/i386/cpu.h | 23 +++++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 25eefea7ab..fb0e54e6d9 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -407,6 +407,8 @@ struct CPUState {
* unnecessary flushes.
*/
uint16_t pending_tlb_flush;
+
+ uint64_t hvf_fd;
};
QTAILQ_HEAD(CPUTailQ, CPUState);
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 051867399b..7d90f08b98 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -82,15 +82,19 @@
#define R_GS 5
/* segment descriptor fields */
+#define DESC_G_SHIFT 23
#define DESC_G_MASK (1 << 23)
#define DESC_B_SHIFT 22
#define DESC_B_MASK (1 << DESC_B_SHIFT)
#define DESC_L_SHIFT 21 /* x86_64 only : 64 bit code segment */
#define DESC_L_MASK (1 << DESC_L_SHIFT)
+#define DESC_AVL_SHIFT 20
#define DESC_AVL_MASK (1 << 20)
+#define DESC_P_SHIFT 15
#define DESC_P_MASK (1 << 15)
#define DESC_DPL_SHIFT 13
#define DESC_DPL_MASK (3 << DESC_DPL_SHIFT)
+#define DESC_S_SHIFT 12
#define DESC_S_MASK (1 << 12)
#define DESC_TYPE_SHIFT 8
#define DESC_TYPE_MASK (15 << DESC_TYPE_SHIFT)
@@ -631,6 +635,7 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS];
#define CPUID_7_0_EBX_AVX512BW (1U << 30) /* AVX-512 Byte and Word
Instructions */
#define CPUID_7_0_EBX_AVX512VL (1U << 31) /* AVX-512 Vector Length Extensions
*/
+#define CPUID_7_0_ECX_AVX512BMI (1U << 1)
#define CPUID_7_0_ECX_VBMI (1U << 1) /* AVX-512 Vector Byte Manipulation
Instrs */
#define CPUID_7_0_ECX_UMIP (1U << 2)
#define CPUID_7_0_ECX_PKU (1U << 3)
@@ -806,6 +811,20 @@ typedef struct SegmentCache {
float64 _d_##n[(bits)/64]; \
}
+typedef union {
+ uint8_t _b[16];
+ uint16_t _w[8];
+ uint32_t _l[4];
+ uint64_t _q[2];
+} XMMReg;
+
+typedef union {
+ uint8_t _b[32];
+ uint16_t _w[16];
+ uint32_t _l[8];
+ uint64_t _q[4];
+} YMMReg;
+
typedef MMREG_UNION(ZMMReg, 512) ZMMReg;
typedef MMREG_UNION(MMXReg, 64) MMXReg;
@@ -1041,7 +1060,11 @@ typedef struct CPUX86State {
ZMMReg xmm_t0;
MMXReg mmx_t0;
+ XMMReg ymmh_regs[CPU_NB_REGS];
+
uint64_t opmask_regs[NB_OPMASK_REGS];
+ YMMReg zmmh_regs[CPU_NB_REGS];
+ ZMMReg hi16_zmm_regs[CPU_NB_REGS];
/* sysenter registers */
uint32_t sysenter_cs;
--
2.14.1
- [Qemu-devel] [PATCH v2 00/13] add support for Hypervisor.framework in QEMU, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 01/13] hvf: add support for Hypervisor.framework in the configure script, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 03/13] hvf: add compilation rules to Makefile.objs, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 07/13] apic: add function to apic that will be used by hvf, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 08/13] hvf: implement hvf_get_supported_cpuid, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 06/13] hvf: use new helper functions for put/get xsave, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 05/13] hvf: add fields to CPUState and CPUX86State; add definitions,
Sergio Andres Gomez Del Real <=
- [Qemu-devel] [PATCH v2 10/13] hvf: implement vga dirty page tracking, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 09/13] hvf: refactor cpuid code, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 13/13] hvf: inject General Protection Fault when vmexit through vmcall, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 12/13] hvf: refactor event injection code for hvf, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 11/13] hvf: move fields from CPUState to CPUX86State, Sergio Andres Gomez Del Real, 2017/08/30
- [Qemu-devel] [PATCH v2 04/13] hvf: run hvf code through checkpatch.pl and fix style issues, Sergio Andres Gomez Del Real, 2017/08/30