linux-stable/arch/s390/include/asm
Fan Zhang c6e5f16637 KVM: s390: implement the RI support of guest
This patch adds runtime instrumentation support for KVM guest. We need to
setup a save area for the runtime instrumentation-controls control block(RICCB)
and implement the necessary interfaces to live migrate the guest settings.

We setup the sie control block in a way, that the runtime
instrumentation instructions of a guest are handled by hardware.

We also add a capability KVM_CAP_S390_RI to make this feature opt-in as
it needs migration support.

Signed-off-by: Fan Zhang <zhangfan@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2016-01-07 14:48:26 +01:00
..
fpu s390/fpu: split fpu-internal.h into fpu internals, api, and type headers 2015-10-16 09:41:12 +02:00
trace s390/diag: add a s390 prefix to the diagnose trace point 2015-11-09 09:10:47 +01:00
airq.h s390/airq: add support for irq ranges 2014-03-04 10:41:04 +01:00
appldata.h s390/diag: add a statistic for diagnose calls 2015-10-14 14:32:06 +02:00
asm-offsets.h
atomic.h s390/barrier: remove unnecessary serialization in atomics and bitops 2015-10-14 14:32:07 +02:00
barrier.h s390/barrier: avoid serialization in [smp_]rmb and [smp_]wmb 2015-10-14 14:32:01 +02:00
bitops.h s390/bitops: remove 31 bit related comments 2015-10-14 14:32:15 +02:00
bug.h
bugs.h
cache.h
cacheflush.h mm/debug_pagealloc: fix build failure on ppc and some other archs 2015-02-05 13:35:30 -08:00
ccwdev.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
ccwgroup.h s390: fix new ccwgroup.h kernel-doc warning 2014-05-20 08:58:45 +02:00
checksum.h s390/checksum: remove memset() within csum_partial_copy_from_user() 2014-02-24 17:14:08 +01:00
chpid.h s390/cio: fix multiple structure definitions 2014-05-20 08:58:53 +02:00
cio.h s390: add support for ipl devices in subchannel sets > 0 2015-11-11 13:56:27 +01:00
clp.h
cmb.h s390/cio: use device_lock during cmb activation 2015-10-14 14:32:02 +02:00
cmpxchg.h s390/cmpxchg: remove dead code 2015-10-14 14:32:15 +02:00
compat.h s390/compat: build error for large compat syscall args 2014-03-06 16:30:47 +01:00
cpcmd.h
cpu.h s390/smp: cleanup core vs. cpu in the SCLP interface 2015-06-25 09:39:24 +02:00
cpu_mf.h s390: remove runtime instrumentation interrupts 2015-11-03 14:40:51 +01:00
cpufeature.h s390/module: enable generic CPU feature modalias using s390 ELF hwcaps 2015-07-22 09:58:02 +02:00
cputime.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
crw.h
css_chars.h s390/qdio: bridgeport support - CHSC part 2014-01-15 14:48:01 -08:00
ctl_reg.h s390/fpu: always enable the vector facility if it is available 2015-10-14 14:32:08 +02:00
current.h
debug.h s390/debug: avoid function call for debug_sprintf_* 2014-12-08 09:42:29 +01:00
delay.h
device.h
diag.h s390/diag: add tracepoint for diagnose calls 2015-10-14 14:32:06 +02:00
dis.h s390/disassembler: add vector instructions 2014-10-09 09:14:15 +02:00
div64.h
dma-mapping.h dma-mapping: consolidate dma_set_mask 2015-09-10 13:29:01 -07:00
dma.h
eadm.h s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00
ebcdic.h
elf.h s390: show virtualization support in /proc/cpuinfo 2015-11-30 12:47:11 +01:00
emergency-restart.h
etr.h s390/etr,stp: fix possible deadlock on machine check 2015-10-14 14:32:18 +02:00
exec.h
extmem.h
facility.h
fb.h
fcx.h s390/cio: fix error-prone defines 2013-10-24 17:17:04 +02:00
ftrace.h s390/ftrace: hotpatch support for function tracing 2015-01-29 09:19:25 +01:00
futex.h s390/uaccess: simplify control register updates 2014-05-20 08:58:46 +02:00
hardirq.h hardirq: Make hardirq bits generic 2013-11-13 20:21:46 +01:00
hugetlb.h s390/hugetlb: add hugepages_supported define 2015-07-17 16:39:52 -07:00
hw_irq.h
idals.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
idle.h s390/udelay: make udelay have busy loop semantics 2015-10-14 14:32:13 +02:00
io.h s390/io: Add pci_iomap_wc() and pci_iomap_wc_range() 2015-08-28 08:04:48 +02:00
ipl.h s390: add support for ipl devices in subchannel sets > 0 2015-11-11 13:56:27 +01:00
irq.h s390: remove runtime instrumentation interrupts 2015-11-03 14:40:51 +01:00
irq_regs.h
irqflags.h s390/kernel: use stnsm 255 instead of stosm 0 2014-12-18 13:37:15 +01:00
isc.h
itcw.h
jump_label.h locking/static_keys: Add a new static_key interface 2015-08-03 11:34:15 +02:00
Kbuild Merge branch 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2015-10-04 16:31:13 +01:00
kdebug.h
kexec.h kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP 2015-04-23 16:52:01 +02:00
kmap_types.h
kprobes.h s390/ftrace,kprobes: allow to patch first instruction 2014-10-27 13:27:27 +01:00
kvm_host.h KVM: s390: implement the RI support of guest 2016-01-07 14:48:26 +01:00
kvm_para.h s390/diag: add a statistic for diagnose calls 2015-10-14 14:32:06 +02:00
linkage.h s390/kernel: move EX_TABLE macros to linkage.h header file 2015-07-22 09:57:59 +02:00
livepatch.h livepatch: add support on s390 2015-03-27 15:05:32 +01:00
local.h
local64.h
lowcore.h s390/nmi: change type of mcck_interruption_code lowcore field 2015-10-14 14:32:15 +02:00
mathemu.h
mman.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
mmu.h s390/kvm: remove delayed reallocation of page tables for KVM 2015-04-23 16:55:49 +02:00
mmu_context.h s390/kvm: remove delayed reallocation of page tables for KVM 2015-04-23 16:55:49 +02:00
mmzone.h s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
module.h
mutex.h mutex: replace CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX with simple ifdef 2013-09-28 12:46:21 +02:00
nmi.h s390/nmi: remove casts 2015-10-27 09:33:55 +01:00
numa.h s390/numa: use correct type for node_to_cpumask_map 2015-09-23 09:18:56 +02:00
os_info.h
page.h revert "s390/mm: make hugepages_supported a boot time decision" 2015-07-17 16:39:52 -07:00
pci.h iommu/s390: Add iommu api for s390 pci devices 2015-10-06 12:20:24 +02:00
pci_clp.h s390/pci: add some new arch specific pci attributes 2014-05-20 08:58:50 +02:00
pci_debug.h s390/pci: remove CONFIG_PCI_DEBUG dependancy 2013-10-24 17:17:16 +02:00
pci_dma.h s390/pci_dma: handle dma table failures 2015-11-09 09:10:49 +01:00
pci_insn.h s390/pci: cleanup function information block 2013-10-24 17:17:17 +02:00
pci_io.h s390: add pci_iomap_range 2015-01-21 16:28:49 +10:30
percpu.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
perf_event.h s390/oprofile: fix compile error 2015-07-01 09:34:39 +02:00
pgalloc.h s390/kvm: remove delayed reallocation of page tables for KVM 2015-04-23 16:55:49 +02:00
pgtable.h s390/mm: try to avoid storage key operation in ptep_set_access_flags 2015-10-14 14:32:07 +02:00
processor.h s390: remove runtime instrumentation interrupts 2015-11-03 14:40:51 +01:00
ptrace.h s390/flags: use _BITUL macro 2015-10-14 14:32:14 +02:00
qdio.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
reset.h s390: add SMT support 2015-01-22 12:16:01 +01:00
runtime_instr.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
rwsem.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
schid.h
sclp.h s390/sclp: introduce check for SIE 2015-11-30 12:47:11 +01:00
scsw.h
seccomp.h
sections.h
segment.h
serial.h
setup.h s390/cpumf: rework program parameter setting to detect guest samples 2015-10-14 14:32:12 +02:00
sfp-machine.h
sfp-util.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
shmparam.h
signal.h
sigp.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-02-11 17:42:32 -08:00
smp.h s390/kdump: fix compile for !SMP 2015-06-29 10:13:11 +02:00
sparsemem.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
spinlock.h s390/spinlock: remove unneeded serializations at unlock 2015-10-14 14:32:25 +02:00
spinlock_types.h s390/rwlock: use directed yield for write-locked rwlocks 2014-09-25 10:52:05 +02:00
string.h lib/string.c: remove strnicmp() 2015-02-12 18:54:14 -08:00
switch_to.h s390/fpu: split fpu-internal.h into fpu internals, api, and type headers 2015-10-16 09:41:12 +02:00
syscall.h s390/syscalls: simplify syscall_get_arch() 2015-03-30 13:26:07 +02:00
sysinfo.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
termios.h
thread_info.h s390/flags: use _BITUL macro 2015-10-14 14:32:14 +02:00
timex.h s390: time: Provide read_boot_clock64() and read_persistent_clock64() 2015-05-22 10:36:29 -07:00
tlb.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
tlbflush.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
topology.h s390/numa: use correct type for node_to_cpumask_map 2015-09-23 09:18:56 +02:00
types.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
uaccess.h mm/uaccess, mm/fault: Clarify that uaccess may only sleep if pagefaults are enabled 2015-05-19 08:39:14 +02:00
unaligned.h
unistd.h s390: wire up separate socketcalls system calls 2015-09-18 11:16:53 +02:00
uprobes.h s390/uprobes: architecture backend for uprobes 2014-09-25 10:52:17 +02:00
user.h
vdso.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
vga.h
vtime.h
vtimer.h s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00
vx-insn.h s390/vx: add vector instruction support for older binutils versions 2015-07-22 09:58:01 +02:00
xor.h