Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Go to file
Alexey Kardashevskiy 0ce470cd4c target-ppc: add PowerPCCPU::cpu_dt_id
Normally CPUState::cpu_index is used to pick the right CPU for various
operations. However default consecutive numbering does not always work
for POWERPC.

These indexes are reflected in /proc/device-tree/cpus/PowerPC,POWER7@XX
and used to call KVM VCPU's ioctls. In order to achieve this,
kvmppc_fixup_cpu() was introduced. Roughly speaking, it multiplies
cpu_index by the number of threads per core.

This approach has disadvantages such as:
1. NUMA configuration stays broken after the fixup;
2. CPU-targeted commands from the QEMU Monitor do not work properly as
CPU indexes have been fixed and there is no clear way for the user to
know what the new CPU indexes are.

This introduces a @cpu_dt_id field in the CPUPPCState struct which
is initialized from @cpu_index by default and can be fixed later
to meet the device tree requirements.

This adds an API to handle @cpu_dt_id.

This removes kvmppc_fixup_cpu() as it is not more needed, @cpu_dt_id
is calculated in ppc_cpu_realize().

This will be used later in machine code.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Acked-by: Mike Day <ncmike@ncultra.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-03-05 03:07:03 +01: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 virtio_rng: replace custom backend API with UserCreatable.complete() callback 2014-01-28 12:47:11 -05:00
block block/gluster: Add missing argument to qemu_gluster_init() call 2014-03-04 20:20:57 +00:00
bsd-user *-user: Improve documentation for lock_user function 2013-09-20 20:09:24 +04:00
default-configs Add Enhanced Three-Speed Ethernet Controller (eTSEC) 2014-03-05 03:06:45 +01:00
disas disas/i386: Disassemble ANDN/SHLX/SHRX/SHAX 2014-02-17 10:12:29 -06:00
docs qmp: Make Quorum error events more palatable. 2014-02-28 18:59:06 +01:00
dtc@bc895d6d09 dtc: add submodule 2013-04-18 13:50:53 +02:00
fpu softfloat: Support halving the result of muladd operation 2014-02-20 10:35:50 +00:00
fsdev fsdev: Fix potential memory leak 2013-07-09 13:38:56 -05:00
gdb-xml target-arm: Support fp registers in gdb stub 2013-12-17 19:42:32 +00:00
hw target-ppc: add PowerPCCPU::cpu_dt_id 2014-03-05 03:07:03 +01:00
include qdev: Keep global allocation counter per bus 2014-03-05 03:06:47 +01:00
libcacard libcacard: Don't link with all libraries QEMU links to 2014-02-09 13:06:02 +02:00
linux-headers update linux headers to kvm/next 2014-02-27 09:50:45 +01:00
linux-user target-ppc: Add Store Quadword Conditional 2014-03-05 03:06:51 +01:00
net net: remove implicit peer from offload API 2014-02-25 14:31:05 +01:00
pc-bios Several features, fixes and cleanups for kvm/s390: 2014-03-04 14:50:46 +00:00
pixman@97336fad32 qapi: move include files to include/qobject/ 2012-12-19 08:31:31 +01:00
po po: Update all *.po files 2013-08-07 12:48:00 -05:00
qapi qapi: Add missing null check to opts_start_struct() 2014-03-03 11:17:45 -05:00
qga qga: Remove unneeded include file 2014-03-03 09:46:27 +04:00
qobject qdict: Extract non-QDicts in qdict_array_split() 2014-02-21 22:11:23 +01:00
qom qapi: Add human mode to StringOutputVisitor 2014-02-14 21:12:03 +01:00
roms Update seabios to 1.7.4 2014-02-07 16:42:13 +00:00
scripts qapi: Clean up null checking in generated visitors 2014-03-03 11:17:20 -05:00
slirp misc: Spelling and grammar fixes in comments 2013-10-26 13:06:45 +04:00
stubs stubs: Optimize dependencies for gdbstub.c 2014-03-02 17:13:31 +04:00
sysconfigs/target Eliminate cpus-x86_64.conf file 2012-09-21 15:12:58 +02:00
target-alpha exec: Make stl_*_phys input an AddressSpace 2014-02-11 22:57:18 +10:00
target-arm target-arm: Add support for AArch32 ARMv8 CRC32 instructions 2014-02-26 17:20:07 +00:00
target-cris cris: Add interrupt signals to the CPU device 2014-02-03 14:03:59 +00:00
target-i386 Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-03-04 17:01:07 +00:00
target-lm32 target-lm32: stop VM on illegal or unknown instruction 2014-02-04 19:47:39 +01:00
target-m68k Merge remote-tracking branch 'rth/tcg-pull' into staging 2013-10-11 09:36:52 -07:00
target-microblaze Microblaze: Convert Microblaze-pic handling to GPIOs 2014-01-14 11:08:36 +10:00
target-mips target-mips: add user-mode FR switch support for MIPS32r5 2014-02-10 16:46:38 +01:00
target-moxie cpu: Drop cpu_model_str from CPU_COMMON 2013-10-07 11:48:47 +02:00
target-openrisc target-openrisc: Use new qemu_ld/st opcodes 2014-02-12 08:47:57 +08:00
target-ppc target-ppc: add PowerPCCPU::cpu_dt_id 2014-03-05 03:07:03 +01:00
target-s390x Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-03-04 17:01:07 +00:00
target-sh4 target-sh4: Use new qemu_ld/st opcodes 2013-12-21 16:42:15 +01:00
target-sparc exec: Make stb_phys input an AddressSpace 2014-02-11 22:57:38 +10:00
target-unicore32 exec: Make ldl_*_phys input an AddressSpace 2014-02-11 22:56:54 +10:00
target-xtensa target-xtensa: provide HW confg ID registers 2014-02-24 04:47:02 +04:00
tcg tcg: Fix typo in comment (dependancies -> dependencies) 2014-03-02 17:12:51 +04:00
tests trivial patches for 2014-03-04 2014-03-04 18:12:02 +00:00
trace Adapt Makefiles to the new LTTng ust interface 2014-02-19 11:08:53 +01:00
ui gtk: Support keyboard translation for hosts running Windows 2014-01-20 19:30:28 +01:00
util target-ppc: Add ISA2.06 divde[o] Instructions 2014-03-05 03:06:39 +01:00
.exrc qemu: add .exrc 2012-09-07 09:02:44 +03:00
.gitignore Merge remote-tracking branch 'remotes/bonzini/configure' into staging 2014-02-24 15:38:00 +00:00
.gitmodules Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
.mailmap Update mailmap 2013-09-05 09:40:31 -05:00
.travis.yml .travis.yml: Add aarch64-* targets 2014-01-08 19:07:20 +00: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 Fix two XBZRLE corruption issues 2014-02-25 14:30:28 +01:00
async.c aio / timers: aio_ctx_prepare sets timeout from AioContext timers 2013-08-22 19:10:28 +02:00
balloon.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
block-migration.c block: per caller dirty bitmap 2013-11-29 13:40:33 +01:00
block.c block: use /var/tmp instead of /tmp for -snapshot 2014-02-28 18:59:07 +01:00
blockdev-nbd.c nbd: use BlockDriverState refcnt 2013-09-06 15:25:08 +02:00
blockdev.c block: Add reference parameter to bdrv_open() 2014-02-21 21:02:22 +01:00
blockjob.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
bt-host.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
Changelog Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
CODING_STYLE
configure dump: add support for lzo/snappy 2014-02-28 11:52:03 -05:00
COPYING
COPYING.LIB
coroutine-gthread.c block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
coroutine-sigaltstack.c Merge remote-tracking branch 'kwolf/for-anthony' into staging 2013-02-26 07:44:39 -06:00
coroutine-ucontext.c Fix warnings suppressors to honor --disable-werror 2013-04-17 10:28:04 -05:00
coroutine-win32.c block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
cpu-exec.c target-arm: Store AIF bits in env->pstate for AArch32 2014-02-26 17:20:06 +00:00
cpus.c cpu: Add per-cpu address space 2014-02-11 22:56:37 +10:00
cputlb.c cpu: Add per-cpu address space 2014-02-11 22:56:37 +10:00
device_tree.c device_tree: qemu_fdt_setprop: Rename val_array arg 2013-12-20 01:58:12 +01:00
device-hotplug.c hw: move device-hotplug.o to toplevel, compile it once 2013-03-01 13:57:13 +01:00
disas.c disas: Implement disassembly output for A64 2014-02-08 14:50:48 +00:00
dma-helpers.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
dump.c dump: add 'query-dump-guest-memory-capability' command 2014-02-28 11:52:03 -05:00
exec.c exec: Remove unneeded include files 2014-03-03 09:46:27 +04:00
gdbstub.c vl: allow "cont" from panicked state 2013-11-04 15:39:41 +02:00
HACKING HACKING: Document vaddr type usage 2013-07-23 02:41:31 +02:00
hmp-commands.hx block: update block commit documentation regarding image truncation 2014-01-24 16:12:49 +01:00
hmp.c dump: make kdump-compressed format available for 'dump-guest-memory' 2014-02-28 11:52:03 -05:00
hmp.h monitor: add object-add (QMP) and object_add (HMP) command 2014-01-06 13:45:47 -05:00
iohandler.c iohandler: switch to GPollFD 2013-02-21 16:17:31 -06:00
ioport.c portio: Allow to mark portio lists as coalesced MMIO flushing 2013-10-17 17:24:15 +02:00
kvm-all.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
kvm-stub.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
LICENSE LICENSE: clarify 2013-08-12 09:15:12 -05:00
main-loop.c slirp: set mainloop timeout with more precise value 2013-09-17 12:26:05 +02:00
MAINTAINERS MAINTAINERS: update status for HMP, QAPI and QMP trees 2014-02-28 11:41:43 -05:00
Makefile Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging 2014-03-04 13:09:06 +00:00
Makefile.objs Makefile: introduce common-obj-m and block-obj-m for DSO 2014-02-20 13:14:18 +01:00
Makefile.target build: softmmu targets do not have a "main.o" file 2014-02-20 13:14:18 +01:00
memory_mapping.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
memory.c memory: split cpu_physical_memory_* functions to its own include 2014-01-13 14:04:54 +01:00
migration-exec.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-fd.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-rdma.c rdma: rename 'x-rdma' => 'rdma' 2014-02-25 14:30:28 +01:00
migration-tcp.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration-unix.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
migration.c rdma: rename 'x-rdma' => 'rdma' 2014-02-25 14:30:28 +01:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c monitor: Remove left-over code in do_info_profile. 2014-02-28 13:49:42 -05:00
nbd.c nbd: move socket wrappers to qemu-nbd 2014-02-21 21:02:23 +01:00
os-posix.c util: Split out exec_dir from os_find_datadir 2014-02-20 13:12:54 +01: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 Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-03-04 17:01:07 +00:00
qdev-monitor.c qdev-monitor: set DeviceState opts before calling realize 2014-02-26 10:32:40 -07:00
qdict-test-data.txt
qemu-bridge-helper.c qemu-bridge-helper: force usage of a very high MAC address for the bridge 2013-03-28 12:58:52 -05:00
qemu-char.c qmp: expose list of supported character device backends 2014-02-17 11:57:23 -05:00
qemu-coroutine-io.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
qemu-coroutine-lock.c coroutine: remove qemu_co_queue_wait_insert_head 2013-12-02 17:11:49 +01:00
qemu-coroutine-sleep.c coroutine: add co_aio_sleep_ns() to allow sleep in block drivers 2013-10-30 12:22:09 +01:00
qemu-coroutine.c coroutine: add ./configure --disable-coroutine-pool 2013-09-12 10:12:48 +02:00
qemu-doc.texi Describe flaws in qcow/qcow2 encryption in the docs 2014-01-31 22:05:03 +01:00
qemu-file.c qemu_file: use fwrite() correctly 2014-02-25 14:26:59 +01:00
qemu-img-cmds.hx qemu-img: add -l for snapshot in convert 2013-12-04 15:19:00 +01:00
qemu-img.c qemu-img: Remove unneeded include files 2014-03-03 09:46:27 +04: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: New command 'sleep' 2014-01-24 17:40:03 +01:00
qemu-io.c Block patches 2014-02-25 10:50:11 +00:00
qemu-log.c qemu-log: default to stderr for logging output 2013-02-26 13:31:47 -06:00
qemu-nbd.c Block patches 2014-02-25 10:50:11 +00: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 doc: Mention chardev:id in available devices for -serial 2014-01-01 18:03:55 +04:00
qemu-seccomp.c seccomp: add some basic shared memory syscalls to the whitelist 2014-01-20 11:19:34 -02:00
qemu-tech.texi qemu-tech.texi: update implemented xtensa features list 2012-11-29 13:00:52 -06:00
qemu-timer.c timer: add timer_mod_anticipate and timer_mod_anticipate_ns 2013-10-17 17:31:00 +02:00
qemu.nsi nsis: Improved support for parallel installation of 32 and 64 bit code 2013-11-07 07:02:44 +01:00
qemu.sasl Fix command example in qemu.sasl 2013-07-19 12:52:03 +04:00
qmp-commands.hx dump: add 'query-dump-guest-memory-capability' command 2014-02-28 11:52:03 -05:00
qmp.c object: Report type in error when not user creatable. 2014-03-02 17:12:41 +04:00
qtest.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
README Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
rules.mak module: implement module loading 2014-02-20 13:14:18 +01:00
savevm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05: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 tcg: Implement multiword multiply helpers 2013-02-23 17:25:28 +00:00
tci.c misc: Use new rotate functions 2013-09-25 21:23:05 +02:00
thread-pool.c aio / timers: Untangle include files 2013-08-22 19:10:27 +02:00
thunk.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
tpm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
trace-events target-ppc: Introduce hypervisor call H_GET_TCE 2014-03-05 03:07:03 +01:00
translate-all.c exec: Make tb_invalidate_phys_addr input an AS 2014-02-11 22:55:55 +10:00
translate-all.h split definitions for exec.c and translate-all.c radix trees 2013-12-10 12:29:56 +02:00
user-exec.c linux-user: fix segmentation fault passing with h2g(x) != x 2013-07-23 17:28:28 +03:00
VERSION Open 2.0 development tree 2013-11-27 14:02:45 -08:00
version.rc Use qemu-project.org domain name 2013-10-11 09:34:56 -07:00
vl.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
vmstate.c Fix vmstate_info_int32_le comparison/assign 2014-02-25 14:30:28 +01:00
xbzrle.c Move XBZRLE encoding code to a separate file to allow testing 2013-02-01 08:32:20 +01:00
xen-all.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
xen-mapcache.c hw: move headers to include/ 2013-04-08 18:13:10 +02:00
xen-stub.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00

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

- QEMU team