* Chris Wright ([EMAIL PROTECTED]) wrote:
> * Gers Knorr ([EMAIL PROTECTED]) wrote:
> > asm/i386/kernel/paravirt.c buildfix.
> > 
> > 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)?

OK, after some mucking about here's one that removes the issues with
with pv allmodconfig.

thanks,
-chris
--

diff -r d1e90752bb71 include/asm-i386/paravirt.h
--- a/include/asm-i386/paravirt.h       Mon Jan 08 14:32:00 2007 -0500
+++ b/include/asm-i386/paravirt.h       Mon Jan 08 17:32:12 2007 -0500
@@ -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);
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/virtualization

Reply via email to