Message ID | 1457072152-16128-23-git-send-email-zhaoshenglong@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 04.03.16 at 07:15, <zhaoshenglong@huawei.com> wrote: > From: Naresh Bhat <naresh.bhat@linaro.org> > > Add ACPI support on arm64 xen hypervisor. Enable EFI support on ARM. > > Cc: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org> > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> > --- > v5: make ACPI selectable option > --- > xen/arch/arm/Kconfig | 9 +++++++++ > xen/common/efi/runtime.c | 12 +++++++----- For the change to this file: Acked-by: Jan Beulich <jbeulich@suse.com> However ... > +++ b/xen/arch/arm/Kconfig > @@ -33,6 +33,15 @@ menu "Architecture Features" > > source "arch/Kconfig" > > +config ACPI > + bool "ACPI (Advanced Configuration and Power Interface) Support" > + depends on ARM_64 > + default y ... I recall Stefano having asked for this, but - are both of you sure? Have you seen the earlier discussion about the introduction of new user selectable config options? I.e. shouldn't the prompt at least become conditional on EXPERT = "y", just like done elsewhere? Jan
On Fri, 4 Mar 2016, Jan Beulich wrote: > >>> On 04.03.16 at 07:15, <zhaoshenglong@huawei.com> wrote: > > From: Naresh Bhat <naresh.bhat@linaro.org> > > > > Add ACPI support on arm64 xen hypervisor. Enable EFI support on ARM. > > > > Cc: Jan Beulich <jbeulich@suse.com> > > Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org> > > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> > > --- > > v5: make ACPI selectable option > > --- > > xen/arch/arm/Kconfig | 9 +++++++++ > > xen/common/efi/runtime.c | 12 +++++++----- > > For the change to this file: > Acked-by: Jan Beulich <jbeulich@suse.com> > However ... > > > +++ b/xen/arch/arm/Kconfig > > @@ -33,6 +33,15 @@ menu "Architecture Features" > > > > source "arch/Kconfig" > > > > +config ACPI > > + bool "ACPI (Advanced Configuration and Power Interface) Support" > > + depends on ARM_64 > > + default y > > ... I recall Stefano having asked for this, but - are both of you sure? > Have you seen the earlier discussion about the introduction of new > user selectable config options? I.e. shouldn't the prompt at least > become conditional on EXPERT = "y", just like done elsewhere? ACPI is big chunk of code which people might want to reasonably disable when booting on anything but servers. Think of all the small dev boards (Cubieboard), or embedded use cases (set top boxes, etc): none of these make sense with ACPI. On the other hand for arm64 distros is a must have. This is why I think it is a good idea to have it selectable. I am fine with it being conditional on EXPERT = "y", though.
On Fri, 4 Mar 2016, Shannon Zhao wrote: > From: Naresh Bhat <naresh.bhat@linaro.org> > > Add ACPI support on arm64 xen hypervisor. Enable EFI support on ARM. > > Cc: Jan Beulich <jbeulich@suse.com> > Signed-off-by: Naresh Bhat <naresh.bhat@linaro.org> > Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> > v5: make ACPI selectable option > --- > xen/arch/arm/Kconfig | 9 +++++++++ > xen/common/efi/runtime.c | 12 +++++++----- > xen/include/asm-arm/config.h | 4 ++++ > 3 files changed, 20 insertions(+), 5 deletions(-) > > diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig > index cb99df5..25cec31 100644 > --- a/xen/arch/arm/Kconfig > +++ b/xen/arch/arm/Kconfig > @@ -33,6 +33,15 @@ menu "Architecture Features" > > source "arch/Kconfig" > > +config ACPI > + bool "ACPI (Advanced Configuration and Power Interface) Support" > + depends on ARM_64 > + default y > + ---help--- > + > + Advanced Configuration and Power Interface (ACPI) support for Xen is > + an alternative to device tree on ARM64. > + > # Select HAS_GICV3 if GICv3 is supported > config HAS_GICV3 > bool > diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c > index ae87557..c256814 100644 > --- a/xen/common/efi/runtime.c > +++ b/xen/common/efi/runtime.c > @@ -10,14 +10,16 @@ DEFINE_XEN_GUEST_HANDLE(CHAR16); > > #ifndef COMPAT > > -#ifdef CONFIG_ARM /* Disabled until runtime services implemented */ > -const bool_t efi_enabled = 0; > -#else > +/* > + * Currently runtime services are not implemented on ARM. To boot Xen with ACPI, > + * set efi_enabled to 1, so that Xen can get the ACPI root pointer from EFI. > + */ > +const bool_t efi_enabled = 1; > + > +#ifndef CONFIG_ARM > # include <asm/i387.h> > # include <asm/xstate.h> > # include <public/platform.h> > - > -const bool_t efi_enabled = 1; > #endif > > unsigned int __read_mostly efi_num_ct; > diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h > index 7ceb5c5..5fc9aa2 100644 > --- a/xen/include/asm-arm/config.h > +++ b/xen/include/asm-arm/config.h > @@ -31,6 +31,10 @@ > > #define CONFIG_ARM_L1_CACHE_SHIFT 7 /* XXX */ > > +#ifdef CONFIG_ACPI > +#define CONFIG_ACPI_BOOT 1 > +#endif > + > #define CONFIG_SMP 1 > > #define CONFIG_IRQ_HAS_MULTIPLE_ACTION 1 > -- > 2.0.4 > >
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig index cb99df5..25cec31 100644 --- a/xen/arch/arm/Kconfig +++ b/xen/arch/arm/Kconfig @@ -33,6 +33,15 @@ menu "Architecture Features" source "arch/Kconfig" +config ACPI + bool "ACPI (Advanced Configuration and Power Interface) Support" + depends on ARM_64 + default y + ---help--- + + Advanced Configuration and Power Interface (ACPI) support for Xen is + an alternative to device tree on ARM64. + # Select HAS_GICV3 if GICv3 is supported config HAS_GICV3 bool diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c index ae87557..c256814 100644 --- a/xen/common/efi/runtime.c +++ b/xen/common/efi/runtime.c @@ -10,14 +10,16 @@ DEFINE_XEN_GUEST_HANDLE(CHAR16); #ifndef COMPAT -#ifdef CONFIG_ARM /* Disabled until runtime services implemented */ -const bool_t efi_enabled = 0; -#else +/* + * Currently runtime services are not implemented on ARM. To boot Xen with ACPI, + * set efi_enabled to 1, so that Xen can get the ACPI root pointer from EFI. + */ +const bool_t efi_enabled = 1; + +#ifndef CONFIG_ARM # include <asm/i387.h> # include <asm/xstate.h> # include <public/platform.h> - -const bool_t efi_enabled = 1; #endif unsigned int __read_mostly efi_num_ct; diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h index 7ceb5c5..5fc9aa2 100644 --- a/xen/include/asm-arm/config.h +++ b/xen/include/asm-arm/config.h @@ -31,6 +31,10 @@ #define CONFIG_ARM_L1_CACHE_SHIFT 7 /* XXX */ +#ifdef CONFIG_ACPI +#define CONFIG_ACPI_BOOT 1 +#endif + #define CONFIG_SMP 1 #define CONFIG_IRQ_HAS_MULTIPLE_ACTION 1