asm/i386/kernel/paravirt.c buildfix
Subsystems (2)
PATCH 1/1 asm/i386/kernel/paravirt.c buildfix
asm/i386/kernel/paravirt.c buildfix.
drop apic_* duplicates which are defined in asm/paravirt.h
--- arch/i386/kernel/paravirt.c | 14 -------------- 1 file changed, 14 deletions(-)
arch/i386/kernel/paravirt.c +0 -14
@@ -693,20 +693,6 @@ void halt(void) }EXPORT_SYMBOL_GPL (halt); -#ifdef CONFIG_X86_LOCAL_APIC -void apic_write (unsigned long reg,unsigned long v) -{ - paravirt_ops.apic_write (reg,v); -} -EXPORT_SYMBOL_GPL (apic_write); - -unsigned long apic_read (unsigned long reg) -{ -return paravirt_ops.apic_read (reg); -} -EXPORT_SYMBOL_GPL (apic_read); -#endif -void __cpuid (unsigned int *eax,unsigned int *ebx,unsigned int *ecx,unsigned int *edx) {
Quoted 3 lines · * Gers Knorr ([email protected]) wrote:
asm/i386/kernel/paravirt.cbuildfix.drop apic_* duplicates which are defined in
asm/paravirt.h
Thanks, but did you build test w/ smth like allmodconfig (paravirt_ops not being exported anymore means those inline wrappers can easily break)?
thanks,
-chris
Quoted 7 lines · * Chris Wright ([email protected]) wrote:
Quoted 3 lines · * Gers Knorr ([email protected]) wrote:
asm/i386/kernel/paravirt.cbuildfix.drop apic_* duplicates which are defined in
asm/paravirt.hThanks, but did you build test w/ smth like allmodconfig (
paravirt_opsnot being exported anymore means those inline wrappers can easily break)?
OK, after some mucking about here's one that removes the issues with with pv allmodconfig.
thanks,
-chris
--
include/asm-i386/paravirt.h +21 -31
@@ -367,36 +367,6 @@ void __cpuid(unsigned int *eax, unsigned#define pmd_val (x) paravirt_ops.pmd_val(x)#endif -/* The paravirtualized I/O functions */ -static inline void slow_down_io (void ) { - paravirt_ops.io_delay (); -#ifdef REALLY_SLOW_IO - paravirt_ops.io_delay (); - paravirt_ops.io_delay (); - paravirt_ops.io_delay (); -#endif -} - -#ifdef CONFIG_X86_LOCAL_APIC -/* -* Basic functions accessing APICs. -*/ -static inline void apic_write (unsigned long reg,unsigned long v) -{ - paravirt_ops.apic_write (reg,v); -} - -static inline void apic_write_atomic (unsigned long reg,unsigned long v) -{ - paravirt_ops.apic_write_atomic (reg,v); -} - -static inline unsigned long apic_read (unsigned long reg) -{ -return paravirt_ops.apic_read (reg); -} -#endif -static inline void paravirt_pagetable_setup_start (pgd_t *base) {if (paravirt_ops.pagetable_setup_start)
@@ -495,13 +465,33 @@ void paravirt_irq_disable(void);void paravirt_irq_disable (void );void paravirt_irq_enable (void );void paravirt_const_udelay (unsigned long loops); -void paravirt_io_delay (void );u64 paravirt_read_msr (unsigned int msr,int *err);int paravirt_write_msr (unsigned int msr,u64 val);u64 paravirt_read_tsc (void );void raw_safe_halt (void );void halt (void );void wbinvd (void ); +void paravirt_io_delay (void ); +static inline void slow_down_io (void ) { +paravirt_io_delay (); +#ifdef REALLY_SLOW_IO +paravirt_io_delay (); +paravirt_io_delay (); +paravirt_io_delay (); +#endif +} + +#ifdef CONFIG_X86_LOCAL_APIC +/* +* Basic functions accessing APICs. +*/ +void apic_write (unsigned long reg,unsigned long v); +static inline void apic_write_atomic (unsigned long reg,unsigned long v) +{ + paravirt_ops.apic_write_atomic (reg,v); +} +unsigned long apic_read (unsigned long reg); +#endif /* These will be unexported once raid6 is fixed... */ void clts (void );
Quoted 3 lines · Gers Knorr
asm/i386/kernel/paravirt.cbuildfix.drop apic_* duplicates which are defined in
asm/paravirt.h
How did this segment get dropped from the patch I sent?
The correct answer is to remove the header versions, as Chris did.
Thanks!
Rusty.