Sorry for my slow response since vacation in China now. :-)
I had expected arch_set_info_guest() to be called for every vcpu in the
HVM guest on restore, because boot_vcpu() is called from hvm_load_cpu_ctxt().
arch_set_info_guest is called when vm is booting, but it is not called
on HVM guest restore.
I will check boot_vcpu() and hvm_load_cpu_ctxt() further.
Yes, do_settime() updates the master copy of wc_sec and wc_nsec from its
inputs, and then copies them to all domains' private copies. So the
question is:
- is the _master_ copy of wc_sec always zero; or
From my recent logs, wc_sec is not zero, but it always keeps as certain
unchanged value. In do_settime(...),
Input parameters secs, nsecs and system_time_base change every time when
calling this function. But wc_secs
keep unchanged although it is calculated from those 3 parameters by:
(secs * 1000000000ULL) + (u64)nsecs - system_time_base;
Anything wrong here?
- is the master copy right and the HVM domain's copy wrong; or
Is update_domain_wallclock_time doing HVM domain's copy? From my log,
wc_secs of HVM domain's copy is
same as that of master copy.
- is the HVM domain's copy right as seen from Xen but
wrong as seen from the tools inside the guest?
wc_secs value from tools inside the guest is same as HVM domain's copy.
(i.e. is wallclock broken, is propagation broken, or are the tools and
Xen using different layouts for the shared_info page?)
Maybe something wrong, it seems the log printed is not identical with
what you expected.
Thanks
Annie.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|