Go to file
Peter Maydell fcf83ab103 target-arm: Ignore low bit of PC in M-profile exception return
For the ARM M-profile cores, exception return pops various registers
including the PC from the stack. The architecture defines that if the
lowest bit in the new PC value is set (ie the PC is not halfword
aligned) then behaviour is UNPREDICTABLE. In practice hardware
implementations seem to simply ignore the low bit, and some buggy
RTOSes incorrectly rely on this. QEMU's behaviour was architecturally
permitted, but bringing QEMU into line with the hardware behaviour
allows more guest code to run. We log the situation as a guest error.

This was reported as LP:1428657.

Reported-by: Anders Esbensen <anders@lyes.dk>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2015-03-16 12:30:47 +00:00
audio audio: Don't free hw resources until after hw backend is stopped 2014-12-22 23:12:25 +00:00
backends Drop superfluous conditionals around g_strdup() 2014-12-10 11:30:55 +03:00
block qcow2: fix the macro QCOW_MAX_L1_SIZE's use 2015-03-12 17:41:23 +00:00
bsd-user cpu: Make cpu_init() return QOM CPUState object 2015-03-10 17:33:51 +01:00
default-configs configure: opengl overhaul 2015-03-12 15:49:57 +01:00
disas disas/microblaze: Fix warnings caused by missing 'static' attribute 2015-03-10 08:15:34 +03:00
docs docs: add memory-hotplug.txt 2015-03-04 13:00:36 -05:00
dtc@bc895d6d09
fpu softfloat: expand out STATUS macro 2015-02-06 16:11:38 +00:00
fsdev virtfs-proxy-helper: Fix possible socket leak. 2015-02-10 09:27:20 +03:00
gdb-xml
hw hw/intc/arm_gic: Initialize the vgic in the realize function 2015-03-16 12:30:47 +00:00
include tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
libcacard libcacard: stop linking against every single 3rd party library 2015-02-10 09:27:20 +03:00
libdecnumber
linux-headers synchronize Linux headers to 4.0-rc3 2015-03-10 09:26:22 +01:00
linux-user cpu: Make cpu_init() return QOM CPUState object 2015-03-10 17:33:51 +01:00
migration migration: Fix coding style (whitespace issues) 2015-03-10 08:15:34 +03:00
net net: synchronize net_host_device_remove with host_net_remove_completion 2015-03-12 19:59:39 +00:00
pc-bios seabios: update to 1.8.1 stable release 2015-03-16 09:07:15 +01:00
pixman@87eea99e44
po
qapi qcow2: Add refcount_bits to format-specific info 2015-03-10 14:02:20 +01:00
qga qemu-ga-win: Fail loudly on bare 'set-time' 2015-02-17 16:21:50 -06:00
qobject qjson: Drop trailing space for pretty formatting 2014-12-10 10:25:30 +01:00
qom Generalize QOM publishing of date and time from mc146818rtc.c 2015-03-09 14:59:55 +01:00
roms seabios: update to 1.8.1 stable release 2015-03-16 09:07:15 +01:00
scripts kvm_stat: add kvm_stat.1 man page 2015-03-10 10:49:25 +01:00
slirp
stubs pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
sysconfigs/target
target-alpha tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-arm target-arm: Ignore low bit of PC in M-profile exception return 2015-03-16 12:30:47 +00:00
target-cris tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-i386 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07: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 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-mips tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-moxie tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-openrisc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-ppc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-s390x tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07: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 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07: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: Complete handling of ALWAYS and NEVER 2015-03-13 13:08:05 -07:00
tests tests: rtl8139: test timers and interrupt 2015-03-12 19:59:39 +00:00
trace Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
ui misc ui patches, mostly sdl related. 2015-03-13 14:03:31 +00:00
util - scsi: improvements to error reporting and conversion to realize, 2015-03-10 18:03:02 +00:00
.exrc
.gitignore gitignore: Track common.env in iotests gitignore 2015-03-10 08:15:34 +03:00
.gitmodules
.mailmap
.travis.yml .travis.yml: Add "--enable-modules" 2015-01-26 12:27:05 +01:00
accel.c
aio-posix.c block: Use g_new0() for a bit of extra type checking 2014-12-10 10:31:21 +01:00
aio-win32.c block: Use g_new0() for a bit of extra type checking 2014-12-10 10:31:21 +01:00
arch_init.c Clean up around error_get_pretty(), qerror_report_err() 2015-02-26 07:01:08 +00:00
async.c block: replace g_new0 with g_new for bottom half allocation. 2015-01-13 11:47:56 +00:00
balloon.c balloon: Fix typo 2015-02-23 10:56:09 -05:00
block.c block: add bdrv functions for geometry and blocksize 2015-03-10 14:02:21 +01:00
blockdev-nbd.c nbd: Change external interface to BlockBackend 2014-12-10 10:31:12 +01:00
blockdev.c block: Simplify setting numeric options 2015-02-26 14:51:46 +01:00
blockjob.c
bootdevice.c bootdevice: bug fixes 2015-03-08 06:43:32 +00:00
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE
configure Allow the use of X11 from a non standard location. 2015-03-12 15:50:11 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c
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
cpu-exec.c - vhost-scsi: add bootindex property 2015-02-24 13:58:18 +00:00
cpus.c memsave: Improve and disambiguate error message 2015-03-10 08:15:33 +03:00
cputlb.c exec: RCUify AddressSpaceDispatch 2015-02-16 17:30:19 +01:00
device_tree.c machine: query phandle-start machine property 2015-03-11 18:17:11 +01: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
dma-helpers.c
dump.c
exec.c misc fixes and cleanups 2015-03-12 09:13:07 +00:00
gdbstub.c gdbstub: avoid possible NULL pointer dereference 2015-03-10 08:15:34 +03:00
HACKING
hmp-commands.hx pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
hmp.c hmp: info spice: take out webdav 2015-03-04 14:47:52 +01:00
hmp.h hmp: Name HMP command handler functions hmp_COMMAND() 2015-02-18 11:58:30 +01:00
iohandler.c
ioport.c
iothread.c
kvm-all.c kvm: add machine state to kvm_arch_init 2015-03-11 18:16:17 +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
MAINTAINERS misc fixes and cleanups 2015-03-12 09:13:07 +00:00
Makefile kvm_stat: add kvm_stat.1 man page 2015-03-10 10:49:25 +01:00
Makefile.objs QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
Makefile.target Makefile.target: binary depends on config-devices 2015-03-01 19:41:50 +01:00
memory_mapping.c
memory.c memory: keep the owner of the AddressSpace alive until do_address_space_destroy 2015-02-11 21:48:44 +01:00
module-common.c
monitor.c NUMA fixes queue 2015-03-02 12:13:45 +00:00
nbd.c nbd: Drop BDS backpointer 2015-02-16 14:36:03 +00:00
numa.c numa: remove superfluous '\n' around error_setg 2015-03-10 08:15:33 +03:00
os-posix.c
os-win32.c
page_cache.c xbzrle: rebuild the cache_is_cached function 2015-01-15 17:49:43 +05:30
qapi-schema.json qapi-schema: Fix SpiceChannel docs 2015-03-10 08:15:33 +03:00
qdev-monitor.c QemuOpts: Drop qemu_opt_set(), rename qemu_opt_set_err(), fix use 2015-02-26 14:49:31 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c qemu-img: Suppress unhelpful extra errors in convert, amend 2015-02-26 14:51:21 +01:00
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
qemu-doc.texi doc: minor updates to SPARC32 and SPARC64 documentation 2015-03-10 09:18:56 +00:00
qemu-img-cmds.hx
qemu-img.c fix GCC 5.0.0 logical-not-parentheses warnings 2015-03-10 08:15:34 +03:00
qemu-img.texi
qemu-io-cmds.c qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
qemu-io.c Clean up around error_get_pretty(), qerror_report_err() 2015-02-26 07:01:08 +00:00
qemu-log.c qemu-log: Correct help text of 'log cpu_reset' 2015-02-10 09:27:20 +03:00
qemu-nbd.c Clean up around error_get_pretty(), qerror_report_err() 2015-02-26 07:01:08 +00:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx qemu-options: fix/document -incoming options 2015-03-10 08:15:33 +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
qemu.sasl
qjson.c QJSON: fix typo in author's email address 2015-02-10 09:27:20 +03:00
qmp-commands.hx qmp-commands.hx: Fix several typos 2015-03-10 08:15:33 +03:00
qmp.c vnc: set id at parse time not init time 2015-03-10 11:33:35 +01:00
qtest.c qtest: Use qemu_opt_set() instead of qemu_opts_parse() 2015-02-26 14:52:13 +01:00
README
rules.mak rules.mak: Fix module build 2015-01-14 10:38:57 +01:00
savevm.c hmp: Normalize HMP command handler names 2015-02-25 13:14:37 +00:00
softmmu_template.h exec: make iotlb RCU-friendly 2015-02-16 17:30:19 +01:00
spice-qemu-char.c spice: Add missing 'static' attribute 2015-02-10 10:26:05 +03:00
tcg-runtime.c
tci.c tcg: Remove unused opcodes 2015-02-12 21:21:38 -08:00
thread-pool.c
thunk.c
tpm.c tpm: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
trace-events s390x/kvm: trace all SIGP orders 2015-03-10 09:26:22 +01:00
translate-all.c translate-all: Use g_try_malloc() for dynamic translator buffer 2015-02-10 09:27:21 +03:00
translate-all.h
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.3 development tree 2014-12-09 21:48:34 +00:00
version.rc
vl.c configure: opengl overhaul 2015-03-12 15:49:57 +01:00
xen-common-stub.c
xen-common.c
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