Work around xstate_size export for kvm-kmod
PATCH 1/1 Work around xstate_size export for kvm-kmod
Here's another fix I discovered porting work to upstream today.
Cheers,
Zach
Quoted 1 line
From
84b75d80718e4e4af2d153250a77a5f50cffc152Mon Sep 17 00:00:00 2001
From: Zachary Amsden <[email protected]>
Date: Thu, 19 Aug 2010 21:20:50 -1000
Subject: [PATCH] Give KVM module xstate_size
This was just recently exported, but now KVM depends on it.
Signed-off-by Zachary Amsden <[email protected]>
--- sync | 1 + x86/external-module-compat.h | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-)
sync +1 -0
@@ -45,6 +45,7 @@ def hack_content(data): 'set_desc_base set_desc_limit pvclock_vcpu_time_info tboot_enabled ' 'i387_fxsave_struct native_write_msr_safe xsave_struct ' 'fpu_alloc fpu_free fpu_restore_checking fpu_save_init fpu_finit ' + 'xstate_size ' ) kvm_init = kvm_exit = False mce = False
x86/external-module-compat.h +14 -0
@@ -883,6 +883,18 @@ union kvm_thread_xstate { struct kvm_xsave_struct xsave; }; +static inline unsigned int kvm_xstate_size_cache (void ) +{ +static unsigned int xstate_size =0 ; +if (!xstate_size) { +unsigned int eax, ebx, ecx, edx; +cpuid_count (0xd ,0 , &eax, &ebx, &ecx, &edx); + xstate_size = ebx; + } +return xstate_size; +} +#define kvm_xstate_size kvm_xstate_size_cache() +#else /* >= 2.6.35 */ #define kvm_i387_fxsave_struct i387_fxsave_struct
@@ -956,6 +968,8 @@ static inline void kvm_fpu_save_init(struct kvm_compat_fpu *fpu)#define kvm_fpu_save_init fpu_save_init#define kvm_fpu_finit fpu_finit +#define kvm_xstate_size xstate_size +#endif /* >= 2.6.36 */ #ifndef XSTATE_FP
Signature · 1 line
1.7.1
Quoted 2 lines · Zachary Amsden
Here's another fix I discovered porting work to upstream today.
Thanks, Zach.
Actually, I already hacked up a similar fix but forgot to merge next into master (might be worth having an eye on that branch as well, I always forget something...). Please check that version, and if it works for you as well, I will make it official.
Jan
Signature · 2 lines
Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux