From: "Chalios, Babis" <bchalios@amazon.es>
To: "mst@redhat.com" <mst@redhat.com>,
"imammedo@redhat.com" <imammedo@redhat.com>,
"cohuck@redhat.com" <cohuck@redhat.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"dwmw2@infradead.org" <dwmw2@infradead.org>,
"Chalios, Babis" <bchalios@amazon.es>, "Graf (AWS),
Alexander" <graf@amazon.de>,
"mzxreary@0pointer.de" <mzxreary@0pointer.de>
Subject: [RFC PATCH 2/4] hw/acpi: add new fields in VMClock ABI
Date: Mon, 1 Dec 2025 12:50:59 +0000 [thread overview]
Message-ID: <20251201125023.18344-4-bchalios@amazon.es> (raw)
In-Reply-To: <20251201125023.18344-1-bchalios@amazon.es>
VMClock now supports a vm_generation_counter field in the struct it
exposes to userspace. The field signals a disruption that happened due
to a guest loaded from a snapshot.
Moreover, VMClock now optionally supports device notifications when the
seq_count changes to a new even value.
Signed-off-by: Babis Chalios <bchalios@amazon.es>
---
include/standard-headers/linux/vmclock-abi.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/include/standard-headers/linux/vmclock-abi.h b/include/standard-headers/linux/vmclock-abi.h
index 15b0316cb4..fe824badc0 100644
--- a/include/standard-headers/linux/vmclock-abi.h
+++ b/include/standard-headers/linux/vmclock-abi.h
@@ -115,6 +115,17 @@ struct vmclock_abi {
* bit again after the update, using the about-to-be-valid fields.
*/
#define VMCLOCK_FLAG_TIME_MONOTONIC (1 << 7)
+ /*
+ * If the VM_GEN_COUNTER_PRESENT flag is set, the hypervisor will
+ * bump the vm_generation_counter field every time the guest is
+ * loaded from some save state (restored from a snapshot).
+ */
+#define VMCLOCK_FLAG_VM_GEN_COUNTER_PRESENT (1 << 8)
+ /*
+ * If the NOTIFICATION_PRESENT flag is set, the hypervisor will send
+ * a notification every time it updates seq_count to a new even number.
+ */
+#define VMCLOCK_FLAG_NOTIFICATION_PRESENT (1 << 9)
uint8_t pad[2];
uint8_t clock_status;
@@ -177,6 +188,15 @@ struct vmclock_abi {
uint64_t time_frac_sec; /* Units of 1/2^64 of a second */
uint64_t time_esterror_nanosec;
uint64_t time_maxerror_nanosec;
+
+ /*
+ * This field changes to another non-repeating value when the guest
+ * has been loaded from a snapshot. In addition to handling a
+ * disruption in time (which will also be signalled through the
+ * disruption_marker field), a guest may wish to discard UUIDs,
+ * reset network connections, reseed entropy, etc.
+ */
+ uint64_t vm_generation_counter;
};
#endif /* __VMCLOCK_ABI_H__ */
--
2.34.1
next prev parent reply other threads:[~2025-12-01 12:51 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-01 12:50 [RFC PATCH 0/4] vmclock: add support for VM generation counter and notifications Chalios, Babis
2025-12-01 12:50 ` Chalios, Babis
2025-12-01 12:52 ` Babis Chalios
2025-12-01 12:50 ` [RFC PATCH 1/4] acpi: fix acpi_send_gpe_event() to handle more events Chalios, Babis
2026-02-04 0:07 ` David Woodhouse
2025-12-01 12:50 ` Chalios, Babis [this message]
2025-12-01 13:04 ` [RFC PATCH 2/4] hw/acpi: add new fields in VMClock ABI Cornelia Huck
2025-12-01 13:11 ` Babis Chalios
2025-12-01 13:36 ` Cornelia Huck
2025-12-01 13:24 ` David Woodhouse
2025-12-01 13:38 ` Cornelia Huck
2025-12-01 14:27 ` David Woodhouse
2025-12-01 15:05 ` Babis Chalios
2025-12-01 15:21 ` David Woodhouse
2025-12-01 15:10 ` Cornelia Huck
2025-12-01 12:51 ` [RFC PATCH 3/4] hw/acpi: add VM generation counter field to VMClock Chalios, Babis
2025-12-01 14:12 ` Daniel P. Berrangé
2025-12-01 14:29 ` David Woodhouse
2025-12-01 14:41 ` Daniel P. Berrangé
2025-12-01 15:01 ` Babis Chalios
2025-12-01 15:28 ` David Woodhouse
2025-12-01 12:51 ` [RFC PATCH 4/4] hw/acpi: add ACPI notification to VMClock device Chalios, Babis
2025-12-01 15:10 ` [RFC PATCH 0/4] vmclock: add support for VM generation counter and notifications Daniel P. Berrangé
2025-12-01 15:23 ` David Woodhouse
2025-12-01 15:46 ` Babis Chalios
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=20251201125023.18344-4-bchalios@amazon.es \
--to=bchalios@amazon.es \
--cc=cohuck@redhat.com \
--cc=dwmw2@infradead.org \
--cc=graf@amazon.de \
--cc=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=mzxreary@0pointer.de \
--cc=pbonzini@redhat.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.