qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: QEMU Developers <qemu-devel@nongnu.org>, qemu-arm@nongnu.org
Cc: Peter Crosthwaite <crosthwaitepeter@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [Qemu-devel] [PATCH v15 00/15] PTimer fixes/features and ARM MPTimer conversion
Date: Thu, 21 Jul 2016 17:31:11 +0300	[thread overview]
Message-ID: <cover.1469110137.git.digetx@gmail.com> (raw)

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.

Changelog:
    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.

Dmitry Osipenko (15):
  hw/ptimer: Change ptimer_get_count to return "1" for the expired timer
  hw/ptimer: Fix counter - 1 returned by ptimer_get_count for the active
    timer
  hw/ptimer: Actually stop timer in case of error
  hw/ptimer: Introduce timer policy feature
  tests: Add ptimer tests
  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
  arm_mptimer: Convert to use ptimer
  tests: Add tests for the ARM MPTimer

 hw/arm/musicpal.c              |    2 +-
 hw/core/ptimer.c               |   80 ++-
 hw/dma/xilinx_axidma.c         |    2 +-
 hw/m68k/mcf5206.c              |    2 +-
 hw/m68k/mcf5208.c              |    2 +-
 hw/net/fsl_etsec/etsec.c       |    2 +-
 hw/net/lan9118.c               |    2 +-
 hw/timer/allwinner-a10-pit.c   |    2 +-
 hw/timer/arm_mptimer.c         |  148 +++---
 hw/timer/arm_timer.c           |    2 +-
 hw/timer/digic-timer.c         |    2 +-
 hw/timer/etraxfs_timer.c       |    6 +-
 hw/timer/exynos4210_mct.c      |    7 +-
 hw/timer/exynos4210_pwm.c      |    2 +-
 hw/timer/exynos4210_rtc.c      |    4 +-
 hw/timer/grlib_gptimer.c       |    2 +-
 hw/timer/imx_epit.c            |    4 +-
 hw/timer/imx_gpt.c             |    2 +-
 hw/timer/lm32_timer.c          |    2 +-
 hw/timer/milkymist-sysctl.c    |    4 +-
 hw/timer/puv3_ost.c            |    2 +-
 hw/timer/sh_timer.c            |    2 +-
 hw/timer/slavio_timer.c        |    2 +-
 hw/timer/xilinx_timer.c        |    2 +-
 include/hw/ptimer.h            |   15 +-
 include/hw/timer/arm_mptimer.h |    5 +-
 stubs/vmstate.c                |    5 +
 tests/Makefile.include         |    4 +
 tests/ptimer-test-stubs.c      |  107 ++++
 tests/ptimer-test.c            |  659 ++++++++++++++++++++++++
 tests/ptimer-test.h            |   20 +
 tests/test-arm-mptimer.c       | 1079 ++++++++++++++++++++++++++++++++++++++++
 32 files changed, 2061 insertions(+), 120 deletions(-)
 create mode 100644 tests/ptimer-test-stubs.c
 create mode 100644 tests/ptimer-test.c
 create mode 100644 tests/ptimer-test.h
 create mode 100644 tests/test-arm-mptimer.c

-- 
2.9.2

             reply	other threads:[~2016-07-21 14:32 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-21 14:31 Dmitry Osipenko [this message]
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 01/15] hw/ptimer: Change ptimer_get_count to return "1" for the expired timer Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 02/15] hw/ptimer: Fix counter - 1 returned by ptimer_get_count for the active timer Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 03/15] hw/ptimer: Actually stop timer in case of error Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 04/15] hw/ptimer: Introduce timer policy feature Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 05/15] tests: Add ptimer tests Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 06/15] hw/ptimer: Add "wraparound after one period" policy Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 07/15] tests: ptimer: Add tests for " Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 08/15] hw/ptimer: Add "continuous trigger" policy Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 09/15] tests: ptimer: Add tests for " Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 10/15] hw/ptimer: Add "no immediate " Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 11/15] tests: ptimer: Add tests for " Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 12/15] hw/ptimer: Add "no immediate reload" policy Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 13/15] tests: ptimer: Add tests for " Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 14/15] arm_mptimer: Convert to use ptimer Dmitry Osipenko
2016-07-21 14:31 ` [Qemu-devel] [PATCH v15 15/15] tests: Add tests for the ARM MPTimer Dmitry Osipenko
2016-09-05 18:14 ` [Qemu-devel] [PATCH v15 00/15] PTimer fixes/features and ARM MPTimer conversion Peter Maydell
2016-09-05 21:52   ` Dmitry Osipenko
2016-09-05 22:12     ` Peter Maydell
2016-09-06 10:32       ` Dmitry Osipenko
2016-09-06 10:36         ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1469110137.git.digetx@gmail.com \
    --to=digetx@gmail.com \
    --cc=crosthwaitepeter@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).