linux-hardened/arch/s390/include/asm
Christian Borntraeger 8e23654687 KVM: s390: make exit_sie_sync more robust
exit_sie_sync is used to kick CPUs out of SIE and prevent reentering at
any point in time. This is used to reload the prefix pages and to
set the IBS stuff in a way that guarantees that after this function
returns we are no longer in SIE. All current users trigger KVM requests.

The request must be set before we block the CPUs to avoid races. Let's
make this implicit by adding the request into a new function
kvm_s390_sync_requests that replaces exit_sie_sync and split out
s390_vcpu_block and s390_vcpu_unblock, that can be used to keep
CPUs out of SIE independent of requests.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2015-05-08 15:51:14 +02:00
..
airq.h s390/airq: add support for irq ranges 2014-03-04 10:41:04 +01:00
appldata.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
asm-offsets.h
atomic.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
barrier.h arch: Add lightweight memory barriers dma_rmb() and dma_wmb() 2014-12-11 21:15:06 -05:00
bitops.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
bug.h
bugs.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cache.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
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 treewide: Fix typo in Documentation/DocBook 2014-02-19 14:58:17 +01:00
clp.h s390/pci: cleanup clp page allocation 2013-02-14 15:55:16 +01:00
cmb.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
cmpxchg.h s390/cmpxchg: simplify cmpxchg_double 2015-03-25 11:49:36 +01:00
compat.h s390/compat: build error for large compat syscall args 2014-03-06 16:30:47 +01:00
cpcmd.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cpu.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
cpu_mf.h s390: add SMT support 2015-01-22 12:16:01 +01:00
cputime.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
crw.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
css_chars.h s390/qdio: bridgeport support - CHSC part 2014-01-15 14:48:01 -08:00
ctl_reg.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
current.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
debug.h s390/debug: avoid function call for debug_sprintf_* 2014-12-08 09:42:29 +01:00
delay.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
device.h
diag.h
dis.h s390/disassembler: add vector instructions 2014-10-09 09:14:15 +02:00
div64.h
dma-mapping.h s390: Use bool function return values of true/false not 1/0 2015-04-15 12:23:48 +02:00
dma.h s390/pci: define isa_dma_bridge_buggy 2013-01-08 10:57:09 +01:00
eadm.h s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00
ebcdic.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
elf.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-04-14 20:51:44 -07:00
emergency-restart.h
etr.h s390/etr,stp: use -EOPNOTSUPP instead of -ENOSYS 2012-09-26 15:45:14 +02:00
exec.h
extmem.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
facility.h s390/facility: decompose test_facility() 2013-06-26 21:10:25 +02:00
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/mm: cleanup page table definitions 2013-08-22 12:20:06 +02:00
hw_irq.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
idals.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
idle.h s390/idle: convert open coded idle time seqcount 2014-12-08 09:42:32 +01:00
io.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2014-12-11 17:30:55 -08:00
ipl.h s390/kdump: add support for vector extension 2014-10-09 09:14:16 +02:00
irq.h s390: fix /proc/interrupts output 2015-03-25 11:41:41 -04: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 s390/pci: PCI adapter interrupts for MSI/MSI-X 2012-11-30 17:47:21 +01:00
itcw.h
jump_label.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2015-04-14 20:51:44 -07:00
Kbuild net, lib: kill arch_fast_hash library bits 2014-12-10 15:17:46 -05: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: make exit_sie_sync more robust 2015-05-08 15:51:14 +02:00
kvm_para.h UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
linkage.h
livepatch.h livepatch: add support on s390 2015-03-27 15:05:32 +01:00
local.h
local64.h
lowcore.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
mathemu.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
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
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
mutex.h mutex: replace CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX with simple ifdef 2013-09-28 12:46:21 +02:00
nmi.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
os_info.h
page.h s390: let the compiler do page clearing 2015-02-26 09:24:49 +01:00
pci.h s390/pci: add locking for fmb access 2015-04-15 12:23:53 +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 support 2012-11-30 17:47:23 +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: remove 31 bit support 2015-03-25 11:49:33 +01: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: change swap pte encoding and pgtable cleanup 2015-04-23 16:56:20 +02:00
processor.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
ptrace.h s390: remove 31 bit support 2015-03-25 11:49:33 +01: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 UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
sclp.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
scsw.h s390: add eadm related structures 2012-09-26 15:44:57 +02:00
seccomp.h
sections.h
segment.h
serial.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
setup.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
sfp-machine.h
sfp-util.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
shmparam.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
signal.h s390: switch to generic old sigaction() 2013-02-03 18:16:14 -05:00
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: add SMT support 2015-01-22 12:16:01 +01:00
sparsemem.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
spinlock.h s390/cmpxchg: use compiler builtins 2014-11-03 13:29:47 +01: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: remove 31 bit support 2015-03-25 11:49:33 +01: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 UAPI: (Scripted) Disintegrate arch/s390/include/asm 2012-10-09 09:47:31 +01:00
thread_info.h Merge branch 'exec_domain_rip_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/misc 2015-04-15 13:53:55 -07:00
timex.h s390/timex: fix get_tod_clock_ext() inline assembly 2015-01-07 09:52:47 +01: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/topology: convert cpu_topology array to per cpu variable 2015-02-12 09:37:22 +01:00
types.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
uaccess.h s390/maccess: remove potentially broken probe_kernel_write() 2015-03-25 11:49:43 +01:00
unaligned.h
unistd.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
uprobes.h s390/uprobes: architecture backend for uprobes 2014-09-25 10:52:17 +02:00
user.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
vdso.h s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
vga.h vga: compile fix, disable vga for s390 2012-11-30 17:47:28 +01:00
vtime.h vtime: Describe overriden functions in dedicated arch headers 2013-08-14 17:14:53 +02:00
vtimer.h s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00
xor.h