QEMU With E2K User Support
Go to file
Peter Maydell 86360ad71d exec-all.h: Use stl_p to avoid undefined behaviour patching x86 jumps
The code which patches x86 jump instructions assumes it can do an
unaligned write of a uint32_t. This is actually safe on x86, but it's
still undefined behaviour. We have infrastructure for doing efficient
unaligned accesses which doesn't engage in undefined behaviour, so
use it.

This is technically fractionally less efficient, at least with gcc 4.6;
instead of one instruction:
 7b2:   89 3e                   mov    %edi,(%rsi)
we get an extra spurious store to the stack slot:
 7b2:   89 7c 24 64             mov    %edi,0x64(%rsp)
 7b6:   89 3e                   mov    %edi,(%rsi)

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
2014-05-12 10:03:04 -07:00
audio Add the ability to vary Spice playback and record rates, to facilitate Opus support. 2014-02-03 11:05:15 +01:00
backends qom: Clean up fragile use of error_is_set() in set() methods 2014-05-05 19:08:49 +02:00
block curl: Fix hang reading from slow connections 2014-04-30 16:34:21 +02:00
bsd-user cpu: Move opaque field from CPU_COMMON to CPUState 2014-03-13 19:20:47 +01:00
default-configs usb: mtp filesharing 2014-04-23 10:28:14 +02:00
disas libvixl: Fix format strings for several int64_t values 2014-03-10 14:56:29 +00:00
docs qapi: Document optional arguments' backwards compatibility 2014-05-09 09:11:32 -04:00
dtc@bc895d6d09
fpu softfloat: Introduce float32_to_uint64_round_to_zero 2014-04-08 11:20:00 +02:00
fsdev virtfs-proxy-helper: fix call to accept 2014-04-28 08:55:32 +04:00
gdb-xml target-arm: Support fp registers in gdb stub 2013-12-17 19:42:32 +00:00
hw pci-assign: assigned_initfn(): set monitor error in common error handler 2014-05-08 14:20:00 -04:00
include exec-all.h: Use stl_p to avoid undefined behaviour patching x86 jumps 2014-05-12 10:03:04 -07:00
libcacard libcacard: remove unnecessary EOL from debug prints 2014-05-07 21:00:44 +04:00
linux-headers linux-headers update 2014-04-25 12:59:57 +02:00
linux-user linux-user: fix getrusage and wait4 failures with invalid rusage struct 2014-05-05 15:21:05 +03:00
net trivial patches for 2014-04-28 2014-04-28 13:43:17 +01:00
pc-bios Add QEMU logo (SVG file) 2014-04-28 08:55:31 +04:00
pixman@97336fad32
po po: add proper Language: tags to .po files 2014-04-28 08:55:32 +04:00
qapi Revert "qapi: Clean up superfluous null check in qapi_dealloc_type_str()" 2014-05-09 09:11:32 -04:00
qga qga: Drop superfluous error_is_set() 2014-05-09 09:11:31 -04:00
qobject qerror.h: Remove QERR defines that are only used once 2014-04-25 09:19:59 -04:00
qom qerror.h: Remove QERR defines that are only used once 2014-04-25 09:19:59 -04:00
roms pseries: Update SLOF firmware image to qemu-slof-20140404 2014-04-08 11:20:00 +02:00
scripts Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-05-09 15:46:34 +01:00
slirp slirp: Remove default_mon usage 2014-04-25 09:19:58 -04:00
stubs qerror.h: Replace QERR_NOT_SUPPORTED with QERR_UNSUPPORTED 2014-04-25 09:19:59 -04:00
sysconfigs/target
target-alpha target-alpha: Fix RDUSP 2014-05-02 20:42:02 -07:00
target-arm vmstate: s/VMSTATE_INT32_LE/VMSTATE_INT32_POSITIVE_LE/ 2014-05-05 22:15:03 +02:00
target-cris cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-i386 qom: Clean up fragile use of error_is_set() in set() methods 2014-05-05 19:08:49 +02:00
target-lm32 cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-m68k cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-microblaze cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-mips target-mips: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
target-moxie cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-openrisc cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-ppc ppc: use kvm_vcpu_enable_cap() 2014-04-30 14:39:58 +02:00
target-s390x s390x/helper: Added format control bit to MMU translation 2014-05-07 10:17:35 +02:00
target-sh4 cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-sparc target-sparc: fix 32bit integer division overflow 2014-03-26 23:40:40 +00:00
target-unicore32 cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
target-xtensa cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
tcg tcg-sparc: Accept stores of zero 2014-04-28 11:06:35 -07:00
tests tests/qapi-schema: Drop superfluous error_is_set() 2014-05-09 09:11:31 -04:00
trace trace: [tracetool] Minimize the amount of per-backend code 2014-05-07 19:07:18 +02:00
ui spice: fix libvirt snapshots 2014-05-08 10:45:54 +02:00
util qemu-option: Clean up fragile use of error_is_set() 2014-05-09 09:11:31 -04:00
.exrc
.gitignore gitignore: cleanups #2 2014-04-28 08:55:31 +04:00
.gitmodules Add OpenHack'Ware submodule 2014-03-12 17:26:32 +01:00
.mailmap
.travis.yml .travis.yml: add IRC notifications for build failures 2014-03-15 13:54:18 +04:00
CODING_STYLE CODING_STYLE: Section about mixed declarations 2014-03-27 19:22:49 +04:00
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
MAINTAINERS pc,net,MAINTAINERS,build updates 2014-05-07 17:16:03 +01:00
Makefile qapi: Use an explicit input file 2014-05-08 14:19:58 -04:00
Makefile.objs iothread: add I/O thread object 2014-03-13 14:42:24 +01:00
Makefile.target xen: factor out common functions 2014-05-07 16:16:43 +00:00
README
VERSION Open 2.1 development tree 2014-04-17 20:39:32 +01:00
aio-posix.c aio: make aio_poll(ctx, true) block with no fds 2013-12-06 16:53:51 +01:00
aio-win32.c aio: make aio_poll(ctx, true) block with no fds 2013-12-06 16:53:51 +01:00
arch_init.c arch_init: Be sure of only one exit entry with DPRINTF() for ram_load() 2014-05-07 21:00:43 +04:00
async.c aio: add aio_context_acquire() and aio_context_release() 2014-03-13 14:42:24 +01:00
balloon.c
block-migration.c block: Handle error of bdrv_getlength in bdrv_create_dirty_bitmap 2014-04-22 11:57:02 +02:00
block.c block: Fix open_flags in bdrv_reopen() 2014-04-30 11:05:00 +02:00
blockdev-nbd.c
blockdev.c Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-04-28 12:56:34 +01:00
blockjob.c qerror.h: Replace QERR_NOT_SUPPORTED with QERR_UNSUPPORTED 2014-04-25 09:19:59 -04:00
bt-host.c
bt-vhci.c
configure Tracing pull request 2014-05-08 12:38:01 +01:00
coroutine-gthread.c do not call g_thread_init() for glib >= 2.31 2014-05-07 21:00:43 +04:00
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c cpu-exec: Unlock tb_lock if we longjmp out of code generation 2014-04-04 18:29:25 +01:00
cpus.c misc: Use cpu_physical_memory_read and cpu_physical_memory_write 2014-04-27 13:04:18 +04:00
cputlb.c cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
device-hotplug.c machine: Remove QEMUMachine indirection from MachineClass 2014-05-05 19:08:49 +02:00
device_tree.c device_tree: qemu_fdt_setprop: Rename val_array arg 2013-12-20 01:58:12 +01:00
disas.c disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
dma-helpers.c dma-helpers: Initialize DMAAIOCB in_cancel flag 2014-04-04 19:36:39 +02:00
dump.c dump: Drop pointless error_is_set(), DumpState member errp 2014-05-09 09:11:32 -04:00
exec.c exec: Limit translation limiting in address_space_translate to xen 2014-05-07 16:14:36 +00:00
gdbstub.c exec: Change cpu_breakpoint_{insert,remove{,_by_ref,_all}} argument 2014-03-13 19:20:48 +01:00
hmp-commands.hx HMP: support specifying dump format for dump-guest-memory 2014-04-25 11:18:33 -04:00
hmp.c hmp: Guard against misuse of hmp_handle_error() 2014-05-09 09:11:31 -04:00
hmp.h monitor: Add device_add and device_del completion. 2014-04-25 09:37:12 -04:00
iohandler.c
ioport.c
iothread.c iothread: make IOThread struct definition public 2014-04-04 20:48:02 +02:00
kvm-all.c machine: Replace QEMUMachine by MachineClass in accelerator configuration 2014-05-05 19:08:49 +02:00
kvm-stub.c machine: Replace QEMUMachine by MachineClass in accelerator configuration 2014-05-05 19:08:49 +02:00
main-loop.c main-loop: Suppress "I/O thread spun" warnings for qtest 2014-03-13 21:36:50 +01:00
memory.c memory_region_present: return false if address is not found in child MemoryRegion 2014-03-09 21:09:37 +02:00
memory_mapping.c
migration-exec.c
migration-fd.c
migration-rdma.c rdma: rename 'x-rdma' => 'rdma' 2014-02-25 14:30:28 +01:00
migration-tcp.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration-unix.c Coverity: Fix failure path for qemu_accept in migration 2014-05-05 22:15:03 +02:00
migration.c migration: expose xbzrle cache miss rate 2014-05-05 22:15:03 +02:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c monitor: add Error-propagating monitor_handle_fd_param2() 2014-05-08 14:19:58 -04:00
nbd.c nbd: move socket wrappers to qemu-nbd 2014-02-21 21:02:23 +01:00
os-posix.c oslib-posix: Fix build on FreeBSD 2014-03-13 14:34:16 +00:00
os-win32.c util: Split out exec_dir from os_find_datadir 2014-02-20 13:12:54 +01:00
page_cache.c Fix two XBZRLE corruption issues 2014-02-25 14:30:28 +01:00
qapi-schema.json migration: expose xbzrle cache miss rate 2014-05-05 22:15:03 +02:00
qdev-monitor.c qdev: Fix crash by validating the object type 2014-05-05 19:08:49 +02:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c char: restore read callback on a reattached (hotplug) chardev 2014-03-13 10:33:45 +01:00
qemu-coroutine-io.c
qemu-coroutine-lock.c coroutine: remove qemu_co_queue_wait_insert_head 2013-12-02 17:11:49 +01:00
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi doc: grammify "allows to" 2014-04-18 10:33:36 +04:00
qemu-file.c Make qemu_peek_buffer loop until it gets it's data 2014-05-05 22:15:03 +02:00
qemu-img-cmds.hx qemu-img: add -l for snapshot in convert 2013-12-04 15:19:00 +01:00
qemu-img.c block: Add '--version' option to qemu-img 2014-04-29 10:36:35 +02:00
qemu-img.texi Describe flaws in qcow/qcow2 encryption in the docs 2014-01-31 22:05:03 +01:00
qemu-io-cmds.c qemu-io-cmds: Fixed typo in example for writev. 2014-03-19 09:39:41 +01:00
qemu-io.c block: Add errp to bdrv_new() 2014-04-22 12:00:20 +02:00
qemu-log.c
qemu-nbd.c block: Add errp to bdrv_new() 2014-04-22 12:00:20 +02:00
qemu-nbd.texi qemu-nbd: add doc for option -f 2013-12-04 15:19:00 +01:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx trivial patches for 2014-04-28 2014-04-28 13:43:17 +01:00
qemu-seccomp.c seccomp: add shmctl(), mlock(), and munlock() to the syscall whitelist 2014-04-25 14:52:03 -03:00
qemu-tech.texi
qemu-timer.c qemu-timer: Add missing 'static' attribute 2014-05-07 21:00:43 +04:00
qemu.nsi
qemu.sasl sasl: Avoid 'Could not find keytab file' in syslog 2014-03-15 13:54:18 +04:00
qmp-commands.hx qmp: use valid JSON in transaction example 2014-05-09 09:11:32 -04:00
qmp.c qmp: Don't use error_is_set() to suppress additional errors 2014-05-09 09:11:32 -04:00
qtest.c machine: Replace QEMUMachine by MachineClass in accelerator configuration 2014-05-05 19:08:49 +02:00
rules.mak rules.mak: Fix per object libs extraction 2014-03-17 13:21:11 +01:00
savevm.c qerror.h: Remove QERR defines that are only used once 2014-04-25 09:19:59 -04:00
spice-qemu-char.c spice: hook qemu_chr_fe_set_open() event to ports 2014-02-03 11:05:15 +01:00
tcg-runtime.c
tci.c tci: Mask shift counts to avoid undefined behavior 2014-04-18 16:57:36 -07:00
thread-pool.c Add a 'name' parameter to qemu_thread_create 2014-03-09 21:09:38 +02:00
thunk.c
tpm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
trace-events usb: mtp: replace debug printfs with trace points 2014-05-05 12:57:21 +02:00
translate-all.c page_check_range: don't bail out early after unprotecting page 2014-04-04 18:16:03 +01:00
translate-all.h translate-all: Change tb_check_watchpoint() argument to CPUState 2014-03-13 19:20:48 +01:00
user-exec.c tcg-aarch64: Properly detect SIGSEGV writes 2014-04-16 12:12:32 -04:00
version.rc
vl.c migration/next for 20140505 2014-05-07 14:51:21 +01:00
vmstate.c savevm: Ignore minimum_version_id_old if there is no load_state_old 2014-05-05 22:15:03 +02:00
xbzrle.c xbzrle.c: Avoid undefined behaviour with signed arithmetic 2014-04-18 10:33:36 +04:00
xen-common-stub.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-common.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-hvm-stub.c xen: factor out common functions 2014-05-07 16:16:43 +00:00
xen-hvm.c pass an inclusive address range to xc_domain_pin_memory_cacheattr 2014-05-07 16:17:57 +00:00
xen-mapcache.c

README

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

- QEMU team