mirror_qemu/hw/s390x
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
..
Makefile.objs s390: implement pci instructions 2015-01-12 10:14:04 +01:00
css.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
css.h s390: Add PCI bus support 2015-01-12 10:14:04 +01:00
event-facility.c sclp: sort into categories 2015-04-30 13:21:41 +02:00
ipl.c s390x/ipl: sort into categories 2015-04-30 13:21:42 +02:00
ipl.h s390x/ipl: drop reipl parameters on resets 2015-02-13 16:14:09 +01:00
s390-pci-bus.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
s390-pci-bus.h s390: Add PCI bus support 2015-01-12 10:14:04 +01:00
s390-pci-inst.c s390x/kvm: Support access register mode for KVM_S390_MEM_OP ioctl 2015-04-30 13:21:42 +02:00
s390-pci-inst.h s390x/kvm: Support access register mode for KVM_S390_MEM_OP ioctl 2015-04-30 13:21:42 +02:00
s390-virtio-bus.c s390-virtio: sort into categories 2015-04-30 13:21:41 +02:00
s390-virtio-bus.h s390x/virtio-bus: Remove unused function s390_virtio_bus_console() 2015-03-16 10:20:17 +01:00
s390-virtio-ccw.c s390x: CPACF: Handle key wrap machine options 2015-03-16 10:20:11 +01:00
s390-virtio-hcall.c s390x/virtio-hcall: Specification exception for illegal subcodes 2014-02-27 09:51:25 +01:00
s390-virtio.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
s390-virtio.h s390: use standard headers 2015-02-26 13:04:06 +01:00
sclp.c sclp: sort into categories 2015-04-30 13:21:41 +02:00
sclpcpu.c sclp: sort into categories 2015-04-30 13:21:41 +02:00
sclpquiesce.c sclp: sort into categories 2015-04-30 13:21:41 +02:00
virtio-ccw.c virtio-ccw: sort into categories 2015-04-30 13:21:41 +02:00
virtio-ccw.h virtio-ccw: Convert to realize() 2015-03-10 09:26:23 +01:00