mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-01-04 23:24:56 +00:00
hv: add rtcdev emulate vrtc
Current code would read physical RTC register and return it directly to guest. This patch would read a base physical RTC time and a base physical TSC time at initialize stage. Then when guest tries to read vRTC time, ACRN HV would read the real TSC time and use the TSC offset to calculate the real RTC time. This patch only support BIN data mode and 24 hour mode. BCD data mode and 12 hour mode will add in other patch. The accuracy of clock provided by this patch is limited by TSC, and will be improved in a following patch also. Tracked-On: #7440 Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com> Reviewed-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
committed by
acrnsi-robot
parent
f8de4178e4
commit
23177d0a1d
@@ -21,6 +21,7 @@
|
||||
#include <vpic.h>
|
||||
#include <asm/guest/vmx_io.h>
|
||||
#include <vuart.h>
|
||||
#include <vrtc.h>
|
||||
#include <asm/guest/trusty.h>
|
||||
#include <asm/guest/vcpuid.h>
|
||||
#include <vpci.h>
|
||||
@@ -169,7 +170,7 @@ struct acrn_vm {
|
||||
uint32_t vcpuid_entry_nr, vcpuid_level, vcpuid_xlevel;
|
||||
struct vcpuid_entry vcpuid_entries[MAX_VM_VCPUID_ENTRIES];
|
||||
struct acrn_vpci vpci;
|
||||
uint8_t vrtc_offset;
|
||||
struct acrn_vrtc vrtc;
|
||||
|
||||
uint64_t intr_inject_delay_delta; /* delay of intr injection */
|
||||
} __aligned(PAGE_SIZE);
|
||||
|
||||
Reference in New Issue
Block a user