[patch] asm/i386/kernel/paravirt.c buildfix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Chris Wright (chrisw at sous-sol.org) wrote:
> * Gers Knorr (kraxel at suse.de) 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);


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux