qemu-patch-raspberry4/hw
Alexander Yarygin 6cb1e49de5 s390x/kvm: Support access register mode for KVM_S390_MEM_OP ioctl
Access register mode is one of the modes that control dynamic address
translation. In this mode the address space is specified by values of
the access registers. The effective address-space-control element is
obtained from the result of the access register translation. See
the "Access-Register Introduction" section of the chapter 5 "Program
Execution" in "Principles of Operations" for more details.

When the CPU is in AR mode, the s390_cpu_virt_mem_rw() function must
know which access register number to use for address translation.
This patch does several things:
- add new parameter 'uint8_t ar' to that function
- decode ar number from intercepted instructions
- pass the ar number to s390_cpu_virt_mem_rw(), which in turn passes it
to the KVM_S390_MEM_OP ioctl.

Signed-off-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
2015-04-30 13:21:42 +02:00
..
9pfs 9pfs: Fix warnings from Sparse 2015-03-19 11:11:55 +03:00
acpi Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
alpha Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
arm Convert ffs() != 0 callers to ctz32() 2015-04-28 15:36:08 +02:00
audio pcspk: Fix I/O port name 2015-04-04 09:45:59 +03:00
block m25p80: fix s->blk usage before assignment 2015-04-28 15:36:09 +02:00
bt bt-sdp: fix broken uuids power-of-2 calculation 2015-04-28 15:36:08 +02:00
char sclp: sort into categories 2015-04-30 13:21:41 +02:00
core powerpc: fix -machine usb=no for newworld and pseries machines 2015-03-25 22:49:47 +01:00
cpu icc_bus: fix typo ICC_BRIGDE -> ICC_BRIDGE 2014-11-03 19:51:56 +03:00
cris cris: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-11 20:03:57 +10:00
display Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
dma Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
gpio Convert ffs() != 0 callers to ctz32() 2015-04-28 15:36:08 +02:00
i2c Convert ffs() != 0 callers to ctz32() 2015-04-28 15:36:08 +02:00
i386 Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
ide AHCI: Protect cmd register 2015-03-27 15:48:11 -04:00
input adb.c: include ADBDevice parent state in KBDState and MouseState 2015-03-09 15:00:04 +01:00
intc omap_intc: convert ffs(3) to ctz32() in omap_inth_sir_update() 2015-04-28 15:36:08 +02:00
ipack pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
isa hw: Mark devices picking up char backends actively FIXME 2015-04-02 15:30:28 +02:00
lm32 lm32: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-04-10 14:12:20 +01:00
m68k m68k: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-03-25 14:35:24 +01:00
mem pc-dimm: Add description for device list. 2015-03-19 11:17:36 +03:00
microblaze Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
mips exec.c: Make address_space_rw take transaction attributes 2015-04-26 16:49:24 +01:00
misc omap: Fix warnings from Sparse 2015-03-19 11:11:55 +03:00
moxie memory: add parameter errp to memory_region_init_ram 2014-09-09 13:41:43 +02:00
net hw/net/e1000: fix integer endianness 2015-03-27 10:23:50 +00:00
nvram fw_cfg: factor out initialization of FW_CFG_ID (rev. number) 2015-03-25 13:37:10 +01:00
openrisc hw/core/loader: implement address translation in uimage loader 2014-11-03 00:59:10 +03:00
pci Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
pci-bridge pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
pci-host Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
pcmcia hmp: Remove "info pcmcia" 2014-10-24 12:19:11 +01:00
ppc Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
s390x s390x/kvm: Support access register mode for KVM_S390_MEM_OP ioctl 2015-04-30 13:21:42 +02:00
scsi Convert (ffs(val) - 1) to ctz32(val) 2015-04-28 15:36:08 +02:00
sd sd: convert sd_normal_command() ffs(3) call to ctz32() 2015-04-28 15:36:08 +02:00
sh4 Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
sparc sparc: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-03-25 14:36:14 +01:00
sparc64 fw_cfg: factor out initialization of FW_CFG_ID (rev. number) 2015-03-25 13:37:10 +01:00
ssi omap: Fix warnings from Sparse 2015-03-19 11:11:55 +03:00
timer Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
tpm Fix remaining warnings from Sparse (void return) 2015-03-19 11:11:55 +03:00
tricore target-tricore: check return value before using it 2014-11-02 10:04:34 +03:00
unicore32 unicore32: Use uc32_cpu_init() 2015-03-10 17:07:28 +01:00
usb usb: bugfix collection. 2015-03-20 09:50:08 +00:00
vfio vfio-pci: Reset workaround for AMD Bonaire and Hawaii GPUs 2015-04-28 11:14:02 -06:00
virtio balloon: improve error msg when adding second device 2015-04-24 14:18:05 -04:00
watchdog i6300esb: Fix signed integer overflow 2015-03-25 13:38:05 +01:00
xen xen: limit guest control of PCI command register 2015-04-09 23:37:21 +01:00
xenpv hw: Convert from BlockDriverState to BlockBackend, mostly 2014-10-20 14:02:25 +02:00
xtensa xtensa: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
Makefile.objs vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00