Re: [Qemu-devel] [PATCH v2 3/5] hpet 'driftfix': add fields to HPETTimer and VMStateDescription

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/08/2011 10:20 AM, Ulrich Obergfell wrote:
Signed-off-by: Ulrich Obergfell<uobergfe@xxxxxxxxxx>
---
  hw/hpet.c |   14 ++++++++++++--
  1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/hw/hpet.c b/hw/hpet.c
index 45847ed..c150da5 100644
--- a/hw/hpet.c
+++ b/hw/hpet.c
@@ -55,6 +55,11 @@ typedef struct HPETTimer {  /* timers */
      uint8_t wrap_flag;      /* timer pop will indicate wrap for one-shot 32-bit
                               * mode. Next pop will be actual timer expiration.
                               */
+    uint64_t saved_period;
+    uint64_t ticks_not_accounted;
+    uint32_t irqs_to_inject;
+    uint32_t irq_rate;
+    uint32_t divisor;
  } HPETTimer;

  typedef struct HPETState {
@@ -248,7 +253,7 @@ static int hpet_post_load(void *opaque, int version_id)

  static const VMStateDescription vmstate_hpet_timer = {
      .name = "hpet_timer",
-    .version_id = 1,
+    .version_id = 3,

Why jump from 1 to 3?

      .minimum_version_id = 1,
      .minimum_version_id_old = 1,
      .fields      = (VMStateField []) {
@@ -258,6 +263,11 @@ static const VMStateDescription vmstate_hpet_timer = {
          VMSTATE_UINT64(fsb, HPETTimer),
          VMSTATE_UINT64(period, HPETTimer),
          VMSTATE_UINT8(wrap_flag, HPETTimer),
+        VMSTATE_UINT64_V(saved_period, HPETTimer, 3),
+        VMSTATE_UINT64_V(ticks_not_accounted, HPETTimer, 3),
+        VMSTATE_UINT32_V(irqs_to_inject, HPETTimer, 3),
+        VMSTATE_UINT32_V(irq_rate, HPETTimer, 3),
+        VMSTATE_UINT32_V(divisor, HPETTimer, 3),

We ought to be able to use a subsection keyed off of whether any ticks are currently accumulated, no?

Regards,

Anthony Liguori

          VMSTATE_TIMER(qemu_timer, HPETTimer),
          VMSTATE_END_OF_LIST()
      }
@@ -265,7 +275,7 @@ static const VMStateDescription vmstate_hpet_timer = {

  static const VMStateDescription vmstate_hpet = {
      .name = "hpet",
-    .version_id = 2,
+    .version_id = 3,
      .minimum_version_id = 1,
      .minimum_version_id_old = 1,
      .pre_save = hpet_pre_save,

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux