Messages in this thread Patch in this message | | | Date | Tue, 23 Feb 2016 19:10:51 +0100 | From | "Luis R. Rodriguez" <> | Subject | Re: [Xen-devel] [PATCH v3 10/11] x86/rtc: replace paravirt rtc check with x86 specific solution |
| |
On Tue, Feb 23, 2016 at 11:57:16AM +0000, David Vrabel wrote: > On 23/02/16 07:24, Luis R. Rodriguez wrote: > > --- a/arch/x86/xen/enlighten.c > > +++ b/arch/x86/xen/enlighten.c > [...] > > @@ -1526,8 +1525,6 @@ asmlinkage __visible void __init xen_start_kernel(void) > > > > /* Install Xen paravirt ops */ > > pv_info = xen_info; > > - if (xen_initial_domain()) > > - pv_info.features |= PV_SUPPORTED_RTC; > > pv_init_ops = xen_init_ops; > > if (!xen_pvh_domain()) { > > pv_cpu_ops = xen_cpu_ops; > > diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c > > index a0a4e554c6f1..fbfcb01015f0 100644 > > --- a/arch/x86/xen/time.c > > +++ b/arch/x86/xen/time.c > > @@ -446,8 +446,10 @@ void __init xen_init_time_ops(void) > > x86_platform.calibrate_tsc = xen_tsc_khz; > > x86_platform.get_wallclock = xen_get_wallclock; > > /* Dom0 uses the native method to set the hardware RTC. */ > > - if (!xen_initial_domain()) > > + if (!xen_initial_domain()) { > > + x86_init.platform_flags |= X86_PLATFORM_NO_RTC; > > x86_platform.set_wallclock = xen_set_wallclock; > > + } > > } > > Is this an early enough point to set this flag?
I'm glad you asked, I should have explained how I confirmed this on the commit log as well. The answer is yes, even though I haven't tested it, but logically I've confirmed this given that rtc is initialized via device_initcall(add_rtc_cmos); -- these get called late in boot, way after setup_arch() during rest_init().
Luis
| |