QEMU With E2K User Support
Go to file
Aurelien Jarno 4e17eae9f2 tcg/arm: correctly save/restore registers in prologue/epilogue
Since commit 6113d6d316 QEMU crashes
on ARM hosts. This is not a bug of this commit, but a latent bug
revealed by this commit.

The TCG code is called through a procedure call using the prologue
and epilogue code. This code does not save and restore enough registers.
The "Procedure Call Standard for the ARM Architecture" says:

  A subroutine must preserve the contents of the registers r4-r8, r10,
  r11 and SP (and r9 in PCS variants that designate r9 as v6).

The current code only saves and restores r9 to r11, and misses r4 to
r8. The patch fixes that by saving r4 to r12. Theoretically there is
no need to save and restore r12, but an even number of registers have
to be saved as per EABI.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-13 11:44:25 +01:00
audio audio: fix comment 2010-03-11 18:28:44 +03:00
block vmdk: share cleanup code 2010-03-09 11:23:00 -06:00
bsd-user bsd/darwin-user: mmap_frag() users only check for -1 error 2010-01-31 13:41:07 +00:00
darwin-user bsd/darwin-user: mmap_frag() users only check for -1 error 2010-01-31 13:41:07 +00:00
default-configs Build usb-ohci for PCs 2010-03-06 23:02:47 +01:00
docs docs: New qdev-device-use.txt 2010-01-13 17:14:16 -06:00
fpu softfloat: remove dead assignments, spotted by clang 2010-03-07 13:49:58 +00:00
gdb-xml
hw QMP: Introduce WATCHDOG event 2010-03-09 08:47:27 -06:00
linux-user Fix usermode virtual address type 2010-03-12 23:25:52 +00:00
net slirp: check system() success 2010-03-09 11:23:00 -06:00
pc-bios Update to latest SeaBIOS 2010-03-05 21:45:16 -06:00
QMP QMP: Introduce WATCHDOG event 2010-03-09 08:47:27 -06:00
roms Update to latest SeaBIOS 2010-03-05 21:45:16 -06:00
slirp slirp: remove dead nested assignment, spotted by clang 2010-03-07 13:45:38 +00:00
sysconfigs/target Add cpu model configuration support.. 2010-02-22 16:16:17 -06:00
target-alpha Remove cpu_get_phys_page_debug from userspace emulation 2010-03-12 18:34:25 +00:00
target-arm Remove cpu_get_phys_page_debug from userspace emulation 2010-03-12 18:34:25 +00:00
target-cris Remove cpu_get_phys_page_debug from userspace emulation 2010-03-12 18:34:25 +00:00
target-i386 target-i386: fix commit c22549204a 2010-03-13 11:35:55 +01:00
target-m68k Remove cpu_get_phys_page_debug from userspace emulation 2010-03-12 18:34:25 +00:00
target-microblaze Target specific usermode cleanup 2010-03-12 18:44:24 +00:00
target-mips target-mips: update address space definitions 2010-03-13 11:35:55 +01:00
target-ppc Target specific usermode cleanup 2010-03-12 18:44:24 +00:00
target-s390x Remove cpu_get_phys_page_debug from userspace emulation 2010-03-12 18:34:25 +00:00
target-sh4 Target specific usermode cleanup 2010-03-12 18:44:24 +00:00
target-sparc Target specific usermode cleanup 2010-03-12 18:44:24 +00:00
tcg tcg/arm: correctly save/restore registers in prologue/epilogue 2010-03-13 11:44:25 +01:00
tests Use vpath directive 2010-01-08 09:58:40 -06:00
.gitignore Documentation: Add build support for documentation in pdf format 2010-02-10 11:56:56 -06:00
.gitmodules use absolute URLs for .gitmodules 2010-03-06 23:09:28 +01:00
a.out.h
acl.c Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
acl.h Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
aes.c
aes.h
aio.c Add qemu_aio_process_queue() 2009-10-27 12:28:59 -05:00
alpha-dis.c Remove PARAMS() macro 2009-09-25 19:53:21 +00:00
alpha.ld
arm-dis.c arm host: Fix linker warning (m68k targets) 2010-02-27 16:10:48 +01:00
arm-semi.c
arm.ld
async.c Introduce contexts for asynchronous callbacks 2009-10-27 12:28:59 -05:00
balloon.h virtio: Add memory statistics reporting to the balloon driver 2010-01-26 17:08:03 -06:00
block_int.h block: more read-only changes, related to backing files 2010-02-19 15:32:15 -06:00
block-migration.c Try not to exceed max downtime on stage3 2010-02-09 16:56:14 -06:00
block-migration.h block migration: Report progress also via info migration 2009-12-03 10:48:53 -06:00
block.c block: more read-only changes, related to backing files 2010-02-19 15:32:15 -06:00
block.h block: BLOCK_IO_ERROR QMP event 2010-02-10 11:57:03 -06:00
bswap.h bwap: add qemu_bswap helper 2010-02-14 16:10:53 +02:00
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c Do not use dprintf 2010-02-07 02:03:50 +03:00
buffered_file.h
cache-utils.c FreeBSD ppc_init_cacheline_sizes(): add missing #includes 2010-03-13 01:14:01 +03:00
cache-utils.h
Changelog Update version and changelog to sync with stable branch 2009-12-19 08:26:03 -06:00
check-qdict.c QDict: Fix size update 2009-12-18 11:26:27 -06:00
check-qfloat.c Add unit test for QFloat 2009-11-17 08:49:38 -06:00
check-qint.c Fix and improve qint_from_int64_test 2009-09-26 21:26:26 +02:00
check-qjson.c Add test suite for json marshalling 2009-11-17 08:49:40 -06:00
check-qlist.c Introduce QList unit-tests 2009-10-08 21:17:18 -05:00
check-qstring.c utests: Add qstring_from_substr() unit-test 2009-12-03 09:41:19 -06:00
cmd.c Fix OpenBSD build of qemu-io 2009-11-21 09:06:46 +00:00
cmd.h
cocoa.m Cocoa: Use optimized drawing for the window 2010-01-07 10:57:34 +03:00
CODING_STYLE Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
config.h Makefile dependencies for device configs 2009-11-22 21:24:54 +00:00
configure Remove userspace target_phys_addr_t 2010-03-12 18:45:44 +00:00
console.c move default allocator to console.c 2010-02-19 15:18:16 -06:00
console.h kbd leds: infrastructure 2010-03-09 08:47:20 -06:00
COPYING
COPYING.LIB
cpu-all.h Fix usermode virtual address type 2010-03-12 23:25:52 +00:00
cpu-common.h Disable phsyical memory handling in userspace emulation. 2010-03-12 18:34:25 +00:00
cpu-defs.h Remove TLB from userspace 2010-03-12 18:34:21 +00:00
cpu-exec.c Add tb_page_addr_t 2010-03-12 17:23:50 +00:00
create_config Configurable block format whitelist 2009-11-09 08:43:02 -06:00
cris-dis.c bdf: Remove last users of FALSE/TRUE 2009-10-05 09:32:44 -05:00
curses_keys.h Fix curses interaction with keymaps 2010-03-06 23:15:30 +01:00
curses.c Fix curses interaction with keymaps 2010-03-06 23:15:30 +01:00
cutils.c Probe for fdatasync() 2009-09-20 06:56:26 +00:00
d3des.c
d3des.h
def-helper.h def-helper.h allow helpers returning pointers 2009-08-22 17:23:55 +00:00
device_tree.c Fix device tree compile broken by ca20cf32ab 2009-09-23 08:41:45 +02:00
device_tree.h
dis-asm.h bdf: Remove last users of FALSE/TRUE 2009-10-05 09:32:44 -05:00
disas.c sh4 disasm fixes 2009-11-14 01:19:12 +01:00
disas.h Disassembler symbol lookup fix 2010-03-01 04:39:50 +00:00
dma-helpers.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dma.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
dyngen-exec.h S/390 fake TCG implementation 2009-12-05 17:36:00 +01:00
elf.h tcg-i386: Implement small forward branches. 2010-02-06 22:23:39 +01:00
envlist.c Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
envlist.h
exec-all.h Fix usermode virtual address type 2010-03-12 23:25:52 +00:00
exec.c Fix more wrong usermode virtual address types 2010-03-13 09:48:08 +00:00
feature_to_c.sh
gdbstub.c target-sh4: Fix gdb read/write register 2010-02-27 16:14:14 +01:00
gdbstub.h
gen-icount.h target-arm: remove cpu_T for ARM once and for all 2009-10-17 23:52:18 +02:00
host-utils.c
host-utils.h target-alpha: Fix generic ctz64. 2009-12-17 18:12:04 +01:00
hpet.h
hppa-dis.c
hppa.ld
hxtool
i386-dis.c i386-dis: remove dead assignments, spotted by clang 2010-03-07 13:56:27 +00:00
i386.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00
ia64.ld
input.c kbd leds: infrastructure 2010-03-09 08:47:20 -06:00
ioport-user.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ioport.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
ioport.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
json-lexer.c json: fix PRId64 on Win32 2010-02-10 12:47:58 -06:00
json-lexer.h Add a lexer for JSON 2009-11-17 08:49:39 -06:00
json-parser.c json-parser: Fix segfault on malformed input 2010-03-06 22:32:54 +01:00
json-parser.h Add a JSON parser 2009-11-17 08:49:39 -06:00
json-streamer.c Add a JSON message boundary identifier 2009-11-17 08:49:39 -06:00
json-streamer.h Add a JSON message boundary identifier 2009-11-17 08:49:39 -06:00
keymaps.c Fix curses interaction with keymaps 2010-03-06 23:15:30 +01:00
keymaps.h Fix curses interaction with keymaps 2010-03-06 23:15:30 +01:00
kvm-all.c KVM: Rework VCPU state writeback API 2010-03-04 00:29:28 -03:00
kvm.h Disable phsyical memory handling in userspace emulation. 2010-03-12 18:34:25 +00:00
libfdt_env.h
LICENSE
linux-aio.c linux-aio: Honour AsyncContext 2009-10-27 12:28:59 -05:00
m68k-dis.c
m68k-semi.c Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
m68k.ld
MAINTAINERS Update MAINTAINERS 2010-02-06 19:24:42 +01:00
Makefile Documentation: Modify rule for html output (better looking output format) 2010-03-06 23:07:09 +01:00
Makefile.hw Use vpath directive 2010-01-08 09:58:40 -06:00
Makefile.objs virtio-console: Rename virtio-serial.c back to virtio-console.c 2010-01-26 15:42:02 -06:00
Makefile.target alpha-linux-user: Implement signals. 2010-02-28 17:54:52 +01:00
Makefile.user Use vpath directive 2010-01-08 09:58:40 -06:00
microblaze-dis.c Update to a hopefully more future proof FSF address 2010-03-07 15:48:43 +00:00
migration-exec.c Do not use dprintf 2010-02-07 02:03:50 +03:00
migration-fd.c Do not use dprintf 2010-02-07 02:03:50 +03:00
migration-tcp.c Do not use dprintf 2010-02-07 02:03:50 +03:00
migration-unix.c Do not use dprintf 2010-02-07 02:03:50 +03:00
migration.c Monitor: Convert do_migrate() to cmd_new_ret() 2010-02-19 15:18:17 -06:00
migration.h Monitor: Convert do_migrate() to cmd_new_ret() 2010-02-19 15:18:17 -06:00
mips-dis.c
mips.ld
module.c Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
module.h
monitor.c QMP: Introduce WATCHDOG event 2010-03-09 08:47:27 -06:00
monitor.h QMP: Introduce WATCHDOG event 2010-03-09 08:47:27 -06:00
nbd.c
nbd.h
net-checksum.c
net.c qdev: Catch attempt to attach more than one device to a netdev 2010-03-09 08:47:20 -06:00
net.h qdev: Add a DEV_NVECTORS_UNSPECIFIED enum for unspecified nr of MSI vectors 2010-03-08 11:30:09 -06:00
osdep.c documentation: qemu_write_full don't work with non-blocking fd's 2010-03-09 11:23:00 -06:00
osdep.h qdev: move DO_UPCAST() into osdep.h 2009-12-03 09:41:29 -06:00
path.c path.c fix warning with _FORTIFY_SOURCE 2009-12-25 18:19:15 +00:00
pci-ids.txt
posix-aio-compat.c posix-aio-compat.c: fix warning with _FORTIFY_SOURCE 2010-01-26 14:59:19 -06:00
ppc64.ld
ppc-dis.c Work around OpenSolaris sys/regset.h namespace pollution 2009-09-12 12:36:11 +00:00
ppc.ld
qbool.c Add a QBool type 2009-11-17 08:49:39 -06:00
qbool.h Add a QBool type 2009-11-17 08:49:39 -06:00
qdict-test-data.txt Introduce QDict test data file 2009-09-04 09:37:34 -05:00
qdict.c QDict: New qdict_get_double() 2010-02-03 12:36:25 -06:00
qdict.h QDict: New qdict_get_double() 2010-02-03 12:36:25 -06:00
qemu_socket.h net: Make inet_strfamily() public 2010-01-20 08:25:23 -06:00
qemu-aio.h Add qemu_aio_process_queue() 2009-10-27 12:28:59 -05:00
qemu-barrier.h kvm-all.c: define smp_wmb and use it for coalesced mmio 2010-02-22 19:04:13 +02:00
qemu-binfmt-conf.sh target-alpha: Add binfmt entry. 2009-12-13 20:32:36 +01:00
qemu-char.c Restore terminal attributes for tty based monitor 2010-03-09 08:47:27 -06:00
qemu-char.h char: Convert qemu_chr_info() to QObject 2009-12-12 07:59:49 -06:00
qemu-common.h Merge remote branch 'qemu-kvm/uq/master' into staging 2010-02-22 16:16:22 -06:00
qemu-config.c Add cpu model configuration support.. 2010-02-22 16:16:17 -06:00
qemu-config.h Add cpu model configuration support.. 2010-02-22 16:16:17 -06:00
qemu-doc.texi Documentation: Enhance documentation (index, keywords) 2010-02-10 12:44:15 -06:00
qemu-img-cmds.hx qemu-img rebase 2010-01-13 17:14:15 -06:00
qemu-img.c block: print errno on error 2010-03-09 11:23:00 -06:00
qemu-img.texi Documentation: Add options to image format descriptions 2009-11-09 08:43:12 -06:00
qemu-io.c block: kill BDRV_O_CREAT 2010-01-26 15:42:02 -06:00
qemu-lock.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
qemu-log.h
qemu-malloc.c Simplify qemu_realloc() 2010-02-23 22:36:19 +01:00
qemu-monitor.hx Monitor: Rename cmd_new_ret() 2010-02-19 15:18:17 -06:00
qemu-nbd.c win32: pair qemu_memalign() with qemu_vfree() 2010-01-26 16:41:06 -06:00
qemu-nbd.texi qemu-nbd: Fix wrong description in qemu-nbd.texi 2010-03-06 23:03:50 +01:00
qemu-objects.h Introduce qemu-objects.h header file 2009-12-12 07:59:45 -06:00
qemu-option.c Allow const QemuOptDesc 2010-02-21 16:01:30 +00:00
qemu-option.h Allow const QemuOptDesc 2010-02-21 16:01:30 +00:00
qemu-options.hx Add option to use file backed guest memory 2010-03-04 00:28:47 -03:00
qemu-queue.h Import a simple queue implementation from NetBSD 2009-12-03 10:48:52 -06:00
qemu-sockets.c fix inet_parse typo 2010-02-10 12:46:06 -06:00
qemu-tech.texi Documentation: Use UTF-8 encoding and fix one wrong encoding 2010-02-10 12:43:04 -06:00
qemu-thread.c
qemu-thread.h
qemu-timer.h add qemu_get_clock_ns 2010-02-09 16:56:13 -06:00
qemu-tool.c QMP: Asynchronous events infrastructure 2009-12-03 09:41:23 -06:00
qemu-x509.h move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
qemu.sasl
qerror.c Revert "QError: New QERR_INVALID_CPU_INDEX" 2010-02-03 12:39:01 -06:00
qerror.h Revert "QError: New QERR_INVALID_CPU_INDEX" 2010-02-03 12:39:01 -06:00
qfloat.c Add a QFloat datatype 2009-11-17 08:49:38 -06:00
qfloat.h Add a QFloat datatype 2009-11-17 08:49:38 -06:00
qint.c Shuffle lines to avoid gcc 3 warning about redundant redeclaration 2009-09-04 17:43:37 +00:00
qint.h Introduce QInt 2009-09-04 09:37:29 -05:00
qjson.c qjson: Improve debugging 2010-02-10 13:46:17 -06:00
qjson.h QJSON: Introduce qobject_from_jsonv() 2009-12-03 09:41:18 -06:00
qlist.c Add operations to qlist to allow it to be used as a stack 2009-11-17 08:49:38 -06:00
qlist.h QList: Introduce QLIST_FOREACH_ENTRY() 2010-01-26 15:42:01 -06:00
qobject.h Introduce QError 2009-12-03 09:41:20 -06:00
qstring.c QString: Introduce qstring_from_substr() 2009-12-03 09:41:19 -06:00
qstring.h QString: Introduce qstring_from_substr() 2009-12-03 09:41:19 -06:00
readline.c cope with printf macro definition in readline.c 2010-02-08 12:12:40 +03:00
readline.h
README
rules.mak finish VPATH -> vpath translation 2010-01-08 16:55:03 -06:00
rwhandler.c Don't compile rwhandler.c for user targets 2010-02-20 09:27:38 +00:00
rwhandler.h rwhandler: simplified way to register for mem/io 2010-02-14 16:10:53 +02:00
s390-dis.c
s390.ld
savevm.c KVM: Rework VCPU state writeback API 2010-03-04 00:29:28 -03:00
sdl_keysym.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
sdl_zoom_template.h
sdl_zoom.c
sdl_zoom.h
sdl.c sdl: improve grab exiting instructions 2010-03-08 10:59:53 -06:00
sh4-dis.c sh4 disasm fixes 2009-11-14 01:19:12 +01:00
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h softmmu: Dont clobber retaddr in slow_ldx(). 2010-01-28 22:46:13 +01:00
softmmu-semi.h
sparc64.ld
sparc-dis.c Sparc: comment out unused variable, spotted by clang 2010-01-13 18:54:54 +00:00
sparc.ld Fix sparc.ld 2009-09-13 19:38:43 +00:00
sysemu.h QMP: Introduce RTC_CHANGE event 2010-03-08 11:30:09 -06:00
targphys.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
tcg-runtime.c Compile TCG runtime library only once 2009-09-20 19:06:34 +00:00
texi2pod.pl
thunk.c
thunk.h
TODO
translate-all.c
uboot_image.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
usb-bsd.c qdev: Replace device names containing whitespace 2009-12-12 07:59:38 -06:00
usb-linux.c Do not use dprintf 2010-02-07 02:03:50 +03:00
usb-stub.c
VERSION Update version and changelog to sync with stable branch 2009-12-19 08:26:03 -06:00
vgafont.h
vl.c QMP: Really move the RESET event to qemu_system_reset() 2010-03-10 09:06:55 -06:00
vnc_keysym.h Revert "Get rid of _t suffix" 2009-10-01 16:12:16 -05:00
vnc-auth-sasl.c
vnc-auth-sasl.h
vnc-auth-vencrypt.c
vnc-auth-vencrypt.h
vnc-tls.c move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
vnc-tls.h
vnc.c kbd keds: vnc 2010-03-09 08:47:27 -06:00
vnc.h kbd keds: vnc 2010-03-09 08:47:27 -06:00
vnchextile.h vnc: Fix artifacts in hextile decoding 2010-01-07 07:55:34 -06:00
x86_64.ld Fix missing symbols in .rel/.rela.plt sections 2010-02-06 22:22:27 +01:00
x_keymap.c
x_keymap.h

Read the documentation in qemu-doc.html.

Fabrice Bellard.