qemu/target-ppc
Alexander Graf e81a982aa5 PPC: Clean up DECR implementation
There are 3 different variants of the decrementor for BookE and BookS.

The BookE variant sets TSR[DIS] to 1 when the DEC value becomes 1 or 0. TSR[DIS]
is then the indicator whether the decrementor interrupt line is asserted or not.

The old BookS variant treats DEC as an edge interrupt that gets triggered when
the DEC value's top bit turns 1 from 0.

The new BookS variant maintains the assertion bit inside DEC itself. Whenever
the DEC value becomes negative (top bit set) the DEC interrupt line is asserted.

So far we implemented mostly the old BookS variant. Let's do them all properly.

This fixes booting pseries ppc64 guest images in TCG mode for me.

Signed-off-by: Alexander Graf <agraf@suse.de>
2014-04-08 11:20:04 +02:00
..
arch_dump.c target-ppc: Add missing 'static' and 'const' attributes 2014-03-19 18:35:52 +01: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: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook 2014-03-13 19:20:48 +01:00
cpu.h PPC: Clean up DECR implementation 2014-04-08 11:20:04 +02:00
excp_helper.c PPC: Clean up DECR implementation 2014-04-08 11:20:04 +02:00
fpu_helper.c target-ppc: Correct VSX Integer to FP Conversion 2014-04-08 11:20:04 +02:00
gdbstub.c cpu: Introduce CPUClass::gdb_{read,write}_register() 2013-07-27 00:04:17 +02:00
helper_regs.h cputlb: Change tlb_flush() argument to CPUState 2014-03-13 19:52:47 +01:00
helper.h target-ppc: Altivec 2.07: Vector Permute and Exclusive OR 2014-03-05 03:07:00 +01:00
int_helper.c target-ppc: Add missing 'static' and 'const' attributes 2014-03-19 18:35:52 +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
kvm-stub.c kvm/openpic: in-kernel mpic support 2013-07-01 01:11:14 +02:00
kvm.c exec: Change cpu_abort() argument to CPUState 2014-03-13 19:52:28 +01:00
machine.c target-ppc: Add missing 'static' and 'const' attributes 2014-03-19 18:35:52 +01:00
Makefile.objs target-ppc: dump-guest-memory support 2013-10-25 23:25:48 +02:00
mem_helper.c target-ppc: Little Endian Correction to Load/Store Vector Element 2013-10-25 23:25:45 +02:00
mfrom_table_gen.c fix spelling in target sub directory 2011-12-02 10:50:57 +00:00
mfrom_table.c find -type f | xargs sed -i 's/[\t ]$//g' # on most files 2007-09-16 21:08:06 +00:00
misc_helper.c cputlb: Change tlb_flush() argument to CPUState 2014-03-13 19:52:47 +01:00
mmu_helper.c cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
mmu-hash32.c cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
mmu-hash32.h target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook 2014-03-13 19:20:48 +01:00
mmu-hash64.c cputlb: Change tlb_set_page() argument to CPUState 2014-03-13 19:52:47 +01:00
mmu-hash64.h target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook 2014-03-13 19:20:48 +01:00
STATUS target-ppc: remove powerpc 970gx 2014-03-05 03:06:23 +01:00
timebase_helper.c ppc: Avoid AREG0 for timebase helpers 2012-06-24 01:04:43 +02:00
translate_init.c target-ppc: MSR_POW not supported on POWER7/7+/8 2014-03-27 16:15:34 +01:00
translate.c cpu: Move breakpoints field from CPU_COMMON to CPUState 2014-03-13 19:20:47 +01:00
user_only_helper.c cpu: Move exception_index field from CPU_COMMON to CPUState 2014-03-13 19:20:46 +01:00