qemu/target-ppc
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
..
Makefile.objs target-ppc: dump-guest-memory support 2013-10-25 23:25:48 +02:00
STATUS target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
arch_dump.c target-ppc: dump-guest-memory support 2013-10-25 23:25:48 +02:00
cpu-models.c target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
cpu-models.h target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
cpu-qom.h target-ppc: add PowerPCCPU::cpu_dt_id 2014-03-05 03:07:03 +01:00
cpu.h target-ppc: add PowerPCCPU::cpu_dt_id 2014-03-05 03:07:03 +01:00
excp_helper.c exec: Make ldl_*_phys input an AddressSpace 2014-02-11 22:56:54 +10:00
fpu_helper.c target-ppc: Fix Compiler Warnings Due to 64-Bit Constants Declared as UL 2014-03-05 03:07:01 +01:00
gdbstub.c cpu: Introduce CPUClass::gdb_{read,write}_register() 2013-07-27 00:04:17 +02:00
helper.h target-ppc: Altivec 2.07: Vector Permute and Exclusive OR 2014-03-05 03:07:00 +01:00
helper_regs.h PPC: Add VSX to hflags 2013-12-20 01:58:10 +01:00
int_helper.c target-ppc: Altivec 2.07: Vector Permute and Exclusive OR 2014-03-05 03:07:00 +01:00
kvm-stub.c kvm/openpic: in-kernel mpic support 2013-07-01 01:11:14 +02:00
kvm.c target-ppc: add PowerPCCPU::cpu_dt_id 2014-03-05 03:07:03 +01:00
kvm_ppc.c PPC: KVM: Compile fix for qemu_notify_event 2013-09-02 10:06:42 +02:00
kvm_ppc.h target-ppc: add PowerPCCPU::cpu_dt_id 2014-03-05 03:07:03 +01:00
machine.c target-ppc: Fix htab_mask calculation 2014-03-05 03:07:02 +01:00
mem_helper.c target-ppc: Little Endian Correction to Load/Store Vector Element 2013-10-25 23:25:45 +02:00
mfrom_table.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
mfrom_table_gen.c fix spelling in target sub directory 2011-12-02 10:50:57 +00:00
misc_helper.c target-ppc: Fix htab_mask calculation 2014-03-05 03:07:02 +01:00
mmu-hash32.c target-ppc: Change LOG_MMU_STATE() argument to CPUState 2013-07-09 21:33:04 +02:00
mmu-hash32.h exec: Make stl_*_phys input an AddressSpace 2014-02-11 22:57:18 +10:00
mmu-hash64.c target-ppc: Update ppc_hash64_store_hpte to support updating in-kernel htab 2014-03-05 03:07:03 +01:00
mmu-hash64.h target-ppc: Update ppc_hash64_store_hpte to support updating in-kernel htab 2014-03-05 03:07:03 +01:00
mmu_helper.c target-ppc: Fix htab_mask calculation 2014-03-05 03:07:02 +01:00
timebase_helper.c ppc: Avoid AREG0 for timebase helpers 2012-06-24 01:04:43 +02:00
translate.c target-ppc: Use Additional Temporary in stqcx Case 2014-03-05 03:07:01 +01:00
translate_init.c target-ppc: add PowerPCCPU::cpu_dt_id 2014-03-05 03:07:03 +01:00
user_only_helper.c target-ppc: Split user only code out of mmu_helper.c 2013-03-22 15:28:53 +01:00