linux/arch
Carsten Otte 402b08622d s390: KVM preparation: provide hook to enable pgstes in user pagetable
The SIE instruction on s390 uses the 2nd half of the page table page to
virtualize the storage keys of a guest. This patch offers the s390_enable_sie
function, which reorganizes the page tables of a single-threaded process to
reserve space in the page table:
s390_enable_sie makes sure that the process is single threaded and then uses
dup_mm to create a new mm with reorganized page tables. The old mm is freed
and the process has now a page status extended field after every page table.

Code that wants to exploit pgstes should SELECT CONFIG_PGSTE.

This patch has a small common code hit, namely making dup_mm non-static.

Edit (Carsten): I've modified Martin's patch, following Jeremy Fitzhardinge's
review feedback. Now we do have the prototype for dup_mm in
include/linux/sched.h. Following Martin's suggestion, s390_enable_sie() does now
call task_lock() to prevent race against ptrace modification of mm_users.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-04-27 12:00:40 +03:00
..
alpha alpha: unbreak OSF/1 (a.out) binaries 2008-04-24 08:35:47 -07:00
arm Merge branch 'irq-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2008-04-24 08:42:21 -07:00
avr32 avr32: Add hardware power-down function call 2008-04-19 20:40:11 -04:00
blackfin [Blackfin] arch: add include/boot .gitignore files 2008-04-25 08:29:11 +08:00
cris Generic semaphore implementation 2008-04-17 10:42:34 -04:00
frv frv: unexport kmap_atomic_to_page 2008-04-21 16:03:13 -07:00
h8300 Generic semaphore implementation 2008-04-17 10:42:34 -04:00
ia64 [IA64] move XP and XPC to drivers/misc/sgi-xp 2008-04-22 15:08:17 -07:00
m32r Generic semaphore implementation 2008-04-17 10:42:34 -04:00
m68k arch: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:14:49 -04:00
m68knommu Generic semaphore implementation 2008-04-17 10:42:34 -04:00
mips arch: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:14:49 -04:00
mn10300 PCI: remove initial bios sort of PCI devices on x86 2008-04-20 21:46:58 -07:00
parisc Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 2008-04-21 15:58:35 -07:00
powerpc [POWERPC] Add zImage.iseries to arch/powerpc/boot/.gitignore 2008-04-25 09:48:13 +10:00
ppc [POWERPC] Add strncmp to arch/ppc 2008-04-24 20:57:34 +10:00
s390 s390: KVM preparation: provide hook to enable pgstes in user pagetable 2008-04-27 12:00:40 +03:00
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 2008-04-21 15:58:35 -07:00
sparc sparc: cleanup after SunOS binary emulation removal 2008-04-23 23:32:18 -07:00
sparc64 [SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit(). 2008-04-25 03:11:37 -07:00
um x86, bitops: select the generic bitmap search functions 2008-04-26 19:21:17 +02:00
v850 arch: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:14:49 -04:00
x86 KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
xtensa Generic semaphore implementation 2008-04-17 10:42:34 -04:00
.gitignore
Kconfig Kprobes: indicate kretprobe support in Kconfig 2008-03-04 16:35:11 -08:00