* [PATCH] Work around xstate_size export for kvm-kmod
@ 2010-08-20 7:25 Zachary Amsden
2010-08-20 8:36 ` Jan Kiszka
0 siblings, 1 reply; 2+ messages in thread
From: Zachary Amsden @ 2010-08-20 7:25 UTC (permalink / raw)
To: Jan Kiszka, kvm
[-- Attachment #1: Type: text/plain, Size: 79 bytes --]
Here's another fix I discovered porting work to upstream today.
Cheers,
Zach
[-- Attachment #2: 0001-Give-KVM-module-xstate_size.patch --]
[-- Type: text/plain, Size: 1783 bytes --]
>From 84b75d80718e4e4af2d153250a77a5f50cffc152 Mon Sep 17 00:00:00 2001
From: Zachary Amsden <zamsden@redhat.com>
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 <zamsden@redhat.com>
---
sync | 1 +
x86/external-module-compat.h | 14 ++++++++++++++
2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/sync b/sync
index c124fc7..b644f4d 100755
--- a/sync
+++ b/sync
@@ -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
diff --git a/x86/external-module-compat.h b/x86/external-module-compat.h
index ead5b5a..464d6a8 100644
--- a/x86/external-module-compat.h
+++ b/x86/external-module-compat.h
@@ -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
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Work around xstate_size export for kvm-kmod
2010-08-20 7:25 [PATCH] Work around xstate_size export for kvm-kmod Zachary Amsden
@ 2010-08-20 8:36 ` Jan Kiszka
0 siblings, 0 replies; 2+ messages in thread
From: Jan Kiszka @ 2010-08-20 8:36 UTC (permalink / raw)
To: Zachary Amsden; +Cc: kvm
Zachary Amsden wrote:
> 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
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-08-20 8:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-20 7:25 [PATCH] Work around xstate_size export for kvm-kmod Zachary Amsden
2010-08-20 8:36 ` Jan Kiszka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).