Go to file
David Gibson d86a77f8ab iommu: Add universal DMA helper functions
Not that long ago, every device implementation using DMA directly
accessed guest memory using cpu_physical_memory_*().  This meant that
adding support for a guest visible IOMMU would require changing every
one of these devices to go through IOMMU translation.

Shortly before qemu 1.0, I made a start on fixing this by providing
helper functions for PCI DMA.  These are currently just stubs which
call the direct access functions, but mean that an IOMMU can be
implemented in one place, rather than for every PCI device.

Clearly, this doesn't help for non PCI devices, which could also be
IOMMU translated on some platforms.  It is also problematic for the
devices which have both PCI and non-PCI version (e.g. OHCI, AHCI) - we
cannot use the the pci_dma_*() functions, because they assume the
presence of a PCIDevice, but we don't want to have to check between
pci_dma_*() and cpu_physical_memory_*() every time we do a DMA in the
device code.

This patch makes the first step on addressing both these problems, by
introducing new (stub) dma helper functions which can be used for any
DMA capable device.

These dma functions take a DMAContext *, a new (currently empty)
variable describing the DMA address space in which the operation is to
take place.  NULL indicates untranslated DMA directly into guest
physical address space.  The intention is that in future non-NULL
values will given information about any necessary IOMMU translation.

