Re: [PATCH] x86: APIC: Remove apic_write_around(); use alternatives

From: Suresh Siddha
Date: Mon Jul 21 2008 - 14:00:29 EST


On Sun, Jul 20, 2008 at 05:08:11AM -0700, Ingo Molnar wrote:
>
> i've merged tip/x86/x2apic into tip/master, and it seems to be working
> fine. One UP build fix was needed for Xen, see below.

Thanks Ingo. I tested tip/master and found an issue (patch attached)
for x2apic support. This is not because of the recent merges we had, but
because of something(where we still access memory based interface after
enabling x2apic mode) that slipped through my earlier tests.

Probably it is a good idea to unmap the memory mapped interface, once we switch
to x2apic mode. That will catch the issues much earlier. I will
post another patch for this.

Meanwhile, I will do more testing of tip/master along with addressing
open issues.
---

[patch] x64, apic: use generic apic_write() for ack_APIC_irq()

ack_APIC_irq() is used at too many generic places (and not just during
irq_chip handling!) to use the native_apic_mem_write(). For ex, this will
break x2apic based systems.

Fix ack_APIC_irq() to use the generic apic_write() even for 64-bit.

Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
---

diff --git a/include/asm-x86/apic.h b/include/asm-x86/apic.h
index 300b65e..1df955f 100644
--- a/include/asm-x86/apic.h
+++ b/include/asm-x86/apic.h
@@ -138,11 +138,7 @@ static inline void ack_APIC_irq(void)
*/

/* Docs say use 0 for future compatibility */
-#ifdef CONFIG_X86_32
apic_write(APIC_EOI, 0);
-#else
- native_apic_mem_write(APIC_EOI, 0);
-#endif
}

extern int lapic_get_maxlvt(void);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/