| Submitter | Alexander Graf |
|---|---|
| Date | July 1, 2010, 10:42 a.m. |
| Message ID | <1277980982-12433-17-git-send-email-agraf@suse.de> |
| Download | mbox | patch |
| Permalink | /patch/57512/ |
| State | Not Applicable |
| Headers | show |
Comments
On Thu, 1 Jul 2010, Alexander Graf wrote: > Currently x86 is the only architecture that uses kvm_guest_init(). With > PowerPC we're getting a second user, but the signature is different there > and we don't need to export it, as it uses the normal kernel init framework. Making the signatures match (i.e. always return `int') wouldn't hurt, since kvm_guest_init() apparently can fail on x86, too. > So let's move the x86 specific definition of that function over to the x86 > specfic header file. With kind regards, Geert Uytterhoeven Software Architect Techsoft Centre Technology and Software Centre Europe The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium Phone: +32 (0)2 700 8453 Fax: +32 (0)2 700 8622 E-mail: Geert.Uytterhoeven@sonycom.com Internet: http://www.sony-europe.com/ A division of Sony Europe (Belgium) N.V. VAT BE 0413.825.160 · RPR Brussels Fortis · BIC GEBABEBB · IBAN BE41293037680010 ************************************************************************ The information contained in this message or any of its attachments may be confidential and is intended for the exclusive use of the addressee(s). Any disclosure, reproduction, distribution or other dissemination or use of this communication is strictly prohibited without the express permission of the sender. The views expressed in this email are those of the individual and not necessarily those of Sony or Sony affiliated companies. Sony email is for business use only. This email and any response may be monitored by Sony to be in compliance with Sony's global policies and standards
On 02.07.2010, at 09:41, Geert Uytterhoeven wrote: > On Thu, 1 Jul 2010, Alexander Graf wrote: >> Currently x86 is the only architecture that uses kvm_guest_init(). With >> PowerPC we're getting a second user, but the signature is different there >> and we don't need to export it, as it uses the normal kernel init framework. > > Making the signatures match (i.e. always return `int') wouldn't hurt, > since kvm_guest_init() apparently can fail on x86, too. I'm reasonably indifferent here. Fact is that the x86 hook is done completely different from how we do it on ppc. So whatever we do, the signature doesn't belong in generic code. If you like, feel free to send a follow-up patch making the x86 signature return failures :). I personally don't think it make sense to expose failures for PV speedups - they should never be mandatory and thus failure is no problem for the system, so the caller doesn't need to know. Alex
Patch
diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h index 05eba5e..7b562b6 100644 --- a/arch/x86/include/asm/kvm_para.h +++ b/arch/x86/include/asm/kvm_para.h @@ -158,6 +158,12 @@ static inline unsigned int kvm_arch_para_features(void) return cpuid_eax(KVM_CPUID_FEATURES); } +#ifdef CONFIG_KVM_GUEST +void __init kvm_guest_init(void); +#else +#define kvm_guest_init() do { } while (0) #endif +#endif /* __KERNEL__ */ + #endif /* _ASM_X86_KVM_PARA_H */ diff --git a/include/linux/kvm_para.h b/include/linux/kvm_para.h index ac2015a..47a070b 100644 --- a/include/linux/kvm_para.h +++ b/include/linux/kvm_para.h @@ -26,11 +26,6 @@ #include <asm/kvm_para.h> #ifdef __KERNEL__ -#ifdef CONFIG_KVM_GUEST -void __init kvm_guest_init(void); -#else -#define kvm_guest_init() do { } while (0) -#endif static inline int kvm_para_has_feature(unsigned int feature) {
Currently x86 is the only architecture that uses kvm_guest_init(). With PowerPC we're getting a second user, but the signature is different there and we don't need to export it, as it uses the normal kernel init framework. So let's move the x86 specific definition of that function over to the x86 specfic header file. Signed-off-by: Alexander Graf <agraf@suse.de> --- arch/x86/include/asm/kvm_para.h | 6 ++++++ include/linux/kvm_para.h | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-)