linux/arch/i386
Zachary Amsden c9b02a2413 [PATCH] i386: use set_pte macros in a couple places where they were missing
Also, setting PDPEs in PAE mode does not require atomic operations, since the
PDPEs are cached by the processor, and only reloaded on an explicit or
implicit reload of CR3.

Since the four PDPEs must always be present in an active root, and the kernel
PDPE is never updated, we are safe even from SMIs and interrupts / NMIs using
task gates (which reload CR3).  Actually, much of this is moot, since the user
PDPEs are never updated either, and the only usage of task gates is by the
doublefault handler.  It appears the only place PGDs get updated in PAE mode
is in init_low_mappings() / zap_low_mapping() for initial page table creation
and recovery from ACPI sleep state, and these sites are safe by inspection.
Getting rid of the cmpxchg8b saves code space and 720 cycles in pgd_alloc on
P4.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-05 00:06:12 -07:00
..
boot [PATCH] coverity: i386: build.c: negative return to unsigned fix 2005-06-28 21:20:33 -07:00
crypto [PATCH] arch/i386/crypto/aes.c: fix sparse warnings 2005-06-25 16:24:59 -07:00
kernel [PATCH] i386: load_tls() fix 2005-09-05 00:06:11 -07:00
lib [PATCH] Remove i386_ksyms.c, almost. 2005-06-23 09:45:11 -07:00
mach-default [PATCH] x86_64: CPU hotplug support 2005-06-25 16:24:30 -07:00
mach-es7000 [PATCH] ES7000 platform update (i386) 2005-09-05 00:06:10 -07:00
mach-generic [PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs 2005-09-05 00:06:10 -07:00
mach-visws [PATCH] visws: linkage fix 2005-08-07 10:00:38 -07:00
mach-voyager [PATCH] i386 voyager: Add machine_shutdown 2005-08-06 12:54:57 -07:00
math-emu [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
mm [PATCH] i386: use set_pte macros in a couple places where they were missing 2005-09-05 00:06:12 -07:00
oprofile [PATCH] xen: x86: Rename usermode macro 2005-06-23 09:45:14 -07:00
pci [PATCH] x86: pci_assign_unassigned_resources() update 2005-08-30 11:14:48 -07:00
power [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
Kconfig [PATCH] sparsemem extreme implementation 2005-09-05 00:05:38 -07:00
Kconfig.debug [PATCH] i386: add missing Kconfig help text 2005-07-27 16:25:58 -07:00
Makefile [PATCH] biarch compiler support for i386 2005-06-23 09:45:07 -07:00
defconfig [PATCH] swsusp: kill config_pm_disk 2005-06-25 16:24:32 -07:00