On 02.07.24 20:40, David Woodhouse wrote: > On 2 July 2024 19:12:00 BST, Peter Hilber <peter.hilber@xxxxxxxxxxxxxxx> wrote: >> On 02.07.24 18:39, David Woodhouse wrote: >>> To clarify then, the main types are >>> >>> VIRTIO_RTC_CLOCK_UTC == 0 >>> VIRTIO_RTC_CLOCK_TAI == 1 >>> VIRTIO_RTC_CLOCK_MONOTONIC == 2 >>> VIRTIO_RTC_CLOCK_SMEARED_UTC == 3 >>> >>> And the subtypes are *only* for the case of >>> VIRTIO_RTC_CLOCK_SMEARED_UTC. They include >>> >>> VIRTIO_RTC_SUBTYPE_STRICT >>> VIRTIO_RTC_SUBTYPE_UNDEFINED /* or whatever you want to call it */ >>> VIRTIO_RTC_SUBTYPE_SMEAR_NOON_LINEAR >>> VIRTIO_RTC_SUBTYPE_UTC_SLS /* if it's worth doing this one */ >>> >>> Is that what we just agreed on? >>> >>> >> >> This is a misunderstanding. My idea was that the main types are >> >>> VIRTIO_RTC_CLOCK_UTC == 0 >>> VIRTIO_RTC_CLOCK_TAI == 1 >>> VIRTIO_RTC_CLOCK_MONOTONIC == 2 >>> VIRTIO_RTC_CLOCK_SMEARED_UTC == 3 >> >> VIRTIO_RTC_CLOCK_MAYBE_SMEARED_UTC == 4 >> >> The subtypes would be (1st for clocks other than >> VIRTIO_RTC_CLOCK_SMEARED_UTC, 2nd to last for >> VIRTIO_RTC_CLOCK_SMEARED_UTC): >> >> #define VIRTIO_RTC_SUBTYPE_STRICT 0 >> #define VIRTIO_RTC_SUBTYPE_SMEAR_NOON_LINEAR 1 >> #define VIRTIO_RTC_SUBTYPE_SMEAR_UTC_SLS 2 >> > > Thanks. I really do think that from the guest point of view there's really no distinction between "maybe smeared" and "undefined smearing", and have a preference for using the latter form, which is the key difference there? > > Again though, not a hill for me to die on. I have no issue with staying with "undefined smearing", so would you agree to something like VIRTIO_RTC_CLOCK_SMEAR_UNDEFINED_UTC == 4 (or another name if you prefer)?