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.