Re: [PATCH v6 04/16] x86/rtc: replace paravirt rtc check with platform legacy quirk

From: Juergen Gross
Date: Thu Apr 14 2016 - 00:28:43 EST


On 14/04/16 02:04, Luis R. Rodriguez wrote:
> We have 4 types of x86 platforms that disable RTC:
>
> * Intel MID
> * Lguest - uses paravirt
> * Xen dom-U - uses paravirt
> * x86 on legacy systems annotated with an ACPI legacy flag
>
> We can consolidate all of these into a platform specific legacy
> quirk set early in boot through i386_start_kernel() and through
> x86_64_start_reservations(). This deals with the RTC quirks which
> we can rely on through the hardware subarch, the ACPI check can
> be dealt with separately.
>
> For Xen things are bit more complex given that the @X86_SUBARCH_XEN
> x86_hardware_subarch is shared on for Xen which uses the PV path for
> both domU and dom0. Since the semantics for differentiating between
> the two are Xen specific we provide a platform helper to help override
> default legacy features -- x86_platform.set_legacy_features(). Use
> of this helper is highly discouraged, its only purpose should be
> to account for the lack of semantics available within your given
> x86_hardware_subarch.
>
> As per 0-day, this bumps the vmlinux size using i386-tinyconfig as
> follows:
>
> TOTAL TEXT init.text x86_early_init_platform_quirks()
> +70 +62 +62 +43
>
> Only 8 bytes overhead total, as the main increase in size is
> all removed via __init.
>
> v4: split the subarch check from the ACPI check, clarify
> on the ACPI change commit log why ordering works
> v5: add x86_platform.set_legacy_features() to account for dom0,
> add also size impact on vmlinux as per 0-day report
> v6: Use __init on xen_dom0_set_legacy_features()
>
> Suggested-by: Ingo Molnar <mingo@xxxxxxxxxx>
> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>

Reviewed-by: Juergen Gross <jgross@xxxxxxxx>


Juergen