linux/include/asm-s390
Heiko Carstens b0c632db63 KVM: s390: arch backend for the kvm kernel module
This patch contains the port of Qumranet's kvm kernel module to IBM zSeries
 (aka s390x, mainframe) architecture. It uses the mainframe's virtualization
instruction SIE to run virtual machines with up to 64 virtual CPUs each.
This port is only usable on 64bit host kernels, and can only run 64bit guest
kernels. However, running 31bit applications in guest userspace is possible.

The following source files are introduced by this patch
arch/s390/kvm/kvm-s390.c    similar to arch/x86/kvm/x86.c, this implements all
                            arch callbacks for kvm. __vcpu_run calls back into
                            sie64a to enter the guest machine context
arch/s390/kvm/sie64a.S      assembler function sie64a, which enters guest
                            context via SIE, and switches world before and after                            that
include/asm-s390/kvm_host.h contains all vital data structures needed to run
                            virtual machines on the mainframe
include/asm-s390/kvm.h      defines kvm_regs and friends for user access to
                            guest register content
arch/s390/kvm/gaccess.h     functions similar to uaccess to access guest memory
arch/s390/kvm/kvm-s390.h    header file for kvm-s390 internals, extended by
                            later patches

Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-04-27 12:00:42 +03:00
..
airq.h [S390] cio: Extend adapter interrupt interface. 2008-01-26 14:11:00 +01:00
appldata.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
atomic.h [S390] Change atomic_read/set to inline functions with barrier semantics. 2007-08-22 13:51:49 +02:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bitops.h generic: implement __fls on all 64-bit archs 2008-04-26 19:21:16 +02:00
bug.h Fix WARN_ON() on bitfield ops for all other archs 2007-08-01 20:45:38 -07:00
bugs.h [S390] check_bugs() should be inline. 2007-03-05 23:35:50 +01:00
byteorder.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
cache.h [S390] Get rid of ARCH_KMALLOC_MINALIGN. 2007-10-12 16:13:07 +02:00
cacheflush.h [S390] DEBUG_PAGEALLOC support for s390. 2008-02-05 16:50:54 +01:00
ccwdev.h [S390] cio: Introduce ccw_bus_type.shutdown. 2007-10-12 16:13:01 +02:00
ccwgroup.h [S390] cio: Add shutdown callback for ccwgroup. 2008-02-05 16:50:54 +01:00
checksum.h [S390] Fix TCP/UDP pseudo header checksum computation. 2007-03-26 20:43:46 +02:00
chpid.h [S390] cio: Channel-path configure function. 2007-04-27 16:01:39 +02:00
cio.h [S390] Fix a lot of sparse warnings. 2008-04-17 07:47:06 +02:00
cmb.h [S390] cio: Kerneldoc comments for cmf. 2007-10-12 16:12:59 +02:00
compat.h asm-*/compat.h: fix typo in comment 2008-02-03 16:32:51 +02:00
cpcmd.h [S390] cpcmd <-> __cpcmd calling issues 2006-12-04 15:40:30 +01:00
cpu.h [S390] Convert monitor calls to function calls. 2008-04-17 07:47:05 +02:00
cputime.h taskstats scaled time cleanup 2008-02-06 10:41:00 -08:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dasd.h [S390] include/asm-s390/: Spelling fixes 2008-01-26 14:11:25 +01:00
debug.h [S390] Add debug_register_mode() function to debug feature API 2008-04-17 07:47:03 +02:00
delay.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
device.h Driver core: add dev_archdata to struct device 2006-12-01 14:52:01 -08:00
diag.h [S390] vmur: fix diag14 exceptions with addresses > 2GB. 2007-08-22 13:51:47 +02:00
div64.h [S390] __div64_32 for 31 bit. 2006-09-28 16:55:39 +02:00
dma.h [S390] empty function defines. 2006-09-20 15:58:51 +02:00
ebcdic.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
elf.h [S390] dynamic page tables. 2008-02-09 18:24:41 +01:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
etr.h [S390] ETR support. 2007-02-05 21:18:19 +01:00
extmem.h [S390] Remove code duplication from monreader / dcssblk. 2008-04-17 07:47:07 +02:00
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fcntl.h [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
futex.h [S390] don't call handle_mm_fault() if in an atomic context. 2007-01-09 10:18:50 +01:00
hardirq.h [S390] Convert s390 to GENERIC_CLOCKEVENTS. 2008-04-17 07:47:05 +02:00
idals.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
io.h [S390] remove __io_virt and mmiowb. 2007-02-12 15:49:57 +01:00
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
ioctls.h tty: s390 support for termios2. 2008-02-08 09:22:24 -08:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipl.h [S390] Use diag308 subcodes 3 and 6 for reboot and dump when possible. 2008-01-26 14:11:24 +01:00
irq.h [PATCH] Make touch_nmi_watchdog imply touch_softlockup_watchdog on all archs 2006-09-29 09:18:05 -07:00
irq_regs.h [S390] irq change build fixes. 2006-10-06 16:38:35 +02:00
irqflags.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
Kbuild KVM: s390: arch backend for the kvm kernel module 2008-04-27 12:00:42 +03:00
kdebug.h x86: optimize page faults like all other achitectures and kill notifier cruft 2007-10-16 09:42:50 -07:00
kexec.h Unexport asm/page.h 2008-02-07 08:42:30 -08:00
kmap_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.h Kprobes: indicate kretprobe support in Kconfig 2008-03-04 16:35:11 -08:00
kvm.h KVM: s390: arch backend for the kvm kernel module 2008-04-27 12:00:42 +03:00
kvm_host.h KVM: s390: arch backend for the kvm kernel module 2008-04-27 12:00:42 +03:00
kvm_para.h KVM: s390: arch backend for the kvm kernel module 2008-04-27 12:00:42 +03:00
linkage.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h [S390] local_t cleanup : use asm-generic/local.h. 2007-02-21 10:55:55 +01:00
lowcore.h s390: KVM preparation: address of the 64bit extint parm in lowcore 2008-04-27 12:00:41 +03:00
mathemu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu.h s390: KVM preparation: provide hook to enable pgstes in user pagetable 2008-04-27 12:00:40 +03:00
mmu_context.h s390: KVM preparation: provide hook to enable pgstes in user pagetable 2008-04-27 12:00:40 +03:00
module.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
monwriter.h [S390] Linux API for writing z/VM APPLDATA Monitor records. 2006-09-20 15:59:34 +02:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
page.h [S390] 1K/2K page table pages. 2008-02-09 18:24:40 +01:00
param.h [S390] Kconfig: use common Kconfig files for s390. 2007-05-10 15:46:08 +02:00
pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
percpu.h s390: use generic percpu linux-2.6.git 2008-01-30 23:27:58 +01:00
pgalloc.h [S390] dynamic page tables. 2008-02-09 18:24:41 +01:00
pgtable.h s390: KVM preparation: host memory management changes for s390 kvm 2008-04-27 12:00:40 +03:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h [PATCH] FD_ZERO build fix 2007-01-11 18:18:22 -08:00
processor.h [S390] kernel: show last breaking-event-address on oops 2008-04-17 07:47:07 +02:00
ptrace.h [S390] single-step cleanup 2008-01-26 14:11:27 +01:00
qdio.h [S390] include/asm-s390/: Spelling fixes 2008-01-26 14:11:25 +01:00
qeth.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reset.h [S390] Convert memory detection into C code. 2007-02-05 21:18:37 +01:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwsem.h [S390] Use new style spinlock initializer in __RWSEM_INITIALIZER. 2008-01-26 14:11:15 +01:00
s390_ext.h [S390] remove packed attribute from ext_int_info_t. 2007-10-12 16:13:07 +02:00
s390_rdev.h [PATCH] s390: email-address change 2006-01-14 18:27:10 -08:00
scatterlist.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
sclp.h [S390] Get rid of additional_cpus kernel parameter. 2008-01-26 14:11:15 +01:00
sections.h [S390] nss: Free unused memory in kernel image. 2007-02-21 10:55:37 +01:00
segment.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.h Generic semaphore implementation 2008-04-17 10:42:34 -04:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.h [S390] zfcpdump support. 2007-04-27 16:01:44 +02:00
sfp-machine.h [S390] Bogomips calculation for 64 bit. 2007-07-10 11:24:47 +02:00
sfp-util.h [S390] Bogomips calculation for 64 bit. 2007-07-10 11:24:47 +02:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmparam.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext.h [PATCH] s390: sigcontext.h vs __user 2006-01-14 18:27:08 -08:00
siginfo.h [PATCH] consolidate SIGEV_PAD_SIZE 2005-05-01 08:59:08 -07:00
signal.h [PATCH] irq-flags: S390: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
sigp.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
smp.h [S390] Vertical cpu management. 2008-04-17 07:47:01 +02:00
socket.h [NET]: Introducing socket mark socket option. 2008-01-31 19:27:19 -08:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
spinlock.h [S390] do local_irq_restore while spinning in spin_lock_irqsave. 2008-01-26 14:11:31 +01:00
spinlock_types.h [S390] Remove owner_pc member from raw_spinlock_t. 2008-01-26 14:11:14 +01:00
stat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
suspend.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysinfo.h [S390] Add new fields for System z10 to /proc/sysinfo 2008-04-17 07:47:01 +02:00
system.h [S390] Export stfle. 2008-04-17 07:47:01 +02:00
tape390.h [S390] Add crypto support for 3592 tape devices 2007-02-05 21:18:26 +01:00
termbits.h tty: s390 support for termios2. 2008-02-08 09:22:24 -08:00
termios.h tty: s390 support for termios2. 2008-02-08 09:22:24 -08:00
thread_info.h [S390] preempt_count initialization. 2006-06-29 15:02:47 +02:00
timer.h [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
timex.h [S390] Fix a lot of sparse warnings. 2008-04-17 07:47:06 +02:00
tlb.h [S390] dynamic page tables. 2008-02-09 18:24:41 +01:00
tlbflush.h [S390] Fix a lot of sparse warnings. 2008-04-17 07:47:06 +02:00
todclk.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
topology.h [S390] Vertical cpu management. 2008-04-17 07:47:01 +02:00
types.h remove strict ansi check from __u64 in asm/types.h 2007-10-17 08:42:53 -07:00
uaccess.h [S390] noexec protection 2007-02-05 21:18:17 +01:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [S390] Wire up new timerfd syscalls. 2008-02-09 18:24:37 +01:00
user.h Sanitize the type of struct user.u_ar0 2008-02-07 08:42:30 -08:00
vtoc.h Use __uXX types for S390 DASD volume label definitions which are user-visible 2006-05-04 01:18:33 +01:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
zcrypt.h [S390] include/asm-s390/: Spelling fixes 2008-01-26 14:11:25 +01:00