* 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