From c9c2471796495453b0d75cfb3abaa05624d50a2a Mon Sep 17 00:00:00 2001 From: Matheus Date: Sat, 27 Dec 2025 17:23:21 -0300 Subject: [PATCH] x86_64/context: fix check for xsave --- kernel-src/arch/x86-64/context.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel-src/arch/x86-64/context.c b/kernel-src/arch/x86-64/context.c index 42f175d9..98fe0167 100644 --- a/kernel-src/arch/x86-64/context.c +++ b/kernel-src/arch/x86-64/context.c @@ -42,10 +42,11 @@ typedef struct { void arch_extracontext_detect(void) { if (!arch_xsave_size) { - if (cpuid_base_max_leaf() >= 0x0d) { + cpuid_results_t results; + cpuid(1, &results); + if (cpuid_base_max_leaf() >= 0x0d && (results.ecx & (1 << 26))) { xsave_method = XSAVE; - cpuid_results_t results; cpuid_with_ecx(0x0d, 0, &results); xcr0_value = ((uint64_t)results.edx << 32) | results.eax; xcr0_value &= XCR0_MASK;