[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 16/25] target/i386: Change wrong XFRM value in SGX CPUID leaf
From: |
Paolo Bonzini |
Subject: |
[PULL 16/25] target/i386: Change wrong XFRM value in SGX CPUID leaf |
Date: |
Fri, 21 Apr 2023 11:33:07 +0200 |
From: Yang Zhong <yang.zhong@linux.intel.com>
The previous patch wrongly replaced FEAT_XSAVE_XCR0_{LO|HI} with
FEAT_XSAVE_XSS_{LO|HI} in CPUID(EAX=12,ECX=1):{ECX,EDX}. As a result,
SGX enclaves only supported SSE and x87 feature (xfrm=0x3).
Fixes: 301e90675c3f ("target/i386: Enable support for XSAVES based features")
Signed-off-by: Yang Zhong <yang.zhong@linux.intel.com>
Reviewed-by: Yang Weijiang <weijiang.yang@intel.com>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Message-Id: <20230406064041.420039-1-yang.zhong@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target/i386/cpu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 6576287e5b6c..f083ff4335ac 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5718,8 +5718,8 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,
uint32_t count,
} else {
*eax &= env->features[FEAT_SGX_12_1_EAX];
*ebx &= 0; /* ebx reserve */
- *ecx &= env->features[FEAT_XSAVE_XSS_LO];
- *edx &= env->features[FEAT_XSAVE_XSS_HI];
+ *ecx &= env->features[FEAT_XSAVE_XCR0_LO];
+ *edx &= env->features[FEAT_XSAVE_XCR0_HI];
/* FP and SSE are always allowed regardless of XSAVE/XCR0. */
*ecx |= XSTATE_FP_MASK | XSTATE_SSE_MASK;
--
2.40.0
- [PULL 07/25] configure: Avoid -Werror=maybe-uninitialized, (continued)
- [PULL 07/25] configure: Avoid -Werror=maybe-uninitialized, Paolo Bonzini, 2023/04/21
- [PULL 09/25] lasi: fix RTC migration, Paolo Bonzini, 2023/04/21
- [PULL 08/25] target/i386: Avoid unreachable variable declaration in mmu_translate(), Paolo Bonzini, 2023/04/21
- [PULL 11/25] target/mips: tcg: detect out-of-bounds accesses to cpu_gpr and cpu_gpr_hi, Paolo Bonzini, 2023/04/21
- [PULL 10/25] coverity: update COMPONENTS.md, Paolo Bonzini, 2023/04/21
- [PULL 13/25] io: mark mixed functions that can suspend, Paolo Bonzini, 2023/04/21
- [PULL 12/25] qapi-gen: mark coroutine QMP command functions as coroutine_fn, Paolo Bonzini, 2023/04/21
- [PULL 18/25] postcopy-ram: do not use qatomic_mb_read, Paolo Bonzini, 2023/04/21
- [PULL 14/25] migration: mark mixed functions that can suspend, Paolo Bonzini, 2023/04/21
- [PULL 15/25] monitor: mark mixed functions that can suspend, Paolo Bonzini, 2023/04/21
- [PULL 16/25] target/i386: Change wrong XFRM value in SGX CPUID leaf,
Paolo Bonzini <=
- [PULL 17/25] block-backend: remove qatomic_mb_read(), Paolo Bonzini, 2023/04/21
- [PULL 20/25] docs: explain effect of smp_read_barrier_depends() on modern architectures, Paolo Bonzini, 2023/04/21
- [PULL 21/25] nbd: a BlockExport always has a BlockBackend, Paolo Bonzini, 2023/04/21
- [PULL 23/25] configure: Honour cross-prefix when finding ObjC compiler, Paolo Bonzini, 2023/04/21
- [PULL 19/25] qemu-coroutine: remove qatomic_mb_read(), Paolo Bonzini, 2023/04/21
- [PULL 22/25] coverity: unify Fedora dockerfiles, Paolo Bonzini, 2023/04/21
- [PULL 25/25] tests: lcitool: Switch to OpenSUSE Leap 15.4, Paolo Bonzini, 2023/04/21
- [PULL 24/25] tests: libvirt-ci: Update to commit '2fa24dce8bc', Paolo Bonzini, 2023/04/21
- Re: [PULL 00/25] First batch of misc patches for QEMU 8.1, Richard Henderson, 2023/04/22