DMA using devices must obtain a DMAContext (or, potentially, contexts)
from their bus or platform.  For now this patch just converts the PCI
wrappers to be implemented in terms of the universal wrappers,
converting other drivers can take place over time.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: Richard Henderson <rth@twiddle.net>

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-06-27 16:33:25 -05:00
audio audio/winwave: Fix typo 2012-06-15 20:58:54 +04:00
block raw-posix: Fix build without is_allocated support 2012-06-24 01:04:45 +02:00
bsd-user build: move *-user/ objects to nested Makefile.objs 2012-06-07 07:17:33 +02:00
default-configs xilinx_axi*: Share devices between microblaze and microblazeel 2012-06-15 12:44:27 +02:00
docs spapr: Add "memop" hypercall 2012-06-24 01:04:45 +02:00
fpu softfloat: Replace int16 type with int_fast16_t 2012-04-28 09:13:26 +00:00
fsdev build: move fsdev/ objects to nested Makefile.objs 2012-06-07 09:21:13 +02:00
gdb-xml
hw iommu: Add universal DMA helper functions 2012-06-27 16:33:25 -05:00
include/qemu Merge remote-tracking branch 'afaerber-or/qom-next-2' into staging 2012-06-18 10:35:16 -05:00
libcacard libcacard: build fixes 2012-06-21 20:04:24 +00:00
linux-headers kvm: Update kernel headers 2012-06-18 15:32:45 +02:00
linux-user Merge branch 'target-arm.for-upstream' of git://git.linaro.org/people/pmaydell/qemu-arm 2012-06-24 10:48:01 +00:00
net qmp: include monitor.h when needed 2012-06-15 10:41:05 -03:00
pc-bios PPC: e500: dt: start with empty device tree 2012-06-24 01:04:48 +02:00
qapi qmp: do not include monitor.h from qapi-types-core.h 2012-06-15 10:41:05 -03:00
qga qemu-ga: add guest-fstrim command 2012-06-21 17:59:27 -05:00
QMP Add event notification for guest balloon changes 2012-06-15 13:34:50 -03:00
qom qom: Push error reporting to object_property_find() 2012-06-18 15:14:38 +02:00
roms pc-bios: Update OpenBIOS images 2012-05-30 17:04:41 +00:00
scripts Merge remote-tracking branch 'stefanha/trivial-patches' into staging 2012-06-26 15:09:47 -05:00
slirp build: move slirp/ objects to nested Makefile.objs 2012-06-07 09:21:15 +02:00
sysconfigs/target move CPU definitions to /usr/share/qemu/cpus-x86_64.conf (v2) 2012-05-10 12:37:57 -05:00
target-alpha build: move other target-*/ objects to nested Makefile.objs 2012-06-07 09:21:11 +02:00
target-arm target-arm: Remove ARM_CPUID_* macros 2012-06-20 12:13:28 +00:00
target-cris cris: Fix NMI-flag handling on crisv10. 2012-06-15 13:21:32 +02:00
target-i386 target-i386: Use QEMU instead of Qemu 2012-06-22 10:34:21 +01:00
target-lm32 build: move other target-*/ objects to nested Makefile.objs 2012-06-07 09:21:11 +02:00
target-m68k build: move other target-*/ objects to nested Makefile.objs 2012-06-07 09:21:11 +02:00
target-microblaze qemu-log: use LOG_UNIMP for some target CPU cases 2012-06-21 18:45:22 +00:00
target-mips build: move other target-*/ objects to nested Makefile.objs 2012-06-07 09:21:11 +02:00
target-ppc target-ppc: Fix 2nd parameter for tcg_gen_shri_tl 2012-06-24 22:52:11 +02:00
target-s390x Merge branch 's390-for-upstream' of git://repo.or.cz/qemu/agraf 2012-06-24 10:45:55 +00:00
target-sh4 build: move other target-*/ objects to nested Makefile.objs 2012-06-07 09:21:11 +02:00
target-sparc qemu-log: use LOG_UNIMP for some target CPU cases 2012-06-21 18:45:22 +00:00
target-unicore32 build: move other target-*/ objects to nested Makefile.objs 2012-06-07 09:21:11 +02:00
target-xtensa target-xtensa: switch to AREG0-free mode 2012-06-10 20:09:22 +00:00
tcg tci: don't write zero for reloc in tci_out_label 2012-06-24 12:19:24 +00:00
tests qtest: fix infinite loop when QEMU aborts abruptly 2012-06-27 16:26:59 -05:00
trace trace/simple.c: fix deprecated glib2 interface 2012-06-08 09:32:40 +01:00
ui Remove support for non-threaded VNC server 2012-06-27 16:27:00 -05:00
.gitignore .gitignore: add qemu-bridge-helper and option rom build products 2012-03-19 10:52:52 +00:00
.gitmodules add sgabios blob and submodule 2011-11-07 10:57:36 -06:00
.mailmap Add a .mailmap to map pre-git-conversion authors to friendly names 2011-12-12 17:06:21 -06:00
a.out.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
acl.c acl: Fix use after free in qemu_acl_reset() 2011-11-01 06:23:48 +00:00
acl.h
aes.c
aes.h
aio.c aio: simplify qemu_aio_wait 2012-04-19 16:51:47 +02:00
alpha-dis.c target-alpha: Disassemble EV6 PALcode instructions. 2011-05-31 10:18:04 -07:00
alpha.ld
arch_init.c arch_init: Fix AltiVec build on Darwin/ppc 2012-05-29 11:38:07 +02:00
arch_init.h eliminate arch_config_name variable 2012-05-10 12:37:55 -05:00
arm-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
arm.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
async.c async: Use bool for boolean struct members and remove a hole 2012-05-01 10:13:25 +01:00
balloon.c Add event notification for guest balloon changes 2012-06-15 13:34:50 -03:00
balloon.h Add event notification for guest balloon changes 2012-06-15 13:34:50 -03:00
bitmap.c bitmap: add a generic bitmap and bitops library 2011-02-23 16:28:29 -06:00
bitmap.h Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
bitops.c bitmap: add a generic bitmap and bitops library 2011-02-23 16:28:29 -06:00
bitops.h bitops: fix error on OpenBSD and mingw32 2011-02-25 17:21:22 +00:00
block_int.h qemu-img check -r for repairing images 2012-06-15 14:03:42 +02:00
block-migration.c Purge migration of (almost) everything to do with monitors 2012-03-15 10:39:52 -03:00
block-migration.h
block.c block: Replace bdrv_get_format() by bdrv_get_format_name() 2012-06-15 14:03:43 +02:00
block.h block: Replace bdrv_get_format() by bdrv_get_format_name() 2012-06-15 14:03:43 +02:00
blockdev.c block: Simplify how drive_init() computes default ID 2012-06-15 14:03:42 +02:00
blockdev.h qapi: Convert block_set_io_throttle 2012-01-18 10:23:39 -02:00
bswap.h bswap.h: build fix 2011-09-16 08:26:31 -05:00
bt-host.c bt-host: add missing break statement 2012-01-13 10:37:00 +00:00
bt-host.h
bt-vhci.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
buffered_file.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
buffered_file.h
cache-utils.c Remove trailing whitespace 2010-11-01 00:54:06 +03:00
cache-utils.h cache-utils: Add missing include file for uintptr_t 2012-03-11 11:25:19 +00:00
Changelog fix some common typos 2012-05-14 07:27:24 +02:00
cmd.c qemu-io: correctly print non-integer values as decimals 2012-05-10 10:32:12 +02:00
cmd.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
CODING_STYLE Replace Qemu by QEMU in internal documentation 2012-04-07 13:58:25 +00:00
compatfd.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
compatfd.h Register Linux dyntick timer as per-thread signal 2011-07-23 11:26:12 -05:00
compiler.h rewrite QEMU_BUILD_BUG_ON 2012-02-09 16:17:51 +01:00
config.h
configure Remove support for non-threaded VNC server 2012-06-27 16:27:00 -05:00
console.c optimize screendump for the common non-switch case 2012-02-24 13:36:05 -06:00
console.h console: add some trace events 2012-03-12 10:30:23 +00:00
COPYING
COPYING.LIB
coroutine-gthread.c coroutine-gthread.c: Avoid threading APIs deprecated in GLib 2.31 2012-04-14 10:59:14 +00:00
coroutine-sigaltstack.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-05-14 12:45:01 -05:00
coroutine-ucontext.c coroutine: switch to QSLIST 2012-02-17 08:33:33 -06:00
coroutine-win32.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
cpu-all.h ppc: Move load and store helpers, switch to AREG0 free mode 2012-06-24 01:04:43 +02:00
cpu-common.h Add API to check whether a physical address is I/O address 2012-06-04 13:49:33 -03:00
cpu-defs.h w64: Fix struct CPUTLBEntry 2012-04-15 21:25:16 +02:00
cpu-exec.c cris: Fix NMI-flag handling on crisv10. 2012-06-15 13:21:32 +02:00
cpus.c kvm: Drop redundant kvm_enabled from cpu_thread_is_idle 2012-04-12 19:01:41 -03:00
cpus.h qtest: add clock management 2012-03-30 08:14:11 -05:00
cputlb.c cputlb: fix watchpoints handling 2012-05-12 09:14:38 +00:00
cputlb.h memory: move functions is_romd and section_addr to memory API 2012-05-01 10:45:07 +00:00
cris-dis.c cris-dis: Clean memory allocation 2012-01-10 09:36:43 +01:00
cursor_hidden.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor_left_ptr.xpm cursor: add cursor functions. 2010-05-24 15:18:23 -05:00
cursor.c Fix sign of sscanf format specifiers 2012-03-07 13:03:51 +00:00
cutils.c cutils: extract buffer_is_zero() from qemu-img.c 2012-02-09 16:17:50 +01:00
def-helper.h Add support for target helper functions which don't return 2012-03-24 13:01:46 +00:00
device_tree.c dt: make setprop argument static 2012-06-24 01:04:51 +02:00
device_tree.h dt: make setprop argument static 2012-06-24 01:04:51 +02:00
dis-asm.h target-lm32: add simple disassembler 2012-04-01 20:30:23 +02:00
disas.c fix some common typos 2012-05-14 07:27:24 +02:00
disas.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
dma-helpers.c iommu: Add universal DMA helper functions 2012-06-27 16:33:25 -05:00
dma.h iommu: Add universal DMA helper functions 2012-06-27 16:33:25 -05:00
dump-stub.c dump: Fix license version (GPL2+ instead of GPL2) 2012-06-11 22:20:21 +02:00
dump.c dump: Fix license version (GPL2+ instead of GPL2) 2012-06-11 22:20:21 +02:00
dump.h dump: Fix license version (GPL2+ instead of GPL2) 2012-06-11 22:20:21 +02:00
dyngen-exec.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
elf.h introduce a new monitor command 'dump-guest-memory' to dump guest's memory 2012-06-04 13:49:34 -03:00
envlist.c
envlist.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
error_int.h Introduce the new error framework 2011-06-07 13:52:10 -05:00
error.c error.c: don't return value for void function 2012-04-20 13:14:53 +01:00
error.h Error: Introduce error_copy() 2012-03-15 10:39:52 -03:00
event_notifier.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
event_notifier.h prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
exec-all.h linux-user: Fix stale tbs after mmap 2012-05-19 15:49:40 +00:00
exec-memory.h fix spelling in main directory 2011-12-02 10:50:57 +00:00
exec-obsolete.h memory: get rid of cpu_register_io_memory() 2012-03-08 19:16:39 +02:00
exec.c qemu-log: move logging to qemu-log.c 2012-06-21 18:45:16 +00:00
gdbstub.c make gdb_id() generally avialable and rename it to cpu_index() 2012-06-04 13:49:34 -03:00
gdbstub.h make gdb_id() generally avialable and rename it to cpu_index() 2012-06-04 13:49:34 -03:00
gen-icount.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
HACKING HACKING: clarify allocation/free recommendations 2011-12-15 09:27:23 -06:00
hmp-commands.hx qapi: convert netdev_del 2012-06-04 13:49:35 -03:00
hmp.c qmp: include monitor.h when needed 2012-06-15 10:41:05 -03:00
hmp.h qapi: convert netdev_del 2012-06-04 13:49:35 -03:00
host-utils.c
host-utils.h Move macro QEMU_GNUC_PREREQ to compiler.h 2011-09-23 11:51:05 -05:00
hppa-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
hppa.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
i386-dis.c i386-dis: Fix unused return value, spotted by clang 2010-04-18 14:27:44 +00:00
i386.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
ia64-dis.c ia64-dis.c: Undefine ABS to avoid clash with glib 2011-11-01 11:50:12 -05:00
ia64.ld
input.c runstate: introduce suspended state 2012-05-08 14:30:09 -03:00
int128.h Add support for 128-bit arithmetic 2011-10-16 13:13:05 +02:00
iohandler.c iohandler: Use bool for boolean struct member and remove holes 2012-05-01 10:13:33 +01:00
ioport.c ioport: use INT64_MAX for IO ranges 2012-03-19 15:17:21 +02:00
ioport.h ioport: add destructor method to IORange 2012-03-05 17:36:19 +02:00
iorange.h ioport: add destructor method to IORange 2012-03-05 17:36:19 +02:00
iov.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
iov.h Add iov_clear() 2011-08-04 15:51:22 +02:00
json-lexer.c Add 'fall through' comments to case statements without break 2012-01-13 10:36:59 +00:00
json-lexer.h json-lexer: make lexer error-recovery more deterministic 2011-06-07 13:52:11 -05:00
json-parser.c json-parser: add handling for NULL token list 2011-06-07 13:52:11 -05:00
json-parser.h json-parser: propagate error from parser 2011-06-07 13:52:10 -05:00
json-streamer.c json-streamer: add handling for JSON_ERROR token/state 2011-06-07 13:52:11 -05:00
json-streamer.h json-streamer: make sure to reset token_size after emitting a token list 2011-06-07 13:52:11 -05:00
kvm-all.c kvm: add missing include files 2012-06-15 10:41:05 -03:00
kvm-stub.c kvm: Enable use of kvm_irqchip_in_kernel in hwlib code 2012-05-21 19:22:50 +03:00
kvm.h kvm: Introduce kvm_irqchip_add/remove_irqfd 2012-05-21 19:22:50 +03:00
libfdt_env.h Fix libfdt warnings on Darwin 2011-06-14 03:08:57 +02:00
LICENSE LICENSE: There is no libqemu.a anymore 2011-12-09 11:25:22 +00:00
linux-aio.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
lm32-dis.c target-lm32: add simple disassembler 2012-04-01 20:30:23 +02:00
m68k-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
m68k.ld
main-loop.c main-loop: Calculate poll timeout using timeout argument 2012-05-01 10:46:25 +00:00
main-loop.h Switch SIG_IPI to SIGUSR1 2012-05-10 08:33:34 -05:00
MAINTAINERS MAINTAINERS: Added device tree 2012-06-27 11:57:17 +02:00
Makefile Merge remote-tracking branch 'stefanha/trivial-patches' into staging 2012-06-26 15:09:47 -05:00
Makefile.dis make: automatically include dependencies in recursive subdir rules (v2) 2012-06-19 13:32:42 -05:00
Makefile.hw Makefile.hw: avoid overly large 'make clean' rm command 2012-06-22 10:34:21 +01:00
Makefile.objs qemu-log: move logging to qemu-log.c 2012-06-21 18:45:16 +00:00
Makefile.target Makefile.target: Update clean command to clean hw/ directory 2012-06-27 16:26:59 -05:00
Makefile.user Makefile.user: Define CONFIG_USER_ONLY for libuser/ 2012-06-22 09:41:31 +01:00
memory_mapping-stub.c Fix some more license versions (GPL2+ instead of GPL2) 2012-06-15 10:41:05 -03:00
memory_mapping.c Fix some more license versions (GPL2+ instead of GPL2) 2012-06-15 10:41:05 -03:00
memory_mapping.h Fix some more license versions (GPL2+ instead of GPL2) 2012-06-15 10:41:05 -03:00
memory.c memory: check address space when a listener is registered 2012-04-05 13:09:17 +03:00
memory.h memory: move functions is_romd and section_addr to memory API 2012-05-01 10:45:07 +00:00
microblaze-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
migration-exec.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration-fd.c qapi: Convert migrate 2012-03-15 10:39:52 -03:00
migration-tcp.c use inet_listen()/inet_connect() to support ipv6 migration 2012-05-10 12:37:57 -05:00
migration-unix.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration.c use inet_listen()/inet_connect() to support ipv6 migration 2012-05-10 12:37:57 -05:00
migration.h use inet_listen()/inet_connect() to support ipv6 migration 2012-05-10 12:37:57 -05:00
mips-dis.c Remove blanks before \n in output strings 2011-09-16 08:25:56 -05:00
mips.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
module.c Remove type field in ModuleEntry as it's not used 2012-03-19 10:52:52 +00:00
module.h qom: Unify type registration 2012-02-15 09:39:21 -06:00
monitor.c Add rate limiting of RTC_CHANGE, BALLOON_CHANGE & WATCHDOG events 2012-06-15 13:35:00 -03:00
monitor.h Add event notification for guest balloon changes 2012-06-15 13:34:50 -03:00
nbd.c sockets: use error class to pass listen error 2012-05-10 12:37:57 -05:00
nbd.h nbd: consistently return negative errno values 2012-04-19 16:36:43 +02:00
net.c qapi: convert netdev_del 2012-06-04 13:49:35 -03:00
net.h qapi: convert netdev_del 2012-06-04 13:49:35 -03:00
notify.c notifier: switch to QLIST 2012-02-17 08:33:32 -06:00
notify.h notifier: switch to QLIST 2012-02-17 08:33:32 -06:00
os-posix.c os-posix: Fix build on FreeBSD 2012-04-26 13:14:58 -05:00
os-win32.c Prevent disk data loss when closing qemu 2012-06-15 14:03:42 +02:00
osdep.c Allow machines to configure the QEMU_VERSION that's exposed via hardware 2012-06-19 13:36:56 -05:00
osdep.h Allow machines to configure the QEMU_VERSION that's exposed via hardware 2012-06-19 13:36:56 -05:00
oslib-posix.c link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
oslib-win32.c main-loop: interrupt wait when data arrives on a socket 2012-04-07 08:34:16 +00:00
path.c user: speed up init_paths a bit 2011-02-09 10:33:54 +02:00
pci-ids.txt
pflib.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
pflib.h add pflib: PixelFormat conversion library. 2010-09-21 18:35:30 +02:00
poison.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
posix-aio-compat.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
ppc64.ld PPC: Fix linker scripts on ppc hosts 2012-01-10 18:23:58 +01:00
ppc-dis.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ppc.ld PPC: Fix linker scripts on ppc hosts 2012-01-10 18:23:58 +01:00
qapi-schema-guest.json qemu-ga: add guest-fstrim command 2012-06-21 17:59:27 -05:00
qapi-schema-test.json qapi: add struct-errors test case to test-qmp-output-visitor 2012-03-27 09:11:00 -03:00
qapi-schema.json Add 'query-events' command to QMP to query async events 2012-06-04 13:49:35 -03:00
qbool.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qbool.h
qdict-test-data.txt
qdict.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qdict.h QDict: Introduce qdict_get_try_bool() 2010-07-01 14:27:13 -03:00
qemu_socket.h sockets: use error class to pass listen error 2012-05-10 12:37:57 -05:00
qemu-aio.h aio: return "AIO in progress" state from qemu_aio_wait 2012-04-19 16:50:49 +02:00
qemu-barrier.h virtio: order index/descriptor reads 2012-04-25 10:53:47 +03:00
qemu-bridge-helper.c Add cap reduction support to enable use as SUID 2012-02-01 16:24:39 -06:00
qemu-char.c do not include <libutil.h> needlessly or if it doesn't exist 2012-06-09 10:30:08 +00:00
qemu-char.h qdev: nuke qdev_init_chardev() 2012-02-03 10:41:08 -06:00
qemu-common.h qdev-properties: Introduce pci-host-devaddr. 2012-06-21 16:06:10 +00:00
qemu-config.c PPC: e500: allow users to set the /compatible property via -machine 2012-06-24 01:04:51 +02:00
qemu-config.h qemu-config: Use QEMU instead of Qemu 2012-06-22 09:41:31 +01:00
qemu-coroutine-int.h coroutine: switch to QSLIST 2012-02-17 08:33:33 -06:00
qemu-coroutine-io.c sheepdog: move coroutine send/recv function to generic code 2011-12-22 11:53:53 +01:00
qemu-coroutine-lock.c coroutine: add qemu_co_queue_restart_all() 2011-12-05 14:51:38 +01:00
qemu-coroutine-sleep.c block: allow interrupting a co_sleep_ns 2012-04-19 16:03:27 +02:00
qemu-coroutine.c coroutine: introduce coroutines 2011-08-01 12:14:09 +02:00
qemu-coroutine.h coroutine: add co_sleep_ns() coroutine sleep function 2012-01-26 11:45:26 +01:00
qemu-doc.texi qemu-doc: Use QEMU instead of qemu for product name 2012-05-14 07:27:24 +02:00
qemu-error.c error: Add an accessor for progname 2011-12-15 09:27:22 -06:00
qemu-error.h error: Add an accessor for progname 2011-12-15 09:27:22 -06:00
qemu-file.h Spelling fixes in comments (it's -> its) 2012-03-08 15:22:11 +00:00
qemu-ga.c qemu-ga: align versioning with QEMU_VERSION 2012-05-15 09:17:06 -05:00
qemu-img-cmds.hx qemu-img check -r for repairing images 2012-06-15 14:03:42 +02:00
qemu-img.c block: Replace bdrv_get_format() by bdrv_get_format_name() 2012-06-15 14:03:43 +02:00
qemu-img.texi qemu-img: document qed format on qemu-img man page 2012-06-15 14:03:43 +02:00
qemu-io.c qemu-io: fix the alloc command 2012-05-10 10:32:13 +02:00
qemu-lock.h qemu-lock.h: Remove non-pthreads spinlock implementations 2011-02-20 15:20:06 +01:00
qemu-log.c qemu-log: add log category for unimplemented functionality 2012-06-21 18:45:20 +00:00
qemu-log.h qemu-log: Add GCC format attribute 2012-06-24 12:16:51 +00:00
qemu-nbd.c nbd: do not include block_int.h 2012-04-19 17:19:37 +02:00
qemu-nbd.texi Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
qemu-objects.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qemu-option.c qemu-option: qemu_opts_from_qdict(): use error_set() 2012-06-04 13:49:34 -03:00
qemu-option.h qemu-option: qemu_opts_from_qdict(): use error_set() 2012-06-04 13:49:34 -03:00
qemu-options-wrapper.h vl.c: In qemu -h output, only print options for the arch we are running as 2011-12-19 10:27:33 -06:00
qemu-options.h vl.c: Move option generation logic into a wrapper file 2011-12-19 10:27:33 -06:00
qemu-options.hx Merge remote-tracking branch 'sweil/for-1.1' into staging 2012-05-14 10:06:50 -05:00
qemu-os-posix.h 9pfs: improve portability to older systems 2011-11-28 11:36:27 -06:00
qemu-os-win32.h w64: Fix definition of setjmp 2012-04-15 21:25:16 +02:00
qemu-progress.c Fix compilation warning due to missing header for sigaction (followup) 2011-06-08 09:04:29 +01:00
qemu-queue.h Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
qemu-sockets.c qemu-option: qemu_opts_create(): use error_set() 2012-06-04 13:49:34 -03:00
qemu-tech.texi Drop darwin-user 2012-05-01 00:17:27 +02:00
qemu-thread-posix.c qemu-thread: implement joinable threads for POSIX 2011-12-12 17:06:22 -06:00
qemu-thread-posix.h add Win32 IPI service 2011-03-13 14:44:22 +00:00
qemu-thread-win32.c w32: Initialise critical section before starting thread (fix #922131) 2012-02-07 18:11:41 +01:00
qemu-thread-win32.h fix win32 build 2011-12-15 09:20:50 -06:00
qemu-thread.h qemu-thread: add API for joinable threads 2011-12-12 17:06:22 -06:00
qemu-timer-common.c Add OpenBSD to ifdef list since it has CLOCK_MONOTONIC. 2010-12-21 19:44:42 +00:00
qemu-timer.c qemu-timer: Fix wrong error message 2012-05-14 07:27:24 +02:00
qemu-timer.h qemu-timer: Move include for __FreeBSD_version to header 2012-05-08 11:14:56 -05:00
qemu-tls.h Rename get_tls to tls_var 2011-12-06 10:07:04 +00:00
qemu-tool.c qemu-log: cleanup 2012-06-21 18:45:18 +00:00
qemu-user.c qom: Add QOM support to user emulators 2012-03-13 13:23:18 -05:00
qemu-x509.h move x509 file name defines to qemu-x509.h 2010-03-08 11:30:09 -06:00
qemu-xattr.h configure: fix detection for xattr.h on modern distributions 2011-11-09 12:06:20 -06:00
qemu.sasl
qerror.c qerror: introduce QERR_INVALID_OPTION_GROUP 2012-06-04 13:49:34 -03:00
qerror.h qerror: introduce QERR_INVALID_OPTION_GROUP 2012-06-04 13:49:34 -03:00
qfloat.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qfloat.h
qint.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qint.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qjson.c Add support for JSON pretty printing 2010-10-01 10:12:43 -03:00
qjson.h qjson.h: include compiler.h for GCC_FMT_ATTR 2012-03-09 17:34:17 -03:00
qlist.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qlist.h qlist: add qlist_first()/qlist_next() 2011-07-21 16:48:13 -03:00
qmp-commands.hx Add 'query-events' command to QMP to query async events 2012-06-04 13:49:35 -03:00
qmp.c runstate: introduce suspended state 2012-05-08 14:30:09 -03:00
qobject.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qstring.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qstring.h Fix qtypes' licenses 2010-05-19 12:45:54 -03:00
qtest.c qtest: Fix tv_usec != long 2012-04-24 09:50:31 -05:00
qtest.h qtest: add dummy functions for user emulators 2012-04-19 18:52:35 +00:00
range.h Introduce range.h 2010-09-18 05:53:14 +00:00
readline.c monitor: Fix memory leak with readline completion 2012-06-15 10:41:05 -03:00
readline.h
README Update README 2011-12-11 17:50:43 -06:00
rules.mak make: automatically include dependencies in recursive subdir rules (v2) 2012-06-19 13:32:42 -05:00
s390-dis.c s390: Disassemble some general-instruction-extension insns. 2010-06-10 00:46:41 +02:00
s390.ld
savevm.c Merge remote-tracking branch 'afaerber-or/qom-next-2' into staging 2012-06-18 10:35:16 -05:00
sh4-dis.c *-dis: Replace fprintf_ftype by fprintf_function (format checking) 2010-12-04 20:50:30 +00:00
softmmu_defs.h softmmu templates: optionally pass CPUState to memory access functions 2012-03-18 12:21:52 +00:00
softmmu_exec.h Document softmmu templates 2011-10-01 09:31:08 +00:00
softmmu_header.h w64: Fix data types in softmmu*.h 2012-04-15 21:25:17 +02:00
softmmu_template.h w64: Fix data types in softmmu*.h 2012-04-15 21:25:17 +02:00
softmmu-semi.h Rename CPUState -> CPUArchState 2012-03-14 22:20:27 +01:00
sparc64.ld
sparc-dis.c sparc64: more ultrasparc asi extensions for disassembler 2010-05-06 20:13:02 +00:00
sparc.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
spice-qemu-char.c spice-qemu-char.c: Show what name is unsupported 2012-04-20 13:14:53 +01:00
sysemu.h qapi: Convert migrate 2012-03-15 10:39:52 -03:00
targphys.h Split TLB addend and target_phys_addr_t 2010-04-05 00:28:53 +01:00
tcg-runtime.c tcg: add div/rem 32-bit helpers 2010-03-14 22:04:50 +01:00
tci-dis.c tcg: Add tci disassembler 2011-10-31 21:52:17 +01:00
tci.c tci: Support INDEX_op_bswap64_i64 2012-06-22 10:34:21 +01:00
thunk.c linux-user: add struct old_dev_t compat 2012-04-06 18:49:58 +03:00
thunk.h linux-user: Fix invalid TARGET_ABI_BITS usage on ppc hosts 2012-05-01 21:47:01 +02:00
TODO
trace-events ehci: tracing improvements 2012-06-20 14:46:02 +02:00
translate-all.c w64: Fix data type of tb_next and other variables used for host addresses 2012-04-07 11:27:45 +00:00
uboot_image.h
user-exec.c user-exec.c: Don't assert on segfaults for non-valid addresses 2012-05-08 11:15:18 -05:00
VERSION Update version to open the 1.2 development branch 2012-06-01 16:56:16 +08:00
version.rc mingw: add version information to the executables 2010-09-26 16:07:57 +00:00
vgafont.h
vl.c Allow machines to configure the QEMU_VERSION that's exposed via hardware 2012-06-19 13:36:56 -05:00
vmstate.h Purge migration of (almost) everything to do with monitors 2012-03-15 10:39:52 -03:00
x86_64.ld Fix linker scripts 2011-08-27 15:42:35 +00:00
xen-all.c Introduce Xen PCI Passthrough, qdevice 2012-06-21 16:06:10 +00:00
xen-mapcache.c xen-mapcache: don't unmap locked entry during mapcache invalidation 2012-04-13 17:35:06 +00:00
xen-mapcache.h xen mapcache: check if memory region has moved. 2012-03-19 18:21:12 +00:00
xen-stub.c Xen: basic HVM MSI injection support. 2012-04-13 17:34:08 +00:00

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

- QEMU team