QEMU With E2K User Support
Go to file
David Gibson 7fb0bd3473 pseries: Use the same interrupt swizzling for host bridges as p2p bridges
Currently the pseries PCI code uses a somewhat strange scheme of PCI irq
allocation - one per slot up to a maximum that's greater than the usual 4.
This scheme more or less worked, because we were able to tell the guest the
irq mapping in the device tree, however it's a bit odd and may break
assumptions in the future.  Worse, the array used to construct the dev
tree interrupt map was mis-sized, we got away with it only because it
happened that our SPAPR_PCI_NUM_LSI value was greater than 7.

This patch changes the pseries PCI code to use the same interrupt swizzling
scheme as is standardized for PCI to PCI bridges.  This makes for better
consistency, deals better with any devices which use multiple interrupt
pins and will make life easier in the future when we add passthrough of
what may be either a host bridge or a PCI to PCI bridge.  This won't break
existing guests, because they don't assume a particular mapping scheme for
host bridges, but just follow what we tell them in the device tree (also
updated to match, of course).  This patch also fixes the allocation of the
irq map.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-05-01 21:47:00 +02:00
audio fix paaudio.c warnings 2012-04-25 21:04:57 +04:00
block raw-posix: Do not use CONFIG_COCOA macro 2012-05-01 00:16:58 +02:00
bsd-user bsd-user: fix compile failure 2012-04-13 09:57:36 +01:00
default-configs Drop darwin-user 2012-05-01 00:17:27 +02:00
docs Specification for qcow2 version 3 2012-04-20 15:57:27 +02:00
fpu softfloat: Replace int16 type with int_fast16_t 2012-04-28 09:13:26 +00:00
fsdev Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
gdb-xml
hw pseries: Use the same interrupt swizzling for host bridges as p2p bridges 2012-05-01 21:47:00 +02:00
include/qemu qom: Refine container_get() to allow using a custom root 2012-04-24 09:50:31 -05:00
libcacard libcacard/vcard_emul_nss: add warning for old coolkey 2012-03-26 18:39:00 +02:00
linux-headers kvm: update linux headers 2012-04-12 19:01:42 -03:00
linux-user linux-user: Fix exit syscall with QOM CPU 2012-04-15 16:54:46 +00:00
net
pc-bios pc-bios: update OpenBIOS images 2012-05-01 10:58:04 +00:00
qapi qapi: g_hash_table_find() instead of GHashTableIter. 2012-04-23 13:03:45 -03:00
qga qemu-ga: Implement alternative to O_ASYNC 2012-05-01 10:49:23 +00:00
QMP qom: quick and dirty QOM filesystem based on FUSE 2012-04-26 13:14:57 -05:00
qom qom: Refine container_get() to allow using a custom root 2012-04-24 09:50:31 -05:00
roms seabios: update to 1.7.0 2012-04-17 10:51:41 +02:00
scripts create_config: simplify prefix=* block, remove CONFIG_QEMU_PREFIX 2012-04-24 09:50:31 -05:00
slirp main_loop_wait: block indefinitely 2012-04-26 13:14:58 -05:00
sysconfigs/target
target-alpha target-alpha: QOM'ify CPU init 2012-04-15 21:26:55 +02:00
target-arm target-arm: Make SETEND respect bswap_code (BE8) setting 2012-04-27 11:07:52 +00:00
target-cris target-cris: Start QOM'ifying CPU init 2012-04-24 16:04:56 +02:00
target-i386 target-i386: Fix x86_cpuid_set_model_id() 2012-04-26 13:14:57 -05:00
target-lm32 Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-m68k target-m68k: Add QOM CPU subclasses 2012-04-30 11:32:13 +02:00
target-microblaze target-microblaze: QOM'ify CPU init 2012-04-24 16:04:56 +02:00
target-mips Merge branch 'qom-cpu-rest.v1' of git://github.com/afaerber/qemu-cpu 2012-05-01 09:27:53 +00:00
target-ppc PPC: Fix up e500 cache size setting 2012-05-01 21:47:00 +02:00
target-s390x Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
target-sh4 target-sh4: Start QOM'ifying CPU init 2012-04-30 11:32:10 +02:00
target-sparc sparc: fix qtest 2012-04-19 18:52:48 +00:00
target-unicore32 target-unicore32: Move CPU-dependent init into initfn 2012-03-30 11:09:31 +02:00
target-xtensa target-xtensa: fix LOOPNEZ/LOOPGTZ translation 2012-04-21 13:24:45 +00:00
tcg tcg/i386: Add support for w64 ABI 2012-04-15 21:25:15 +02:00
tests qemu-iotests: add block-stream speed value test case 2012-04-27 11:44:50 -03:00
trace
ui Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
.gitignore .gitignore: add qemu-bridge-helper and option rom build products 2012-03-19 10:52:52 +00:00
.gitmodules
.mailmap
a.out.h
acl.c
acl.h
aes.c
aes.h
aio.c aio: simplify qemu_aio_wait 2012-04-19 16:51:47 +02:00
alpha-dis.c
alpha.ld
arch_init.c pcspk: initialize PC speaker if compiled in 2012-04-15 08:56:58 +04:00
arch_init.h
arm-dis.c
arm-semi.c
arm.ld
async.c main_loop_wait: block indefinitely 2012-04-26 13:14:58 -05:00
balloon.c qapi: fix qmp_balloon() conversion 2012-04-27 11:44:50 -03:00
balloon.h
bitmap.c
bitmap.h
bitops.c
bitops.h
block_int.h block: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03: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: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03:00
block.h block: add a function to clear incoming live migration flags 2012-04-05 16:27:56 +02:00
blockdev.c block: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03:00
blockdev.h
bswap.h
bt-host.c
bt-host.h
bt-vhci.c
buffered_file.c
buffered_file.h
cache-utils.c
cache-utils.h
Changelog
cmd.c qemu-io: use main_loop_wait 2012-04-19 16:29:33 +02:00
cmd.h
CODING_STYLE Replace Qemu by QEMU in internal documentation 2012-04-07 13:58:25 +00:00
compatfd.c
compatfd.h
compiler.h
config.h
configure configure: Add libraries for qemu-ga on Solaris 2012-05-01 10:49:33 +00:00
console.c
console.h
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
coroutine-ucontext.c
coroutine-win32.c
cpu-all.h exec: prepare for splitting 2012-05-01 10:45:02 +00:00
cpu-common.h
cpu-defs.h w64: Fix struct CPUTLBEntry 2012-04-15 21:25:16 +02:00
cpu-exec.c cpu-exec: Remove non-portable type cast and fix format string 2012-04-15 21:25:17 +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: prepare private memory API for public consumption 2012-05-01 10:45:05 +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
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c
cutils.c
def-helper.h Add support for target helper functions which don't return 2012-03-24 13:01:46 +00:00
device_tree.c
device_tree.h
dis-asm.h target-lm32: add simple disassembler 2012-04-01 20:30:23 +02:00
disas.c disas: Replace 'unsigned long' by 'uintptr_t' 2012-04-15 21:25:18 +02:00
disas.h
dma-helpers.c Use DMADirection type for dma_bdrv_io 2012-04-05 14:54:40 +02:00
dma.h Merge remote-tracking branch 'kwolf/for-anthony' into staging 2012-04-10 08:16:12 -05:00
dyngen-exec.h
elf.h elf.h: Update EF_ARM_ constants to newer ABI versions 2012-04-06 19:25:57 +03:00
envlist.c
envlist.h
error_int.h
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
event_notifier.h
exec-all.h cputlb: move TLB handling to a separate file 2012-05-01 10:45:04 +00:00
exec-memory.h
exec-obsolete.h
exec.c memory: move functions is_romd and section_addr to memory API 2012-05-01 10:45:07 +00:00
gdbstub.c gdbstub: Synchronize CPU state unconditionally in gdb_set_cpu_pc 2012-04-21 13:27:34 +00:00
gdbstub.h
gen-icount.h
HACKING
hmp-commands.hx block: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03:00
hmp.c block: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03:00
hmp.h qapi: convert device_del 2012-04-09 14:35:25 -03:00
host-utils.c
host-utils.h
hppa-dis.c
hppa.ld
i386-dis.c
i386.ld
ia64-dis.c
ia64.ld
input.c
int128.h
iohandler.c
ioport-user.c
ioport.c ioport: use INT64_MAX for IO ranges 2012-03-19 15:17:21 +02:00
ioport.h
iorange.h
iov.c
iov.h
json-lexer.c
json-lexer.h
json-parser.c
json-parser.h
json-streamer.c
json-streamer.h
kvm-all.c kvm: set gsi_bits and max_gsi correctly 2012-04-12 19:01:42 -03:00
kvm-stub.c kvm: Drop unused kvm_pit_in_kernel 2012-04-12 19:01:41 -03:00
kvm.h kvm: Drop unused kvm_pit_in_kernel 2012-04-12 19:01:41 -03:00
libfdt_env.h
LICENSE
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
m68k-semi.c
m68k.ld
main-loop.c main-loop: Calculate poll timeout using timeout argument 2012-05-01 10:46:25 +00:00
main-loop.h main_loop_wait: block indefinitely 2012-04-26 13:14:58 -05:00
MAINTAINERS Merge branch 'maintainers-up' of git://repo.or.cz/qemu/afaerber 2012-05-01 09:29:44 +00:00
Makefile Merge remote-tracking branch 'stefanha/tracing' into staging 2012-04-26 15:21:01 -05:00
Makefile.dis
Makefile.hw
Makefile.objs Beautify makefile commands for generation of files with tracetool 2012-04-25 14:21:35 +01:00
Makefile.target cputlb: move TLB handling to a separate file 2012-05-01 10:45:04 +00:00
Makefile.user
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
migration-exec.c
migration-fd.c qapi: Convert migrate 2012-03-15 10:39:52 -03:00
migration-tcp.c
migration-unix.c
migration.c migration: clear BDRV_O_INCOMING flags on end of incoming live migration 2012-04-05 16:28:49 +02:00
migration.h qapi: Convert migrate 2012-03-15 10:39:52 -03: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
monitor.c qmp: add and use q type specifier 2012-03-27 09:15:28 -03:00
monitor.h
nbd.c nbd: obey FUA on reads 2012-04-19 17:19:37 +02:00
nbd.h nbd: consistently return negative errno values 2012-04-19 16:36:43 +02:00
net.c net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
net.h net: move compute_mcast_idx() to net.h 2012-03-16 01:04:51 +02:00
notify.c
notify.h
os-posix.c os-posix: Fix build on FreeBSD 2012-04-26 13:14:58 -05:00
os-win32.c
osdep.c
osdep.h softfloat: Replace int16 type with int_fast16_t 2012-04-28 09:13:26 +00:00
oslib-posix.c
oslib-win32.c main-loop: interrupt wait when data arrives on a socket 2012-04-07 08:34:16 +00:00
path.c
pci-ids.txt
pflib.c
pflib.h
poison.h
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-dis.c Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
ppc.ld
qapi-schema-guest.json
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 block: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03:00
qbool.c
qbool.h
qdict-test-data.txt
qdict.c
qdict.h
qemu_socket.h w32: Move defines for socket specific errors to qemu-os-win32.h 2012-04-15 21:25:16 +02: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
qemu-char.c qemu-char: Fix crash when switching consoles 2012-04-24 09:50:31 -05:00
qemu-char.h
qemu-common.h Merge commit 'ff71f2e8cacefae99179993204172bc65e4303df' into staging 2012-04-10 08:21:58 -05:00
qemu-config.c
qemu-config.h
qemu-coroutine-int.h
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c block: allow interrupting a co_sleep_ns 2012-04-19 16:03:27 +02:00
qemu-coroutine.c
qemu-coroutine.h
qemu-doc.texi Drop darwin-user 2012-05-01 00:17:27 +02:00
qemu-error.c
qemu-error.h
qemu-file.h
qemu-ga.c qemu-ga: fix help output 2012-04-19 10:45:07 -05:00
qemu-img-cmds.hx
qemu-img.c qemu-img: let 'qemu-img convert' flush data 2012-04-20 11:42:41 +02:00
qemu-img.texi
qemu-io.c qemu-io: use main_loop_wait 2012-04-19 16:29:33 +02:00
qemu-lock.h
qemu-log.h
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
qemu-option.c
qemu-option.h
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx Replace Qemu by QEMU in user visible documentation 2012-04-07 13:58:06 +00:00
qemu-os-posix.h
qemu-os-win32.h w64: Fix definition of setjmp 2012-04-15 21:25:16 +02:00
qemu-progress.c
qemu-queue.h Replace Qemu by QEMU in comments 2012-04-07 14:00:45 +00:00
qemu-sockets.c
qemu-tech.texi Drop darwin-user 2012-05-01 00:17:27 +02:00
qemu-thread-posix.c
qemu-thread-posix.h
qemu-thread-win32.c
qemu-thread-win32.h
qemu-thread.h
qemu-timer-common.c
qemu-timer.c qemu-timer: Optimize data structures 2012-04-27 07:39:39 +02:00
qemu-timer.h qemu-timer: Use bool, false, true for boolean values 2012-04-27 07:39:39 +02:00
qemu-tls.h
qemu-tool.c main_loop_wait: block indefinitely 2012-04-26 13:14:58 -05:00
qemu-user.c
qemu-x509.h
qemu-xattr.h
qemu.sasl
qerror.c qdev: add blocksize property type 2012-04-05 14:54:40 +02:00
qerror.h qdev: add blocksize property type 2012-04-05 14:54:40 +02:00
qfloat.c
qfloat.h
qint.c
qint.h
qjson.c
qjson.h
qlist.c
qlist.h
qmp-commands.hx block: add 'speed' optional parameter to block-stream 2012-04-27 11:44:50 -03:00
qmp.c
qobject.h
qstring.c
qstring.h
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
readline.c
readline.h
README
rules.mak Beautify makefile commands for generation of files with tracetool 2012-04-25 14:21:35 +01:00
s390-dis.c
s390.ld
savevm.c w64: Fix time conversion for some versions of MinGW-w64 2012-04-15 21:25:18 +02:00
sh4-dis.c
softmmu_defs.h softmmu templates: optionally pass CPUState to memory access functions 2012-03-18 12:21:52 +00:00
softmmu_exec.h
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
sparc64.ld
sparc-dis.c
sparc.ld
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
tcg-runtime.c
tci-dis.c
tci.c tci: GETPC() macro must return an uintptr_t 2012-04-21 13:28:28 +00:00
thunk.c linux-user: add struct old_dev_t compat 2012-04-06 18:49:58 +03:00
thunk.h Remove stray HOST_LONG_SIZE 2012-05-01 18:23:04 +04:00
TODO
trace-events Merge remote-tracking branch 'spice/spice.v52' into staging 2012-04-18 07:56:18 -05: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 Use uintptr_t for various op related functions 2012-04-14 14:23:37 +00:00
VERSION
version.rc
vgafont.h
vl.c Merge branch 'arm-devs.for-upstream' of git://git.linaro.org/people/pmaydell/qemu-arm 2012-03-31 12:10:07 +00:00
vmstate.h Purge migration of (almost) everything to do with monitors 2012-03-15 10:39:52 -03:00
x86_64.ld
xen-all.c xen: add a dummy xc_hvm_inject_msi for Xen < 4.2 2012-04-17 18:04:42 +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
xtensa-semi.c target-xtensa: Move helpers.h to helper.h 2012-04-14 03:48:08 +04:00

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

- QEMU team