adding Irix (and, to a lesser extent, Solaris) userland emulation to QEMU
Go to file
David Gibson e2f89926f1 usb: Convert usb_packet_{map, unmap} to universal DMA helpers
The USB UHCI and EHCI drivers were converted some time ago to use the
pci_dma_*() helper functions.  However, this conversion was not complete
because in some places both these drivers do DMA via the usb_packet_map()
function in usb-libhw.c.  That function directly used
cpu_physical_memory_map().

Now that the sglist code uses DMA wrappers properly, we can convert the
functions in usb-libhw.c, thus conpleting the conversion of UHCI and EHCI
to use the DMA wrappers.

Note that usb_packet_map() invokes dma_memory_map() with a NULL invalidate
callback function.  When IOMMU support is added, this will mean that
usb_packet_map() and the corresponding usb_packet_unmap() must be called in
close proximity without dropping the qemu device lock - otherwise the guest
might invalidate IOMMU mappings while they are still in use by the device
code.

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
QMP Add event notification for guest balloon changes 2012-06-15 13:34:50 -03: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
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
gdb-xml gdb-xml: fix hacks in powerpc register numbering 2009-07-12 23:42:05 +02:00
hw usb: Convert usb_packet_{map, unmap} to universal DMA helpers 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
qom qom: Push error reporting to object_property_find() 2012-06-18 15:14:38 +02:00
roms
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
target-alpha
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
target-m68k
target-microblaze qemu-log: use LOG_UNIMP for some target CPU cases 2012-06-21 18:45:22 +00:00
target-mips
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
target-sparc qemu-log: use LOG_UNIMP for some target CPU cases 2012-06-21 18:45:22 +00:00
target-unicore32
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
.gitmodules
.mailmap
CODING_STYLE
COPYING
COPYING.LIB
Changelog
HACKING
LICENSE
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
README
TODO
VERSION
a.out.h
acl.c
acl.h Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
aes.c Include assert.h from qemu-common.h 2009-05-13 20:54:26 +01:00
aes.h AES crypto support 2004-08-01 21:54:53 +00:00
aio.c aio: simplify qemu_aio_wait 2012-04-19 16:51:47 +02:00
alpha-dis.c
alpha.ld
arch_init.c arch_init: Fix AltiVec build on Darwin/ppc 2012-05-29 11:38:07 +02:00
arch_init.h
arm-dis.c
arm.ld
async.c
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.h Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
bitops.c
bitops.h
block-migration.c
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
block_int.h qemu-img check -r for repairing images 2012-06-15 14:03:42 +02:00
blockdev.c block: Simplify how drive_init() computes default ID 2012-06-15 14:03:42 +02:00
blockdev.h
bswap.h
bt-host.c
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
cmd.c
cmd.h Delete useless 'extern' qualifiers for functions 2011-01-23 16:21:20 +00:00
compatfd.c
compatfd.h
compiler.h
config.h Makefile dependencies for device configs 2009-11-22 21:24:54 +00:00
configure Remove support for non-threaded VNC server 2012-06-27 16:27:00 -05:00
console.c
console.h console: add some trace events 2012-03-12 10:30:23 +00:00
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
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
cpu-defs.h
cpu-exec.c cris: Fix NMI-flag handling on crisv10. 2012-06-15 13:21:32 +02:00
cpus.c
cpus.h
cputlb.c
cputlb.h memory: move functions is_romd and section_addr to memory API 2012-05-01 10:45:07 +00:00
cris-dis.c
cursor.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cutils.c
def-helper.h
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
dma-helpers.c iommu: Make sglists and dma_bdrv helpers use new universal DMA helpers 2012-06-27 16:33:25 -05:00
dma.h iommu: Make sglists and dma_bdrv helpers use new universal DMA helpers 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
envlist.c Fix sys-queue.h conflict for good 2009-09-12 07:36:22 +00:00
envlist.h
error.c
error.h
error_int.h
event_notifier.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
event_notifier.h
exec-all.h
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
gdbstub.h make gdb_id() generally avialable and rename it to cpu_index() 2012-06-04 13:49:34 -03:00
gen-icount.h
hmp-commands.hx
hmp.c qmp: include monitor.h when needed 2012-06-15 10:41:05 -03:00
hmp.h
host-utils.c
host-utils.h
hppa-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c
int128.h
iohandler.c
ioport.c
ioport.h
iorange.h
iov.c
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.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
libfdt_env.h Fix libfdt warnings on Darwin 2011-06-14 03:08:57 +02:00
linux-aio.c
lm32-dis.c
m68k-dis.c
m68k.ld
main-loop.c
main-loop.h Switch SIG_IPI to SIGUSR1 2012-05-10 08:33:34 -05: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
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-11 22:20:21 +02:00
microblaze-dis.c
migration-exec.c
migration-fd.c qapi: Convert migrate 2012-03-15 10:39:52 -03:00
migration-tcp.c
migration-unix.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration.c
migration.h use inet_listen()/inet_connect() to support ipv6 migration 2012-05-10 12:37:57 -05:00
mips-dis.c
mips.ld
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
nbd.h
net.c qapi: convert netdev_del 2012-06-04 13:49:35 -03:00
net.h
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
oslib-win32.c
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h
posix-aio-compat.c
ppc-dis.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ppc.ld
ppc64.ld
qapi-schema-guest.json qemu-ga: add guest-fstrim command 2012-06-21 17:59:27 -05:00
qapi-schema-test.json
qapi-schema.json
qbool.c
qbool.h Add a QBool type 2009-11-17 08:49:39 -06:00
qdict-test-data.txt
qdict.c
qdict.h
qemu-aio.h
qemu-barrier.h virtio: order index/descriptor reads 2012-04-25 10:53:47 +03:00
qemu-bridge-helper.c
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
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
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
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-coroutine.h coroutine: add co_sleep_ns() coroutine sleep function 2012-01-26 11:45:26 +01:00
qemu-doc.texi
qemu-error.c error: Add an accessor for progname 2011-12-15 09:27:22 -06:00
qemu-error.h
qemu-file.h
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-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
qemu-objects.h
qemu-option.c
qemu-option.h
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx
qemu-os-posix.h
qemu-os-win32.h
qemu-progress.c
qemu-queue.h
qemu-sockets.c
qemu-tech.texi
qemu-thread-posix.c qemu-thread: implement joinable threads for POSIX 2011-12-12 17:06:22 -06:00
qemu-thread-posix.h
qemu-thread-win32.c
qemu-thread-win32.h fix win32 build 2011-12-15 09:20:50 -06:00
qemu-thread.h
qemu-timer-common.c
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
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
qemu-xattr.h
qemu.sasl
qemu_socket.h
qerror.c
qerror.h qerror: introduce QERR_INVALID_OPTION_GROUP 2012-06-04 13:49:34 -03:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qlist.h
qmp-commands.hx
qmp.c
qobject.h
qstring.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qstring.h
qtest.c
qtest.h
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
rules.mak make: automatically include dependencies in recursive subdir rules (v2) 2012-06-19 13:32:42 -05:00
s390-dis.c
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
softmmu-semi.h
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h
sparc-dis.c sparc64: more ultrasparc asi extensions for disassembler 2010-05-06 20:13:02 +00:00
sparc.ld
sparc64.ld
spice-qemu-char.c spice-qemu-char.c: Show what name is unsupported 2012-04-20 13:14:53 +01:00
sysemu.h
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
trace-events ehci: tracing improvements 2012-06-20 14:46:02 +02:00
translate-all.c
uboot_image.h
user-exec.c
version.rc
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
x86_64.ld
xen-all.c Introduce Xen PCI Passthrough, qdevice 2012-06-21 16:06:10 +00:00
xen-mapcache.c
xen-mapcache.h
xen-stub.c

README

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

- QEMU team