kernel-ark/include/asm-i386
Zachary Amsden d7271b14b2 [PATCH] i386: encapsulate copying of pgd entries
Add a clone operation for pgd updates.

This helps complete the encapsulation of updates to page tables (or pages
about to become page tables) into accessor functions rather than using
memcpy() to duplicate them.  This is both generally good for consistency
and also necessary for running in a hypervisor which requires explicit
updates to page table entries.

The new function is:

clone_pgd_range(pgd_t *dst, pgd_t *src, int count);

   dst - pointer to pgd range anwhere on a pgd page
   src - ""
   count - the number of pgds to copy.

   dst and src can be on the same page, but the range must not overlap
   and must not cross a page boundary.

Note that I ommitted using this call to copy pgd entries into the
software suspend page root, since this is not technically a live paging
structure, rather it is used on resume from suspend.  CC'ing Pavel in case
he has any feedback on this.

Thanks to Chris Wright for noticing that this could be more optimal in
PAE compiles by eliminating the memset.

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:13 -07:00
..
mach-bigsmp
mach-default
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-numaq
mach-summit
mach-visws
mach-voyager
8253pit.h
a.out.h
acpi.h
agp.h [PATCH] i386: inline asm cleanup 2005-09-05 00:06:11 -07:00
apic.h
apicdef.h [PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs 2005-09-05 00:06:10 -07:00
arch_hooks.h
atomic.h
bitops.h
boot.h
bug.h
bugs.h [PATCH] i386: inline asm cleanup 2005-09-05 00:06:11 -07:00
byteorder.h
cache.h
cacheflush.h
checksum.h
cpu.h
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc.h [PATCH] x86: introduce a write acessor for updating the current LDT 2005-09-05 00:06:13 -07:00
div64.h
dma-mapping.h
dma.h
e820.h
elf.h
emergency-restart.h
errno.h
fcntl.h
fixmap.h
floppy.h
genapic.h
hardirq.h
hdreg.h
highmem.h
hpet.h
hw_irq.h
i387.h
i8253.h
i8259.h
ide.h
io_apic.h
io.h
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq.h
ist.h
kdebug.h [PATCH] x86 NMI: better support for debuggers 2005-09-05 00:06:13 -07:00
kexec.h
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h
math_emu.h
mc146818rtc.h
mca_dma.h
mca.h
mman.h
mmu_context.h
mmu.h
mmx.h
mmzone.h
module.h
mpspec_def.h
mpspec.h [PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs 2005-09-05 00:06:10 -07:00
msgbuf.h
msi.h
msr.h [PATCH] x86: more asm cleanups 2005-09-05 00:06:12 -07:00
mtrr.h
namei.h
nmi.h
node.h
numaq.h
numnodes.h
page.h [PATCH] remove hugetlb_clean_stale_pgtable() and fix huge_pte_alloc() 2005-09-05 00:05:46 -07:00
param.h
parport.h
pci-direct.h
pci.h
percpu.h
pgalloc.h
pgtable-2level-defs.h
pgtable-2level.h
pgtable-3level-defs.h
pgtable-3level.h [PATCH] i386: use set_pte macros in a couple places where they were missing 2005-09-05 00:06:12 -07:00
pgtable.h [PATCH] i386: encapsulate copying of pgd entries 2005-09-05 00:06:13 -07:00
poll.h
posix_types.h
processor.h [PATCH] x86: make IOPL explicit 2005-09-05 00:06:12 -07:00
ptrace.h [PATCH] x86: privilege cleanup 2005-09-05 00:06:12 -07:00
resource.h
rtc.h
rwlock.h
rwsem.h
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h
setup.h [PATCH] x86: fix EFI memory map parsing 2005-09-05 00:06:09 -07:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
sparsemem.h
spinlock.h
srat.h
stat.h
statfs.h
string.h
suspend.h
system.h [PATCH] x86: make IOPL explicit 2005-09-05 00:06:12 -07:00
termbits.h
termios.h
thread_info.h
timer.h
timex.h
tlb.h
tlbflush.h
topology.h
types.h [PATCH] sab: consolidate kmem_bufctl_t 2005-09-05 00:05:48 -07:00
uaccess.h
ucontext.h
unaligned.h
unistd.h
user.h
vga.h
vic.h
vm86.h
voyager.h
xor.h [PATCH] i386: inline asm cleanup 2005-09-05 00:06:11 -07:00