xemu/hw/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
..
e500-ccsr.h ppc: do not use ../ in include files 2013-03-01 13:57:33 +01:00
e500.c PPC: E500: Set PIR default reset value rather than SPR value 2014-04-08 11:19:59 +02:00
e500.h ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params 2013-08-21 23:22:22 +03:00
e500plat.c device_tree: s/qemu_devtree/qemu_fdt globally 2013-12-20 01:58:11 +01:00
mac_newworld.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
mac_oldworld.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
mac.h hw/ppc/mac.h: remove unused BIOS_FILENAME definition 2013-12-02 21:18:18 +04:00
Makefile.objs ppcemb-softmmu: Drop Mac and e500 emulation 2014-02-13 17:47:43 +01:00
mpc8544_guts.c cpu: Replace cpu_single_env with CPUState current_cpu 2013-07-09 21:20:28 +02:00
mpc8544ds.c device_tree: s/qemu_devtree/qemu_fdt globally 2013-12-20 01:58:11 +01:00
ppc4xx_devs.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
ppc4xx_pci.c pci-host: Consistently set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
ppc405_boards.c pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ppc405_uc.c target-ppc: Clean up ENV_GET_CPU() usage 2014-03-13 19:01:48 +01:00
ppc405.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
ppc440_bamboo.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
ppc_booke.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00
ppc.c PPC: Clean up DECR implementation 2014-04-08 11:20:04 +02:00
ppce500_spin.c cpu: Move exception_index field from CPU_COMMON to CPUState 2014-03-13 19:20:46 +01:00
prep.c raven: Set a correct PCI memory region 2014-03-20 00:33:17 +01:00
spapr_events.c spapr-rtas: replace return code constants with macros 2013-12-20 01:57:59 +01:00
spapr_hcall.c spapr_hcall: Fix little-endian resource handling in H_SET_MODE 2014-03-20 02:39:33 +01:00
spapr_iommu.c target-ppc: Introduce hypervisor call H_GET_TCE 2014-03-05 03:07:03 +01:00
spapr_pci.c PowerPC queue for 2.0-rc0 2014-03-13 13:19:46 +00:00
spapr_rtas.c target-ppc: spapr: e500: fix to use cpu_dt_id 2014-03-05 03:07:04 +01:00
spapr_vio.c spapr_vio: Fix firmware names 2014-03-20 02:40:13 +01:00
spapr.c spapr: Implement interface to fix device pathname 2014-03-20 02:40:26 +01:00
virtex_ml507.c hw/ppc: Avoid shifting left into sign bit 2014-03-27 19:22:49 +04:00