qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v17 00/14] PTimer fixes/features and ARM MPTimer conversion
@ 2016-10-02 15:53 Dmitry Osipenko
  2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 01/14] hw/ptimer: Add "wraparound after one period" policy Dmitry Osipenko
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Dmitry Osipenko @ 2016-10-02 15:53 UTC (permalink / raw)
  To: QEMU Developers, qemu-arm; +Cc: Peter Crosthwaite, Peter Maydell

Hello,

Currently, QEMU ARM MPTimer device model provides only a certain subset of
the emulation behavior. This patch series is supposed to add missing parts by
converting the MPTimer to use generic ptimer helper. It fixes some important
ptimer bugs and provides new features that are required for the ARM MPTimer.

WARNING! I based V17 on top of the Paolo's patch [0], however I don't see
the original mail of that patch on the ML nor in patches/patchew.

[0] https://lists.nongnu.org/archive/html/qemu-devel/2016-09/msg06734.html

Changelog:
    V17: Extended ptimer tests uncovered the ptimer issues mentioned below,
         changed the copyright text as Eric Blake suggested in the comment
         to V16.

         Ptimer policies patches cleaned a bit (should be a bit easier to
         review, hopefully), added more comments, some fixes:

         "wraparound after one period" now does what it claims without the
         "no counter round down" policy.

         "no immediate reload" policy won't trigger twice, on setting
         counter to 0 and after the reload, if the "no immediate trigger"
         policy not used.

         If "continuous trigger" policy is used and periodic timer starts
         to run with counter != 0, it won't stop on reaching 0. It was hidden
         by some other policy.

    V16: Suppressed ptimer warning messages under qtest.

         Added a comment for the default policy in the "include/hw/ptimer.h"

         Patches "Change ptimer_get_count to return "1" for the expired timer"
         and "Fix counter - 1 returned by ptimer_get_count for the active timer"
         are merged and converted into a "no counter round down" ptimer policy.

         Added "hw/timer/arm_mptimer.c" into the "make check" GCOV.

    V15: As per Peter's Maydell request: split ptimer policy patches,
         so that first "policy" patch only sets default policy to all
         of the timers without introducing new behaviour policies.

         The "deferred trigger" ptimer policy from V14 is converted to
         "continuous trigger" as it is more intuitive.

         New ptimer policies added.

         New ptimer patch "Actually stop timer in case of error".

         Fixed ARM MPTimer periodic/oneshot "on the fly" mode switch
         for the case when load = 0 and new mode has prescaler = 0.

         Added QTests for each of the ptimer policies.

         Added QTests for the ARM MPTimer.

    V14: Set the ptimer policy in the ptimer_init() instead of adding
         ptimer_set_policy(), keeping ptimer VMState unchanged and dropped
         hw_error() hardening asserts as per Peter's Maydell V13 review
         comments, addressed the rest of the review comments.

    V13-V2: https://lists.gnu.org/archive/html/qemu-arm/2016-05/msg00269.html

Dmitry Osipenko (14):
  hw/ptimer: Add "wraparound after one period" policy
  tests: ptimer: Add tests for "wraparound after one period" policy
  hw/ptimer: Add "continuous trigger" policy
  tests: ptimer: Add tests for "continuous trigger" policy
  hw/ptimer: Add "no immediate trigger" policy
  tests: ptimer: Add tests for "no immediate trigger" policy
  hw/ptimer: Add "no immediate reload" policy
  tests: ptimer: Add tests for "no immediate reload" policy
  hw/ptimer: Add "no counter round down" policy
  tests: ptimer: Add tests for "no counter round down" policy
  tests: ptimer: Change the copyright comment
  tests: ptimer: Replace 10000 with 1
  arm_mptimer: Convert to use ptimer
  tests: Add tests for the ARM MPTimer

 hw/core/ptimer.c               |  130 ++++-
 hw/timer/arm_mptimer.c         |  149 +++---
 include/hw/ptimer.h            |   20 +
 include/hw/timer/arm_mptimer.h |    5 +-
 tests/Makefile.include         |    3 +
 tests/ptimer-test-stubs.c      |    2 +-
 tests/ptimer-test.c            |  362 ++++++++++---
 tests/ptimer-test.h            |    2 +-
 tests/test-arm-mptimer.c       | 1105 ++++++++++++++++++++++++++++++++++++++++
 9 files changed, 1616 insertions(+), 162 deletions(-)
 create mode 100644 tests/test-arm-mptimer.c

-- 
2.9.3

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2016-10-24 18:19 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-02 15:53 [Qemu-devel] [PATCH v17 00/14] PTimer fixes/features and ARM MPTimer conversion Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 01/14] hw/ptimer: Add "wraparound after one period" policy Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 02/14] tests: ptimer: Add tests for " Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 03/14] hw/ptimer: Add "continuous trigger" policy Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 04/14] tests: ptimer: Add tests for " Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 05/14] hw/ptimer: Add "no immediate " Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 06/14] tests: ptimer: Add tests for " Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 07/14] hw/ptimer: Add "no immediate reload" policy Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 08/14] tests: ptimer: Add tests for " Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 09/14] hw/ptimer: Add "no counter round down" policy Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 10/14] tests: ptimer: Add tests for " Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 11/14] tests: ptimer: Change the copyright comment Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 12/14] tests: ptimer: Replace 10000 with 1 Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 13/14] arm_mptimer: Convert to use ptimer Dmitry Osipenko
2016-10-02 15:53 ` [Qemu-devel] [PATCH v17 14/14] tests: Add tests for the ARM MPTimer Dmitry Osipenko
2016-10-24 12:23 ` [Qemu-devel] [PATCH v17 00/14] PTimer fixes/features and ARM MPTimer conversion Peter Maydell
2016-10-24 18:19   ` Dmitry Osipenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).