Messages in this thread | | | Date | Fri, 18 Jul 2008 12:52:59 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] x86: APIC: Remove apic_write_around(); use alternatives |
| |
* Maciej W. Rozycki <macro@linux-mips.org> wrote:
> Use alternatives to select the workaround for the 11AP Pentium > erratum for the affected steppings on the fly rather than build time. > Remove the X86_GOOD_APIC configuration option and replace all the > calls to apic_write_around() with plain apic_write(), protecting > accesses to the ESR as appropriate due to the 3AP Pentium erratum. > Remove apic_read_around() and all its invocations altogether as not > needed. Remove apic_write_atomic() and all its implementing backends. > The use of ASM_OUTPUT2() is not strictly needed for input constraints, > but I have used it for readability's sake.
wow, impressive patch!
> I had the feeling no one else was brave enough to do it, so I went > ahead and here it is. Verified by checking the generated assembly and > tested with both a 32-bit and a 64-bit configuration, also with the > 11AP "feature" forced on and verified with gdb on /proc/kcore to work > as expected (as an 11AP machines are quite hard to get hands on these > days). Some script complained about the use of "volatile", but > apic_write() needs it for the same reason and is effectively a > replacement for writel(), so I have disregarded it.
kudos for pulling this off :-)
applied to tip/x86/apic. This will interact with tip/x86/x2apic but that topic is being worked on anyway. The interaction should be trivial.
Ingo
| |