qemu-e2k/hw/ppc
Alexander Graf 455df3f323 PPC: Make BookE FIT/WDT timers more lazy
Today we fire FIT and WDT timer events every time the respective bit
position in TB flips from 0 -> 1.

However, there is no need to do this if the end result would be that
we're changing a TSR bit that is set to 1 to 1 again. No guest visible
change would have occured.

So whenever we see that the TSR bit to our timer is already set, don't
even bother to update the timer that would potentially fire it off.

However, we do need to make sure that we update our timer that notifies
us of the TB flip when the respective TSR bit gets unset. In that case
we do care about the flip and need to notify the guest again. So add
a callback into our timer handlers when TSR bits get unset.

This improves performance for me when the guest is busy processing things.

Signed-off-by: Alexander Graf <agraf@suse.de>
Message-id: 1385416015-22775-2-git-send-email-agraf@suse.de
Signed-off-by: Anthony Liguori <aliguori@amazon.com>
2013-11-25 20:35:11 -08:00
..
e500-ccsr.h
e500.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
e500.h ppc: Don't duplicate QEMUMachineInitArgs in PPCE500Params 2013-08-21 23:22:22 +03:00
e500plat.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03: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
Makefile.objs
mpc8544_guts.c
mpc8544ds.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
ppc4xx_devs.c
ppc4xx_pci.c
ppc405_boards.c pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00
ppc405_uc.c ppc405_uc: Disable debug output 2013-09-02 10:06:41 +02:00
ppc405.h
ppc440_bamboo.c loader: drop return value for rom_add_blob_fixed 2013-11-10 12:08:38 +02:00
ppc_booke.c PPC: Make BookE FIT/WDT timers more lazy 2013-11-25 20:35:11 -08:00
ppc.c cpu: Use QTAILQ for CPU list 2013-09-03 12:25:55 +02:00
ppce500_spin.c
prep.c hw: Clean up bogus default boot order 2013-08-28 10:16:47 +03:00
spapr_events.c
spapr_hcall.c spapr-rtas: fix h_rtas parameters reading 2013-10-25 23:25:46 +02:00
spapr_iommu.c PPC: spapr: iommu: rework traces 2013-09-02 10:06:43 +02:00
spapr_pci.c spapr-pci: enable irqfd for INTx 2013-10-25 23:25:47 +02:00
spapr_rtas.c spapr: add "stop-self" RTAS call required to support hot CPU unplug 2013-09-02 10:06:42 +02:00
spapr_vio.c spapr: Rename 'dprintf' to 'DPRINTF' 2013-07-29 19:56:46 -05:00
spapr.c Merge remote-tracking branch 'mjt/trivial-patches' into staging 2013-10-31 17:01:43 +01:00
virtex_ml507.c pc,pci,virtio fixes and cleanups 2013-09-03 12:31:07 -05:00