1
linux/include/asm-i386
Zachary Amsden 49f1971051 [PATCH] Proper fix for highmem kmap_atomic functions for VMI for 2.6.21
Since lazy MMU batching mode still allows interrupts to enter, it is
possible for interrupt handlers to try to use kmap_atomic, which fails when
lazy mode is active, since the PTE update to highmem will be delayed.  The
best workaround is to issue an explicit flush in kmap_atomic_functions
case; this is the only way nested PTE updates can happen in the interrupt
handler.

Thanks to Jeremy Fitzhardinge for noting the bug and suggestions on a fix.

This patch gets reverted again when we start 2.6.22 and the bug gets fixed
differently.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Cc: Andi Kleen <ak@muc.de>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-04-08 19:47:55 -07:00
..
mach-bigsmp
mach-default [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
mach-es7000 ACPICA: Remove duplicate table definitions (non-conflicting), cont 2007-02-02 21:14:29 -05:00
mach-generic
mach-numaq
mach-summit [PATCH] i386: Fix compilation with UP genericarch 2006-11-28 20:12:59 +01:00
mach-visws [PATCH] visws build fix 2006-10-28 11:30:52 -07:00
mach-voyager [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
8253pit.h
a.out.h
acpi.h ACPI: cleanup: make disable_acpi() valid w/o CONFIG_ACPI 2007-02-13 00:09:13 -05:00
agp.h
alternative-asm.i Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
alternative.h [PATCH] paravirt: Patch inline replacements for paravirt intercepts 2006-12-07 02:14:08 +01:00
apic.h [PATCH] i386: add command line option "local_apic_timer_c2_ok" 2007-03-23 10:21:02 -07:00
apicdef.h
arch_hooks.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atomic.h [PATCH] Numerous fixes to kernel-doc info in source files. 2007-02-11 10:51:32 -08:00
auxvec.h
bitops.h [PATCH] Numerous fixes to kernel-doc info in source files. 2007-02-11 10:51:32 -08:00
boot.h [PATCH] i386: Restore CONFIG_PHYSICAL_START option 2007-01-05 23:55:23 -08:00
bug.h [PATCH] Generic BUG for i386 2006-12-08 08:28:39 -08:00
bugs.h [PATCH] i386: improve sched_clock() on i686 2007-02-13 13:26:22 +01:00
byteorder.h
cache.h
cacheflush.h [PATCH] Optimize D-cache alias handling on fork 2006-12-13 09:27:08 -08:00
checksum.h [NET]: I386 checksum annotations and cleanups. 2006-12-02 21:23:19 -08:00
cpu.h [PATCH] i386: introduce the mechanism of disabling cpu hotplug control 2006-12-07 02:14:10 +01:00
cpufeature.h [PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E 2007-04-02 12:14:12 +02:00
cputime.h
current.h [PATCH] i386: Implement "current" with the PDA 2006-12-07 02:14:03 +01:00
debugreg.h
delay.h [PATCH] vmi: paravirt drop udelay op 2007-03-05 07:57:52 -08:00
desc.h [PATCH] i386: Rename cpu_gdt_descr and remove extern declaration from smpboot.c 2007-02-13 13:26:26 +01:00
device.h ACPI: Change ACPI to use dev_archdata instead of firmware_data 2006-12-01 14:52:01 -08:00
div64.h
dma-mapping.h [PATCH] Pass struct dev pointer to dma_cache_sync() 2006-12-07 08:39:41 -08:00
dma.h
dmi.h
dwarf2.h [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder 2006-09-26 10:52:41 +02:00
e820.h [PATCH] compile error of register_memory() 2006-12-22 08:55:49 -08:00
edac.h
elf.h [PATCH] i386: clear segment register padding in core dumps 2007-03-23 15:32:58 -07:00
emergency-restart.h
errno.h
fcntl.h
fixmap.h [PATCH] Fix CONFIG_COMPAT_VDSO 2007-01-26 13:50:58 -08:00
floppy.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
frame.i Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
futex.h [PATCH] mm: pagefault_{disable,enable}() 2006-12-07 08:39:21 -08:00
genapic.h [PATCH] x86: fix the irqbalance quirk for E7320/E7520/E7525 2006-12-07 02:14:10 +01:00
hardirq.h
highmem.h
hpet.h [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
hw_irq.h [PATCH] i386/x86_64: Remove global IO_APIC_VECTOR 2006-10-08 12:24:02 -07:00
hypertransport.h [PATCH] Initial generic hypertransport interrupt support 2006-10-04 07:55:29 -07:00
i387.h [PATCH] i386: add sleazy FPU optimization 2006-12-07 02:14:01 +01:00
i8253.h [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
i8259.h
ide.h [PATCH] ide: more conversion to pci_get APIs 2006-12-08 08:29:03 -08:00
intel_arch_perfmon.h [PATCH] x86: i386/x86-64 Add nmi watchdog support for new Intel CPUs 2006-09-26 10:52:27 +02:00
io_apic.h [PATCH] io_apic.h needs apicdef.h 2007-03-05 07:57:50 -08:00
io.h [PATCH] kill eth_io_copy_and_sum() 2007-02-09 09:14:07 -08:00
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq_regs.h [PATCH] i386: Store the interrupt regs pointer in the PDA 2006-12-07 02:14:03 +01:00
irq.h [PATCH] x86: fix the irqbalance quirk for E7320/E7520/E7525 2006-12-07 02:14:10 +01:00
irqflags.h [PATCH] paravirt: Patch inline replacements for paravirt intercepts 2006-12-07 02:14:08 +01:00
ist.h
k8.h
Kbuild [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
kdebug.h
kexec.h [PATCH] i386: Avoid overwriting the current pgd (V4, i386) 2006-09-26 10:52:38 +02:00
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h
math_emu.h [PATCH] i386: PDA: Fix math emulator for new pt_regs 2006-12-07 02:14:03 +01:00
mc146818rtc.h
mca_dma.h [PATCH] kernel-doc for kernel/dma.c 2006-10-03 08:03:41 -07:00
mca.h
mce.h [PATCH] i386: Move mce_disabled to asm/mce.h 2007-02-13 13:26:26 +01:00
mman.h
mmu_context.h [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
mmu.h
mmx.h
mmzone.h [PATCH] silence unused pgdat warning from alloc_bootmem_node and friends 2006-12-07 08:39:23 -08:00
module.h [PATCH] i386: always enable regparm 2006-12-07 02:14:12 +01:00
mpspec_def.h [PATCH] x86-64: remove remaining pc98 code 2006-12-07 02:14:19 +01:00
mpspec.h [PATCH] clockevents: i386 drivers 2007-02-16 08:13:59 -08:00
msgbuf.h
msidef.h [PATCH] genirq: i386 irq: Move msi message composition into io_apic.c 2006-10-04 07:55:28 -07:00
msr.h [PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E 2007-04-02 12:14:12 +02:00
mtrr.h
mutex.h [PATCH] i386: Remove lock section support in mutex.h 2006-09-26 10:52:31 +02:00
namei.h
nmi.h Disable NMI watchdog by default properly 2007-03-14 17:53:43 -07:00
numa.h
numaq.h
page.h [PATCH] Fix CONFIG_COMPAT_VDSO 2007-01-26 13:50:58 -08:00
param.h [PATCH] cleanup asm/setup.h userspace visibility 2006-12-07 08:39:46 -08:00
paravirt.h [PATCH] Proper fix for highmem kmap_atomic functions for VMI for 2.6.21 2007-04-08 19:47:55 -07:00
parport.h
pci-direct.h
pci.h
pda.h [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
percpu.h [PATCH] i386: espfix cleanup 2006-12-07 02:14:01 +01:00
pgalloc.h [PATCH] MM: page allocation hooks for VMI backend 2007-02-13 13:26:21 +01:00
pgtable-2level-defs.h
pgtable-2level.h [PATCH] paravirt: fix missing pte update 2006-12-07 02:14:09 +01:00
pgtable-3level-defs.h
pgtable-3level.h [PATCH] paravirt: fix missing pte update 2006-12-07 02:14:09 +01:00
pgtable.h [PATCH] vmi: fix highpte 2007-03-05 07:57:52 -08:00
poll.h
posix_types.h
processor.h Revert "[PATCH] i386: add idle notifier" 2007-02-26 09:21:46 -08:00
ptrace-abi.h [PATCH] Split i386 and x86_64 ptrace.h 2006-09-26 08:49:10 -07:00
ptrace.h [PATCH] i386: Profile pc badness 2007-02-13 13:26:21 +01:00
resource.h
rtc.h
rwlock.h [PATCH] i386: Clean up spin/rwlocks 2006-09-26 10:52:32 +02:00
rwsem.h [PATCH] lockdep: name some old style locks 2006-12-07 08:39:36 -08:00
scatterlist.h
seccomp.h
sections.h
segment.h [PATCH] i386: Profile pc badness 2007-02-13 13:26:21 +01:00
semaphore.h [PATCH] i386: Use early clobbers for semaphores now 2006-09-27 14:39:51 -07:00
sembuf.h
serial.h
setup.h [PATCH] i386: Remove extern declaration from mm/discontig.c, put in header. 2007-02-13 13:26:26 +01:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h [PATCH] i386: SMP boot hook for paravirt 2007-02-13 13:26:21 +01:00
socket.h
sockios.h
sparsemem.h
spinlock_types.h [PATCH] Remove 'volatile' from spinlock_types 2006-12-06 14:39:53 -08:00
spinlock.h [PATCH] paravirt: Patch inline replacements for paravirt intercepts 2006-12-07 02:14:08 +01:00
srat.h
stacktrace.h [PATCH] i386: Do stacktracer conversion too 2006-09-26 10:52:34 +02:00
stat.h
statfs.h
string.h
suspend.h Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-12-07 08:59:11 -08:00
sync_bitops.h [PATCH] i386: fix typo in sync_constant_test_bit()'s name 2007-03-16 19:25:07 -07:00
system.h [PATCH] paravirt: header and stubs for paravirtualisation 2006-12-07 02:14:07 +01:00
termbits.h [PATCH] tty: minor merge correction 2007-03-27 09:05:15 -07:00
termios.h [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
therm_throt.h [PATCH] x86: Add a cumulative thermal throttle event counter. 2006-09-26 10:52:42 +02:00
thread_info.h [PATCH] PM: Fix SMP races in the freezer 2006-12-13 09:05:49 -08:00
time.h [PATCH] vmi: pit override 2007-03-05 07:57:52 -08:00
timer.h [PATCH] vmi: cpu cycles fix 2007-03-05 07:57:52 -08:00
timex.h
tlb.h
tlbflush.h [PATCH] paravirt: Add MMU virtualization to paravirt_ops 2006-12-07 02:14:08 +01:00
topology.h [PATCH] sched: remove SMT nice 2007-03-05 07:57:51 -08:00
tsc.h [PATCH] i386: make x86_64 tsc header require i386 rather than vice-versa 2007-03-06 09:30:24 -08:00
types.h [PATCH] Centralise definitions of sector_t and blkcnt_t 2006-12-04 19:41:15 -08:00
uaccess.h [PATCH] fix sparse warnings from {asm,net}/checksum.h 2007-02-11 10:51:31 -08:00
ucontext.h
unaligned.h
unistd.h [PATCH] remove kernel syscalls 2006-12-07 08:39:37 -08:00
unwind.h Remove stack unwinder for now 2006-12-15 08:47:51 -08:00
user.h
vga.h
vic.h [VOYAGER] fix up ptregs removal mess 2006-10-12 22:25:03 -05:00
vm86.h [PATCH] i386: Update sys_vm86 to cope with changed pt_regs and %gs usage 2006-12-07 02:14:03 +01:00
vmi_time.h [PATCH] Fix vmi time header bug 2007-03-12 16:36:16 -07:00
vmi.h [PATCH] vmi: apic ops 2007-03-05 07:57:52 -08:00
voyager.h [VOYAGER] fix up attribute packed specifiers in voyager.h 2006-10-12 22:23:18 -05:00
xor.h