qemu-irix/hw/ppc
Roman Kapl 0dfe952dc5 ppc: Prevent inifnite loop in decrementer auto-reload.
If the DECAR register is set to 0, QEMU tries to reload the decrementer with
zero in an inifinite loop. According to PPC documentation, the decrementer is
triggered on 1->0 transition, so avoid reloading the decrementer if if is
already zero.

The problem does not manifest under Linux, but it is valid to set DECAR to zero
(and may make sense as part of decrementer initialization when interrupts are
disabled).

Signed-off-by: Roman Kapl <rka@sysgo.com>
[dwg: Fixed style nit]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-01-31 10:10:14 +11:00
..
Makefile.objs prep: add IBM RS/6000 7020 (40p) memory controller 2017-01-31 10:10:13 +11:00
e500-ccsr.h
e500.c hw/ppc: QOM'ify e500.c 2017-01-31 10:10:13 +11:00
e500.h
e500plat.c
fdt.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
mac.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
mac_newworld.c fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
mac_oldworld.c fw_cfg: move FW_CFG_NB_CPUS out of fw_cfg_init1() 2016-11-16 12:09:58 -02:00
mpc8544_guts.c
mpc8544ds.c
pnv.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
pnv_core.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
pnv_lpc.c Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
pnv_xscom.c kvm: move cpu synchronization code 2017-01-19 22:07:46 +01:00
ppc.c ppc: parse cpu features once 2016-08-13 17:32:58 +10:00
ppc4xx_devs.c
ppc4xx_pci.c
ppc405.h Remove unused function declarations 2016-09-15 15:32:22 +03:00
ppc405_boards.c clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
ppc405_uc.c
ppc440_bamboo.c
ppc_booke.c ppc: Prevent inifnite loop in decrementer auto-reload. 2017-01-31 10:10:14 +11:00
ppce500_spin.c hw/ppc: QOM'ify ppce500_spin.c 2017-01-31 10:10:13 +11:00
prep.c prep: add IBM RS/6000 7020 (40p) machine emulation 2017-01-31 10:10:13 +11:00
prep_systemio.c prep: add PReP System I/O 2017-01-31 10:10:13 +11:00
rs6000_mc.c prep: add IBM RS/6000 7020 (40p) memory controller 2017-01-31 10:10:13 +11:00
spapr.c ppc: Rewrite ppc_get_compat_smt_threads() 2017-01-31 10:10:13 +11:00
spapr_cpu_core.c ppc: Clean up and QOMify hypercall emulation 2017-01-31 10:10:13 +11:00
spapr_drc.c hw: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
spapr_events.c spapr: Add DRC count indexed hotplug identifier type 2016-10-28 11:17:35 +11:00
spapr_hcall.c ppc: Add ppc_set_compat_all() 2017-01-31 10:10:14 +11:00
spapr_iommu.c memory: introduce IOMMUOps.notify_flag_changed 2016-09-27 09:00:04 +02:00
spapr_ovec.c spapr: migration support for CAS-negotiated option vectors 2016-11-23 12:00:48 +11:00
spapr_pci.c spapr: Fix 2.7<->2.8 migration of PCI host bridge 2016-11-23 12:00:48 +11:00
spapr_pci_vfio.c Use #include "..." for our own headers, <...> for others 2016-07-12 16:19:16 +02:00
spapr_rng.c
spapr_rtas.c pseries: Consolidate construction of /rtas device tree node 2016-10-28 09:38:26 +11:00
spapr_rtas_ddw.c
spapr_rtc.c
spapr_vio.c hw/ppc: QOM'ify spapr_vio.c 2017-01-31 10:10:13 +11:00
trace-events pseries: Rewrite CAS PVR compatibility logic 2017-01-31 10:10:14 +11:00
virtex_ml507.c