mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-02-21 06:33:48 +00:00
Some DM's virtual timer devices use CLOCK_REALTIME as either clock counter source or period timer source. Including: - virtual RTC - virtual PIT - virtual HPET According to Linux Manual, CLOCK_REALTIME is the 'wall clock' which is affected by discontinuous jumps in the system time. The issue is that service VM system time could be changed, either by root user manually or by NTP automatically calibration. When that happens, DM's virtual timer devices which relays on CLOCK_REALTIME will experience discontinuous time jump, and become inaccurate. It would affect both time stamp read value and period timer. Especially when service VM system time is moved backwards, WaaG's system software will lost response and be stalled for quite a long time. To solve this issue, we need to switch CLOCK_REALTIME to CLOCK_MONOTONIC. As it represents: 'A nonsettable monotonically increasing clock that measures time from some unspecified point in the past that does not change after system startup' Tracked-On: #8547 Signed-off-by: Wu Zhou <wu.zhou@intel.com> Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
ACRN Device Model ################# Introduction ============ The ACRN Device Model provides **device sharing** capabilities between the Service VM and post-launched User VMs. It is a component that is used in conjunction with the `ACRN Hypervisor`_ and is installed within the Service VM. .. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor