QEMU With E2K User Support
Go to file
Aurelien Jarno aa752a4afc target-s390x: fix LOAD MULTIPLE instruction on page boundary
When consecutive memory locations are on page boundary a page fault
might occur when using the LOAD MULTIPLE instruction. In that case real
hardware doesn't load any register.

This is an important detail in case the base register is in the list
of registers to be loaded. If a page fault occurs this register might be
overwritten and when the instruction is later restarted the wrong
base register value is useD.

Fix this by first loading the first and last value from memory, hence
triggering all possible page faults, and then the remaining registers.

This fixes random segmentation faults seen in the guest.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-06-05 01:37:58 +02:00
audio audio: Don't free hw resources until after hw backend is stopped 2014-12-22 23:12:25 +00:00
backends Extend TPM TIS interface to support TPM 2 2015-05-31 20:29:02 +02:00
block iscsi: Remove pointless runtime check of macro value 2015-06-03 14:21:23 +03:00
bsd-user linux-user, bsd-user: Remove two calls to cpu_exec_init_all 2015-04-27 18:24:17 +02:00
default-configs ACPI: split CONFIG_ACPI into 4 pieces 2015-05-29 11:28:59 +01:00
disas cris: remove unused cris_cond15 declarations 2015-03-19 11:11:55 +03:00
docs Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
dtc@65cc4d2748 dtc: Update dtc / libfdt submodule to version 1.4.0 2015-06-03 23:56:49 +02:00
fpu softfloat: expand out STATUS macro 2015-02-06 16:11:38 +00:00
fsdev Fix typos in comments 2015-03-19 11:30:37 +03:00
gdb-xml gdb-xml: Include XML for s390 vector registers 2015-05-27 17:52:03 +02:00
hw Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
include Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
libcacard libcacard: do not use full paths for include files in the same dir 2015-04-30 16:05:48 +03:00
libdecnumber libdecnumber: Fix warnings from smatch (missing static, boolean operations) 2014-08-24 13:21:06 +04:00
linux-headers linux-headers: update 2015-04-30 13:21:42 +02:00
linux-user s390x: Common access to floating point registers 2015-05-27 17:52:03 +02:00
migration migration: Add qmp commands to set and query parameters 2015-05-07 18:31:53 +02:00
net slirp: use less predictable directory name in /tmp for smb config (CVE-2015-4037) 2015-06-03 14:21:45 +03:00
pc-bios Makefile.target: set icon for binary file on Mac OS X 2015-05-19 09:11:17 +01:00
pixman@87eea99e44 pixman: update internal copy to pixman-0.32.6 2014-09-15 08:14:19 +02:00
po po: fix conflict with %.mo rule in rules.mak 2014-09-26 13:35:08 +02:00
qapi qapi: add dirty bitmap status 2015-05-29 12:53:12 +02:00
qga qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
qobject json-parser: Accept 'null' in QMP 2015-05-11 08:59:07 -04:00
qom qom: Add can_be_deleted callback to UserCreatableClass 2015-04-01 10:06:38 +02:00
roms pseries: Update SLOF firmware image to qemu-slof-20150313 2015-03-25 22:49:45 +01:00
scripts virtio-input: add linux/input.h 2015-05-29 10:30:06 +02:00
slirp slirp: udp: fix NULL pointer dereference because of uninitialized socket 2014-09-23 19:15:05 +01:00
stubs monitor: Change return type of monitor_cur_is_qmp() to bool 2015-06-02 10:07:16 +02:00
target-alpha Revert "target-alpha: Add vector implementation for CMPBGE" 2015-05-22 12:30:13 +01:00
target-arm target-arm: Remove v8_ prefix from names of non-v8-specific cpreg arrays 2015-06-02 15:32:43 +01:00
target-cris cris: remove unused cris_cond15 declarations 2015-03-19 11:11:55 +03:00
target-i386 X86 queue 2015-06-02 2015-06-04 11:44:32 +01:00
target-lm32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-m68k tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-microblaze microblaze: cpu: Delete MMAP_SHIFT definition 2015-06-03 14:21:23 +03:00
target-mips kvm: introduce kvm_arch_msi_data_to_gsi 2015-06-02 14:56:25 +01:00
target-moxie target-moxie: Fix warnings from Sparse (one-bit signed bitfield) 2015-03-19 11:11:55 +03:00
target-openrisc openrisc: cpu: Remove unused cpu_get_pc 2015-04-30 16:06:18 +03:00
target-ppc Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
target-s390x target-s390x: fix LOAD MULTIPLE instruction on page boundary 2015-06-05 01:37:58 +02:00
target-sh4 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-sparc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-tricore target-tricore: fix BOL_ST_H_LONGOFF using ld 2015-05-30 16:49:19 +02:00
target-unicore32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-xtensa tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
tcg tcg: add TCG_TARGET_TLB_DISPLACEMENT_BITS 2015-06-03 23:56:56 +02:00
tests -----BEGIN PGP SIGNATURE----- 2015-05-26 11:31:03 +01:00
trace Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
ui gtk: add opengl rendering support. 2015-05-29 14:24:35 +01:00
util util: socket: Add missing localaddr and localport option for DGRAM socket 2015-06-03 14:21:23 +03:00
.exrc
.gitignore gitignore: Ignore more .pod files. 2015-04-04 09:45:59 +03:00
.gitmodules PPC: Add u-boot firmware for e500 2014-06-16 13:24:35 +02:00
.mailmap Update mailmap 2013-09-05 09:40:31 -05:00
.travis.yml .travis.yml: Add "--enable-modules" 2015-01-26 12:27:05 +01:00
accel.c accel: Create accel object when initializing machine 2014-10-09 15:36:14 +02:00
aio-posix.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
aio-win32.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
arch_init.c arch_init: Drop target-x86_64.conf 2015-06-02 15:15:52 -03:00
async.c iothread: release iothread around aio_poll 2015-04-28 15:36:08 +02:00
balloon.c balloon: improve error msg when adding second device 2015-04-24 14:18:05 -04:00
block.c qapi: add dirty bitmap status 2015-05-29 12:53:12 +02:00
blockdev-nbd.c nbd: Fix up comment after commit e140177 2015-03-25 13:38:07 +01:00
blockdev.c monitor: Use traditional command interface for HMP drive_del 2015-06-02 09:59:13 +02:00
blockjob.c blockjob: Allow nested pause 2015-04-28 15:36:09 +02:00
bootdevice.c misc: fix typos in copyright declaration 2015-03-26 14:21:43 +01:00
bt-host.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Changelog Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
CODING_STYLE CODING_STYLE: Section about conditional statement 2014-08-15 18:54:06 +04:00
configure Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c glib-compat.h: add new thread API emulation on top of pre-2.31 API 2014-06-10 07:44:01 +02:00
coroutine-sigaltstack.c coroutine-sigaltstack: Change jmp_buf to sigjmp_buf 2014-11-11 11:07:55 +03:00
coroutine-ucontext.c coroutine-ucontext: use __thread 2015-01-13 13:43:28 +00:00
coroutine-win32.c coroutine-win32.c: Add noinline attribute to work around gcc bug 2014-06-26 14:08:14 +01:00
cpu-exec.c - vhost-scsi: add bootindex property 2015-02-24 13:58:18 +00:00
cpus.c qmp: Add qom_path field to query-cpus command 2015-05-14 17:25:46 +02:00
cputlb.c Add MemTxAttrs to the IOTLB 2015-04-26 16:49:24 +01:00
device_tree.c device-tree: Make a common-obj 2015-06-03 14:21:24 +03:00
device-hotplug.c pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
disas.c monitor: QEMU Monitor Instruction Disassembly Incorrect for PowerPC LE Mode 2014-06-16 13:24:26 +02:00
dma-helpers.c range: remove useless inclusions 2015-04-30 16:05:48 +03:00
dump.c dump: Fix dump-guest-memory termination and use-after-close 2014-11-02 10:04:34 +03:00
exec.c exec: move rcu_read_lock/unlock to address_space_translate callers 2015-04-30 16:55:32 +02:00
gdbstub.c Revert "gdbstub: Do not kill target in system emulation mode" 2015-05-28 16:57:35 +01:00
HACKING HACKING: Document vaddr type usage 2013-07-23 02:41:31 +02:00
hmp-commands.hx monitor: Use trad. command interface for HMP pcie_aer_inject_error 2015-06-02 09:59:13 +02:00
hmp.c monitor: Use traditional command interface for HMP device_add 2015-06-02 09:59:13 +02:00
hmp.h monitor: Use traditional command interface for HMP device_add 2015-06-02 09:59:13 +02:00
iohandler.c iohandler.c: Properly initialize sigaction struct 2014-05-24 00:07:29 +04:00
ioport.c - miscellaneous cleanups for TCG (Emilio) and NBD (Bogdan) 2015-04-30 12:04:11 +01:00
iothread.c Remove various unused functions 2015-05-08 14:11:10 +03:00
kvm-all.c kvm: introduce kvm_arch_msi_data_to_gsi 2015-06-02 14:56:25 +01:00
kvm-stub.c pc: kvm: check if KVM has free memory slots to avoid abort() 2014-11-23 12:11:29 +02:00
LICENSE 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
main-loop.c Revert "main-loop.c: Handle SIGINT, SIGHUP and SIGTERM synchronously" 2014-10-27 15:05:09 +00:00
MAINTAINERS Add David Gibson for sPAPR in MAINTAINERS file 2015-06-03 23:56:55 +02:00
Makefile arch_init: Drop target-x86_64.conf 2015-06-02 15:15:52 -03:00
Makefile.objs device-tree: Make a common-obj 2015-06-03 14:21:24 +03:00
Makefile.target device-tree: Make a common-obj 2015-06-03 14:21:24 +03:00
memory_mapping.c Add skip_dump flag to ignore memory region during dump 2014-10-31 11:29:01 +01:00
memory.c mtree: also print disabled regions 2015-04-30 16:55:16 +02:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c monitor: Change return type of monitor_cur_is_qmp() to bool 2015-06-02 10:07:16 +02:00
nbd.c qemu-nbd: only send a limited number of errno codes on the wire 2015-05-08 14:45:11 +02:00
numa.c numa: Print warning if no node is assigned to a CPU 2015-03-19 16:20:15 -03:00
os-posix.c rcu: do not create thread in pthread_atfork callback 2015-04-01 10:06:38 +02:00
os-win32.c pidfile: stop making pidfile error a special case 2014-11-02 10:04:34 +03:00
page_cache.c xbzrle: rebuild the cache_is_cached function 2015-01-15 17:49:43 +05:30
qapi-schema.json monitor: Convert client_migrate_info to QAPI 2015-06-02 09:59:13 +02:00
qdev-monitor.c qom: Implement info qom-tree HMP command 2015-03-17 14:31:21 +01:00
qdict-test-data.txt
qemu-bridge-helper.c qemu-bridge-helper: Fix fd leak in main() 2014-06-27 10:39:10 +02:00
qemu-char.c qemu-char: remove unused list node from FDCharDriver 2015-04-30 16:05:49 +03:00
qemu-coroutine-io.c coroutine-io: Return -errno in case of error 2015-03-18 12:07:21 +01:00
qemu-coroutine-lock.c coroutine: remove unnecessary parentheses in qemu_co_queue_empty 2015-04-30 16:05:49 +03:00
qemu-coroutine-sleep.c coroutine: Drop co_sleep_ns 2014-08-29 10:46:58 +01:00
qemu-coroutine.c coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
qemu-doc.texi raw-posix: Deprecate host floppy passthrough 2015-03-19 11:43:02 +01:00
qemu-img-cmds.hx qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-img.c util: move read_password method out of qemu-img into osdep/oslib 2015-05-22 17:08:01 +02:00
qemu-img.texi qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-io-cmds.c qemu-io: Use getopt() correctly 2015-05-22 17:08:01 +02:00
qemu-io.c qemu-io: prompt for encryption keys when required 2015-05-22 17:08:01 +02:00
qemu-log.c qemu-log: Correct help text of 'log cpu_reset' 2015-02-10 09:27:20 +03:00
qemu-nbd.c nbd: Set block size to BDRV_SECTOR_SIZE 2015-03-18 12:07:01 +01:00
qemu-nbd.texi nbd: Miscellaneous typo fixes. 2014-05-24 00:07:29 +04:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx Add -incoming help text 2015-06-03 14:21:24 +03:00
qemu-seccomp.c seccomp: add mlockall to whitelist 2015-01-23 14:07:08 +01:00
qemu-tech.texi
qemu-timer.c qemu-timer.c: Trim list of included headers 2015-01-26 18:15:54 +00:00
qemu.nsi nsis: Improved support for parallel installation of 32 and 64 bit code 2013-11-07 07:02:44 +01:00
qemu.sasl sasl: Avoid 'Could not find keytab file' in syslog 2014-03-15 13:54:18 +04:00
qjson.c QJSON: Use OBJECT_CHECK 2015-05-11 08:59:07 -04:00
qmp-commands.hx monitor: Convert client_migrate_info to QAPI 2015-06-02 09:59:13 +02:00
qmp.c qapi: Drop inline nested struct in query-version 2015-05-05 18:39:02 +02:00
qtest.c qtest: pre-buffer hex nibs 2015-05-22 15:58:22 -04:00
README Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
rules.mak rules.mak: Force CFLAGS for all objects in DSO 2015-05-08 14:45:11 +02:00
savevm.c error: Replace error_report() & error_free() with error_report_err() 2015-03-19 11:11:55 +03:00
softmmu_template.h tcg: Add MO_ALIGN, MO_UNALN 2015-05-14 12:15:18 -07:00
spice-qemu-char.c spice: fix spice_chr_add_watch() pre-condition 2015-05-29 09:56:01 +02:00
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 2014-05-28 09:33:54 -07:00
tci.c tcg: Push merged memop+mmu_idx parameter to softmmu routines 2015-05-14 12:15:14 -07:00
thread-pool.c thread-pool: clean up thread_pool_completion_bh() 2015-04-28 15:36:09 +02:00
thunk.c
tpm.c tpm: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
trace-events spapr_iommu: Add separate trace points for PCI DMA operations 2015-06-03 23:56:51 +02:00
translate-all.c exec: move rcu_read_lock/unlock to address_space_translate callers 2015-04-30 16:55:32 +02:00
translate-all.h translate-all: delete prototype for non-existent function 2015-06-03 14:21:24 +03:00
user-exec.c user-exec.c: fix build on NetBSD/sparc64 and NetBSD/arm 2015-03-13 15:57:00 +00:00
VERSION Open 2.4 development tree 2015-04-25 22:05:07 +01:00
version.rc Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
vl.c Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
xen-common-stub.c accel: Move Xen registration code to xen-common.c 2014-10-04 08:59:15 +02:00
xen-common.c accel: Pass MachineState object to accel init functions 2014-10-09 12:57:10 +02:00
xen-hvm-stub.c xen: Remove xen_cmos_set_s3_resume() 2015-03-10 08:15:33 +03:00
xen-hvm.c Xen: Use the ioreq-server API when available 2015-01-20 14:24:10 +00:00
xen-mapcache.c xen: add a lock for the mapcache 2015-01-20 14:24:17 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team