kernel-ark/include
Maciej W. Rozycki 593f4a788e x86: APIC: remove apic_write_around(); use alternatives
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.

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.

I am not sure what the policy wrt defconfig files is, they are generated
and there is risk of a conflict resulting from an unrelated change, so I
have left changes to them out.  The option will get removed from them at
the next run.

Some testing with machines other than mine will be needed to avoid some
stupid mistake, but despite its volume, the change is not really that
intrusive, so I am fairly confident that because it works for me, it will
everywhere.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-07-18 12:51:21 +02:00
..
acpi Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-16 17:25:46 -07:00
asm-alpha smp_call_function: get rid of the unused nonatomic/retry argument 2008-06-26 11:24:35 +02:00
asm-arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2008-07-16 15:17:52 -07:00
asm-avr32 atmel-mci: Driver for Atmel on-chip MMC controllers 2008-07-15 14:14:49 +02:00
asm-blackfin Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue. 2008-06-19 17:46:39 +08:00
asm-cris
asm-frv frv: fix irqs_disabled() to return an int, not an unsigned long 2008-07-12 14:33:42 -07:00
asm-generic Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-16 17:25:46 -07:00
asm-h8300 h8300: fix typo in header guard 2008-06-06 11:29:12 -07:00
asm-ia64 ACPI : Create "idle=nomwait" bootparam 2008-07-16 23:27:05 +02:00
asm-m32r m32r: convert to generic helpers for IPI function calls 2008-06-26 11:22:57 +02:00
asm-m68k m68k: Add ext2_find_{first,next}_bit() for ext4 2008-06-12 18:05:39 -07:00
asm-m68knommu
asm-mips Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2008-07-16 15:17:52 -07:00
asm-mn10300 MN10300: Fix typo in header guard 2008-05-28 07:59:06 -07:00
asm-parisc parisc: convert to generic helpers for IPI function calls 2008-06-26 11:22:57 +02:00
asm-powerpc Merge commit 'origin/master' 2008-07-16 11:07:59 +10:00
asm-s390 [S390] qdio: new qdio driver. 2008-07-17 17:22:10 +02:00
asm-sh sh: convert to generic helpers for IPI function calls 2008-06-26 11:22:58 +02:00
asm-sparc smp_call_function: get rid of the unused nonatomic/retry argument 2008-06-26 11:24:35 +02:00
asm-sparc64 fix "ftrace: store mcount address in rec->ip" 2008-07-01 17:46:14 +02:00
asm-um uml: activate_mm: remove the dead PF_BORROWED_MM check 2008-06-06 11:36:22 -07:00
asm-v850 v850: fix typo in header guard 2008-06-06 11:29:12 -07:00
asm-x86 x86: APIC: remove apic_write_around(); use alternatives 2008-07-18 12:51:21 +02:00
asm-xtensa
crypto crypto: hash - Move ahash functions into crypto/hash.h 2008-07-10 20:35:18 +08:00
drm drm/radeon: fixup issue with radeon and PAT support. 2008-07-15 15:48:05 +10:00
keys
linux Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 2008-07-17 10:55:51 -07:00
math-emu
media V4L/DVB (8092): videodev: simplify and fix standard enumeration 2008-06-26 15:58:57 -03:00
mtd
net net-sched: change tcf_destroy_chain() to clear start of filter list 2008-07-01 19:52:38 -07:00
pcmcia pcmcia: (re)move {pcmcia,pccard}_get_status 2008-06-24 15:33:44 +02:00
rdma RDMA/addr: Keep pointer to netdevice in struct rdma_dev_addr 2008-07-14 23:48:53 -07:00
rxrpc
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-07-15 18:58:04 -07:00
sound ALSA: Release v1.0.17 2008-07-14 09:54:43 +02:00
video
xen xen: implement ptep_modify_prot_start/commit 2008-06-25 15:17:23 +02:00
Kbuild drm: reorganise drm tree to be more future proof. 2008-07-14 10:45:01 +10:00