QEMU With E2K User Support
Go to file
Benjamin Herrenschmidt 82afa58641 virtio-pci: Fix endianness of virtio config
The virtio config area in PIO space is a bit special. The initial
header is little endian but the rest (device specific) is guest
native endian.

The PIO accessors for PCI on machines that don't have native IO ports
assume that all PIO is little endian, which works fine for everything
except the above.

A complicated way to fix it would be to split the BAR into two memory
regions with different endianess settings, but this isn't practical
to do, besides, the PIO code doesn't honor region endianness anyway
(I have a patch for that too but it isn't necessary at this stage).

So I decided to go for the quick fix instead which consists of
reverting the swap in virtio-pci in selected places, hoping that when
we eventually do a "v2" of the virtio protocols, we sort that out once
and for all using a fixed endian setting for everything.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
[agraf: keep virtio in libhw and determine endianness through a
        helper function in exec.c]
Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>
2012-01-21 05:17:01 +01:00
audio Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
block prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
bsd-user elf: Improve symbol lookup (optimize, fix for bsd-user) 2012-01-10 18:40:09 +01:00
darwin-user fix spelling in darwin-user sub directory 2011-12-02 10:50:56 +00:00
default-configs xhci: Initial xHCI implementation 2012-01-17 09:44:32 +01:00
docs Spelling fixes in comments and documentation 2012-01-13 10:36:59 +00:00
fpu softfloat: Implement fused multiply-add 2011-10-19 16:14:06 +00:00
fsdev virtfs-proxy-helper: Add missing printf format attribute 2012-01-13 10:37:00 +00:00
gdb-xml
hw virtio-pci: Fix endianness of virtio config 2012-01-21 05:17:01 +01:00
libcacard fix spelling in libcacard sub directory 2011-12-02 10:50:56 +00:00
linux-headers
linux-user elf: Improve symbol lookup (optimize, fix for bsd-user) 2012-01-10 18:40:09 +01:00
net prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
pc-bios PPC: Bamboo: recompile device tree 2012-01-21 05:17:00 +01:00
qapi qapi: protect against NULL QObject in qmp_input_get_object 2011-12-19 10:27:33 -06:00
qga guest agent: add supported command list to guest-info RPC 2011-12-12 17:06:21 -06:00
QMP qmp: add test tool for QMP 2011-12-06 11:40:00 -02:00
roms seabios: Update to release 1.6.3.1 2012-01-15 17:54:23 +01:00
scripts qerror: add check-qerror.sh to verify alphabetical order 2012-01-18 10:23:39 -02:00
slirp main-loop: create main-loop.c 2011-10-21 18:14:30 +02:00
sysconfigs/target
target-alpha fix spelling in target sub directory 2011-12-02 10:50:57 +00:00
target-arm arm: Add dummy support for co-processor 15's secure config register 2012-01-13 17:25:08 +00:00
target-cris cris: Handle conditional stores on CRISv10 2011-12-12 11:38:31 +01:00
target-i386 target-i386: fix compilation with --enable-debug-tcg 2012-01-13 16:01:40 +01:00
target-lm32
target-m68k
target-microblaze microblaze: Break the tb at memory barriers 2012-01-12 13:54:17 +01:00
target-mips Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
target-ppc PPC: Enable 440EP CPU target 2012-01-21 05:17:00 +01:00
target-s390x s390: fix cpu hotplug / cpu activity on interrupts 2012-01-04 02:48:14 +01:00
target-sh4 target-sh4: ignore ocbp and ocbwb instructions 2012-01-10 18:20:10 +01:00
target-sparc sparc: avoid cpu_get_physical_page_desc() 2012-01-03 19:19:28 +02:00
target-unicore32
target-xtensa target-xtensa: fix MMUv3 initialization 2011-11-26 09:44:34 +00:00
tcg tcg-arm: fix a typo in comments 2012-01-13 10:36:59 +00:00
tests tests: Silence gtester in Makefile 2012-01-19 08:14:33 +00:00
trace g_thread_init users: don't call it if glib >= 2.31 2011-12-20 15:44:31 -06:00
ui vnc: Simplify vnc_display_password() 2012-01-18 10:23:38 -02:00
.gitignore Add qapi related generated files to .gitignore 2011-11-01 11:50:12 -05: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
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 prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
alpha-dis.c
alpha.ld
arch_init.c vectorize is_dup_page 2012-01-13 10:21:02 -06:00
arch_init.h audio: remove unused parameter isa_pic 2011-12-20 15:44:31 -06:00
arm-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
arm-semi.c
arm.ld
async.c main-loop: create main-loop.h 2011-10-21 18:14:30 +02:00
balloon.c qapi: Convert balloon 2011-12-06 11:40:01 -02:00
balloon.h qapi: Convert balloon 2011-12-06 11:40:01 -02:00
bitmap.c
bitmap.h
bitops.c
bitops.h
block_int.h block: add interface to toggle copy-on-read 2011-12-05 14:51:38 +01:00
block-migration.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
block-migration.h
block.c block: avoid useless checks on acb->bh 2011-12-15 12:40:08 +01:00
block.h qcow2: Allow >4 GB VM state 2011-12-15 12:40:33 +01:00
blockdev.c block: use proper qerrors in qmp_block_resize 2012-01-18 10:23:39 -02:00
blockdev.h qapi: Convert block_set_io_throttle 2012-01-18 10:23:39 -02:00
bswap.h
bt-host.c bt-host: add missing break statement 2012-01-13 10:37:00 +00:00
bt-host.h
bt-vhci.c
buffered_file.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
buffered_file.h
cache-utils.c
cache-utils.h
Changelog Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
check-qdict.c check-qdict: convert to gtest 2012-01-12 10:05:37 -06:00
check-qfloat.c check-qfloat: convert to gtest 2012-01-12 10:05:37 -06:00
check-qint.c check-qint: convert to gtest 2012-01-12 10:05:37 -06:00
check-qjson.c check-qjson: enable disabled tests 2012-01-12 10:05:38 -06:00
check-qlist.c check-qlist: convert to gtest 2012-01-12 10:05:38 -06:00
check-qstring.c check-qstring: remove check.h include 2012-01-12 11:33:22 -06:00
cmd.c cmd: Fix potential memory leak 2011-11-07 08:01:15 +00:00
cmd.h
CODING_STYLE
compatfd.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
compatfd.h
compiler.h
config.h
configure configure: Modify detection of supported warning options 2012-01-13 10:36:59 +00:00
console.c console: Fix segfault on screendump without VGA adapter 2012-01-03 02:49:25 +01:00
console.h qapi: Convert expire_password 2012-01-18 10:23:38 -02:00
COPYING
COPYING.LIB
coroutine-gthread.c g_thread_init users: don't call it if glib >= 2.31 2011-12-20 15:44:31 -06:00
coroutine-ucontext.c coroutine: switch per-thread free pool to a global pool 2011-12-15 12:40:33 +01:00
coroutine-win32.c
cpu-all.h Remove IO_MEM_SHIFT 2012-01-04 13:34:50 +02:00
cpu-common.h Remove IO_MEM_SHIFT 2012-01-04 13:34:50 +02:00
cpu-defs.h fix win32 build 2011-12-15 09:20:50 -06:00
cpu-exec.c
cpus.c cleanup, Remove duplicated code 2012-01-12 10:34:20 -06:00
cpus.h Simplify cpu_exec_all to tcg_exec_all 2011-11-01 10:58:08 -05:00
cris-dis.c cris-dis: Clean memory allocation 2012-01-10 09:36:43 +01:00
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c
cutils.c sheepdog: move coroutine send/recv function to generic code 2011-12-22 11:53:53 +01:00
def-helper.h
device_tree.c device_tree: Fix potential memory leak 2011-10-26 13:36:34 +01:00
device_tree.h
dis-asm.h tcg: Add tci disassembler 2011-10-31 21:52:17 +01:00
disas.c tcg: Add tci disassembler 2011-10-31 21:52:17 +01:00
disas.h
dma-helpers.c dma: the passed io_func does not return NULL 2011-12-15 12:40:08 +01:00
dma.h Use dma_addr_t type for scatter/gather code 2011-11-01 16:52:05 -05:00
dyngen-exec.h tcg/arm: Use r6 as TCG_AREG0 to avoid clash with Thumb framepointer 2012-01-10 17:52:49 +01:00
elf.h
envlist.c
envlist.h
error_int.h
error.c Drop qemu-objects.h from modules that don't require it 2011-10-27 11:48:47 -02:00
error.h
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 Direct dispatch through MemoryRegion 2012-01-04 13:34:50 +02:00
exec-memory.h fix spelling in main directory 2011-12-02 10:50:57 +00:00
exec-obsolete.h prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
exec.c virtio-pci: Fix endianness of virtio config 2012-01-21 05:17:01 +01:00
gdbstub.c gdbstub: Fix fd leak in gdbserver_open() error path 2012-01-06 15:07:14 +00:00
gdbstub.h
gen-icount.h
HACKING HACKING: clarify allocation/free recommendations 2011-12-15 09:27:23 -06:00
hmp-commands.hx qapi: Convert block_set_io_throttle 2012-01-18 10:23:39 -02:00
hmp.c qapi: Convert block_set_io_throttle 2012-01-18 10:23:39 -02:00
hmp.h qapi: Convert block_set_io_throttle 2012-01-18 10:23:39 -02:00
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-dis.c: Undefine ABS to avoid clash with glib 2011-11-01 11:50:12 -05:00
ia64.ld
input.c qapi: Convert query-mice 2011-10-27 11:48:46 -02:00
int128.h Add support for 128-bit arithmetic 2011-10-16 13:13:05 +02:00
iohandler.c Revert to a hand-made select loop 2011-10-21 18:14:30 +02:00
ioport-user.c
ioport.c
ioport.h
iorange.h
iov.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
iov.h
json-lexer.c Add 'fall through' comments to case statements without break 2012-01-13 10:36:59 +00:00
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c kvm: flush the dirty log when unregistering a slot 2012-01-15 16:13:59 +02:00
kvm-stub.c
kvm.h kvm: switch kvm slots to use host virtual address instead of ram_addr_t 2011-12-20 14:14:07 +02:00
libfdt_env.h
LICENSE LICENSE: There is no libqemu.a anymore 2011-12-09 11:25:22 +00:00
linux-aio.c block: qemu_aio_get does not return NULL 2011-12-15 12:40:08 +01:00
m68k-dis.c fix spelling in main directory 2011-12-02 10:50:57 +00:00
m68k-semi.c
m68k.ld
main-loop.c cleanup, save a syscall 2012-01-12 10:34:20 -06:00
main-loop.h link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
MAINTAINERS MAINTAINERS: update tracing repo git URL 2012-01-12 10:34:20 -06:00
Makefile Makefile: Remove generated headers on clean 2012-01-19 08:19:19 +00:00
Makefile.dis
Makefile.hw
Makefile.objs xhci: Initial xHCI implementation 2012-01-17 09:44:32 +01:00
Makefile.target PPC: Bamboo: fold ppc440.c and ppc440_bamboo.c into a single file 2012-01-21 05:17:01 +01:00
Makefile.user
memory.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
memory.h Spelling fixes in comments and documentation 2012-01-13 10:36:59 +00:00
microblaze-dis.c
migration-exec.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration-fd.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration-tcp.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration-unix.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
migration.h Merge remote-tracking branch 'stefanha/trivial-patches-next' into staging 2011-12-14 07:59:21 -06:00
mips-dis.c
mips.ld
module.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
module.h
monitor.c qapi: Convert change 2012-01-18 10:23:39 -02:00
monitor.h monitor: expose readline state 2012-01-18 10:23:39 -02:00
nbd.c qemu-nbd: throttle requests 2011-12-22 11:53:59 +01:00
nbd.h qemu-nbd: move client handling to nbd.c 2011-12-22 11:53:59 +01:00
net.c Support for UDP unicast network backend 2012-01-12 10:34:20 -06:00
net.h vmstate: extract declarations out of hw/hw.h 2012-01-13 10:20:51 -06:00
notify.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
notify.h
os-posix.c link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
os-win32.c link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
osdep.c move corking functions to osdep.c 2011-12-22 11:53:58 +01:00
osdep.h
oslib-posix.c link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
oslib-win32.c link the main loop and its dependencies into the tools 2011-12-22 11:53:58 +01:00
path.c
pci-ids.txt
pflib.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
pflib.h
poison.h
posix-aio-compat.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
ppc64.ld PPC: Fix linker scripts on ppc hosts 2012-01-10 18:23:58 +01:00
ppc-dis.c
ppc.ld PPC: Fix linker scripts on ppc hosts 2012-01-10 18:23:58 +01:00
qapi-schema-guest.json Merge remote-tracking branch 'stefanha/trivial-patches-next' into staging 2011-12-14 07:59:21 -06:00
qapi-schema-test.json Introduce test-qmp-output-visitor 2011-12-06 11:40:00 -02:00
qapi-schema.json block: use proper qerrors in qmp_block_resize 2012-01-18 10:23:39 -02:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu_socket.h move corking functions to osdep.c 2011-12-22 11:53:58 +01:00
qemu-aio.h
qemu-barrier.h qemu-barrier: Fix build failure on PowerPC Mac OS X 2011-11-01 11:50:11 -05:00
qemu-char.c qemu-char: rename qemu_chr_event to qemu_chr_be_event and make it public 2011-11-28 16:20:51 -06:00
qemu-char.h qemu-char: rename qemu_chr_event to qemu_chr_be_event and make it public 2011-11-28 16:20:51 -06:00
qemu-common.h sheepdog: move coroutine send/recv function to generic code 2011-12-22 11:53:53 +01:00
qemu-config.c hw/9pfs: Add support to use named socket for proxy FS 2012-01-04 21:23:55 +05:30
qemu-config.h
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 coroutine: add qemu_co_queue_restart_all() 2011-12-05 14:51:38 +01:00
qemu-coroutine.c
qemu-coroutine.h coroutine: add qemu_co_queue_restart_all() 2011-12-05 14:51:38 +01:00
qemu-doc.texi doc: Remove Symbian Virtual Platform 2011-12-14 11:14:21 +00: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 vmstate: extract declarations out of hw/hw.h 2012-01-13 10:20:51 -06:00
qemu-ga.c Spelling fixes in comments and documentation 2012-01-13 10:36:59 +00:00
qemu-img-cmds.hx Documentation: Add qemu-img -t parameter in man page 2011-12-15 12:40:08 +01:00
qemu-img.c qemu-img rebase: Fix for undersized backing files 2011-12-15 12:40:08 +01:00
qemu-img.texi Documentation: Add qemu-img -t parameter in man page 2011-12-15 12:40:08 +01:00
qemu-io.c block: bdrv_aio_* do not return NULL 2011-12-15 12:40:07 +01:00
qemu-lock.h
qemu-log.h
qemu-nbd.c qemu-nbd: drop loop which can never loop 2012-01-06 15:09:53 +00:00
qemu-nbd.texi
qemu-objects.h
qemu-option.c Add 'fall through' comments to case statements without break 2012-01-13 10:36:59 +00:00
qemu-option.h qemu: Add opt_set_bool functionality 2011-10-31 12:34:16 +05:30
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 Support for UDP unicast network backend 2012-01-12 10:34:20 -06:00
qemu-os-posix.h 9pfs: improve portability to older systems 2011-11-28 11:36:27 -06:00
qemu-os-win32.h main-loop: create main-loop.c 2011-10-21 18:14:30 +02:00
qemu-progress.c
qemu-queue.h qemu-queue: Introduce QLIST_INSERT_HEAD_RCU and dummy RCU wrappers. 2011-10-31 12:34:18 +05:30
qemu-sockets.c qemu-sockets: Plug fd leak on unix_connect_opts() error path 2011-11-11 12:49:52 -06:00
qemu-tech.texi qemu-tech.texi: Remove libqemu related stuff from the document 2011-12-09 10:10:12 +00:00
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 fix win32 build 2011-12-15 09:20:50 -06: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
qemu-timer.c win32: remove broken timers 2011-11-09 12:06:20 -06:00
qemu-timer.h ptimer: move declarations to ptimer.h 2012-01-13 10:20:50 -06:00
qemu-tls.h Rename get_tls to tls_var 2011-12-06 10:07:04 +00:00
qemu-tool.c qemu-tool: Fix mixup of int64 and int64_t 2012-01-19 08:13:24 +00:00
qemu-x509.h
qemu-xattr.h configure: fix detection for xattr.h on modern distributions 2011-11-09 12:06:20 -06:00
qemu.sasl
qerror.c block: use proper qerrors in qmp_block_resize 2012-01-18 10:23:39 -02:00
qerror.h block: use proper qerrors in qmp_block_resize 2012-01-18 10:23:39 -02:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c
qlist.h
qmp-commands.hx qapi: Convert block_set_io_throttle 2012-01-18 10:23:39 -02:00
qmp.c qapi: Convert change 2012-01-18 10:23:39 -02:00
qobject.h
qstring.c
qstring.h
range.h
readline.c readline: Fix buffer overrun on re-add to history 2011-11-07 08:03:49 +00:00
readline.h
README Update README 2011-12-11 17:50:43 -06:00
rules.mak
s390-dis.c
s390.ld
savevm.c Fix vmstate_register_ram() for rom/device regions 2012-01-08 18:16:31 +02:00
sh4-dis.c
softmmu_defs.h
softmmu_exec.h
softmmu_header.h
softmmu_template.h Remove IO_MEM_SHIFT 2012-01-04 13:34:50 +02:00
softmmu-semi.h
sparc64.ld
sparc-dis.c
sparc.ld
spice-qemu-char.c spice-qemu-char: Generate chardev open/close events 2011-11-28 16:20:51 -06:00
sysemu.h Add generic drive hotplugging 2012-01-04 02:48:14 +01:00
targphys.h
tcg-runtime.c
tci-dis.c tcg: Add tci disassembler 2011-10-31 21:52:17 +01:00
tci.c tcg: Standardize on TCGReg as the enum for hard registers 2011-11-14 17:47:26 +01:00
test-coroutine.c
test-qmp-commands.c
test-qmp-input-visitor.c qmp: Add missing gcc format attribute and fix format string 2012-01-18 10:23:39 -02:00
test-qmp-output-visitor.c Introduce test-qmp-output-visitor 2011-12-06 11:40:00 -02:00
thunk.c
thunk.h
TODO
trace-events usb: track altsetting in USBDevice 2012-01-13 10:25:44 +01:00
translate-all.c
uboot_image.h
usb-bsd.c
usb-linux.c usb: add max_packet_size to USBEndpoint 2012-01-17 09:44:50 +01:00
usb-redir.c usb-redir: Improve some debugging messages 2012-01-17 09:44:51 +01:00
usb-stub.c
user-exec.c
VERSION Update version for 1.1 development branch 2011-12-05 08:39:02 -06:00
version.rc
vgafont.h
vl.c hw/9pfs: Add support to use named socket for proxy FS 2012-01-04 21:23:55 +05:30
vmstate.h vmstate: extract declarations out of hw/hw.h 2012-01-13 10:20:51 -06:00
x86_64.ld
xen-all.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
xen-mapcache.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
xen-mapcache.h
xen-stub.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
xtensa-semi.c

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

- QEMU team