[PATCH] i386/cpu: Fix unexpected initializer override in CPU model definition for Diamond Rapids

Aidan Khoury posted 1 patch 3 weeks, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260113164355.1623966-2-aidan@aktech.ai
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Zhao Liu <zhao1.liu@intel.com>
target/i386/cpu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] i386/cpu: Fix unexpected initializer override in CPU model definition for Diamond Rapids
Posted by Aidan Khoury 3 weeks, 4 days ago
The new Diamond Rapids x86 cpu model definition that was added in 7a6dd8bde159 has an unexpected comma in
the `.features[FEAT_VMX_EXIT_CTLS]` subobject initializer causing the prior initialization to be overridden,
meaning that `VMX_VM_EXIT_SAVE_DEBUG_CONTROLS | VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE` is not included.

Fix this by replacing the comma with the missing bitwise OR to properly combine all the flags into a single
bitmask value.

Fixes: 7a6dd8bde159 ("i386/cpu: Add CPU model for Diamond Rapids")
Signed-off-by: Aidan Khoury <aidan@aktech.ai>
---
 target/i386/cpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 37803cd724..917b37d128 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5589,7 +5589,7 @@ static const X86CPUDefinition builtin_x86_defs[] = {
             MSR_VMX_EPT_INVVPID_ALL_CONTEXT |
             MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT_NOGLOBALS,
         .features[FEAT_VMX_EXIT_CTLS] =
-            VMX_VM_EXIT_SAVE_DEBUG_CONTROLS | VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE,
+            VMX_VM_EXIT_SAVE_DEBUG_CONTROLS | VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE |
             VMX_VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL |
             VMX_VM_EXIT_ACK_INTR_ON_EXIT | VMX_VM_EXIT_SAVE_IA32_PAT |
             VMX_VM_EXIT_LOAD_IA32_PAT | VMX_VM_EXIT_SAVE_IA32_EFER |
-- 
2.43.0
Re: [PATCH] i386/cpu: Fix unexpected initializer override in CPU model definition for Diamond Rapids
Posted by Zhao Liu 2 weeks, 2 days ago
(Cc Maintainer Paolo)

On Tue, Jan 13, 2026 at 12:43:56PM -0400, Aidan Khoury wrote:
> Date: Tue, 13 Jan 2026 12:43:56 -0400
> From: Aidan Khoury <aidan@aktech.ai>
> Subject: [PATCH] i386/cpu: Fix unexpected initializer override in CPU model
>  definition for Diamond Rapids
> X-Mailer: git-send-email 2.43.0
> 
> The new Diamond Rapids x86 cpu model definition that was added in 7a6dd8bde159 has an unexpected comma in
> the `.features[FEAT_VMX_EXIT_CTLS]` subobject initializer causing the prior initialization to be overridden,
> meaning that `VMX_VM_EXIT_SAVE_DEBUG_CONTROLS | VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE` is not included.
> 
> Fix this by replacing the comma with the missing bitwise OR to properly combine all the flags into a single
> bitmask value.
> 
> Fixes: 7a6dd8bde159 ("i386/cpu: Add CPU model for Diamond Rapids")
> Signed-off-by: Aidan Khoury <aidan@aktech.ai>
> ---
>  target/i386/cpu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Thank you and my bad,

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>

BTW, just curious, what warning did you meet? I can make some
improvements.

Thanks,
Zhao