[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/arm: Remove EXPERT dependancy
Hi Stefano, On 23/10/2020 17:57, Stefano Stabellini wrote: On Fri, 23 Oct 2020, Julien Grall wrote:Hi Stefano, On 22/10/2020 22:17, Stefano Stabellini wrote:On Thu, 22 Oct 2020, Julien Grall wrote:On 22/10/2020 02:43, Elliott Mitchell wrote:Linux requires UEFI support to be enabled on ARM64 devices. While many ARM64 devices lack ACPI, the writing seems to be on the wall of UEFI/ACPI potentially taking over. Some common devices may need ACPI table support. Presently I think it is worth removing the dependancy on CONFIG_EXPERT.The idea behind EXPERT is to gate any feature that is not considered to be stable/complete enough to be used in production.Yes, and from that point of view I don't think we want to remove EXPERT from ACPI yet. However, the idea of hiding things behind EXPERT works very well for new esoteric features, something like memory introspection or memory overcommit.Memaccess is not very new ;).It does not work well for things that are actually required to boot on the platform.I am not sure where is the problem. It is easy to select EXPERT from the menuconfig. It also hints the user that the feature may not fully work.Typically ACPI systems don't come with device tree at all (RPi4 being an exception), so users don't really have much of a choice in the matter.And they typically have IOMMUs.From that point of view, it would be better to remove EXPERT from ACPI, maybe even build ACPI by default, *but* to add a warning at boot saying something like: "ACPI support is experimental. Boot using Device Tree if you can." That would better convey the risks of using ACPI, while at the same time making it a bit easier for users to boot on their ACPI-only platforms.Right, I agree that this make easier for users to boot Xen on ACPI-only platform. However, based on above, it is easy enough for a developper to rebuild Xen with ACPI and EXPERT enabled. So what sort of users are you targeting?Somebody trying Xen for the first time, they might know how to build it but they might not know that ACPI is not available by default, and they might not know that they need to enable EXPERT in order to get the ACPI option in the menu. It is easy to do once you know it is there, otherwise one might not know where to look in the menu. Right, EXPERT can now be enabled using Kconfig. So it is not very different from an option Foo has been hidden because the dependency Bar has not been selected. It should be easy enough (if it is not we should fix it) to figure out the dependency when searching the option via menuconfig. I am sort of okay to remove EXPERT.OK. This would help (even without building it by default) because as you go and look at the menu the first time, you'll find ACPI among the options right away. To be honest, this step is probably the easiest in the full process to get Xen build and booted on Arm. I briefly looked at Elliot's v2, and I can't keep thinking that we are trying to re-invent EXPERT for ACPI because we think the feature is *more* important than any other feature gated by EXPERT. In fact, all the features behind EXPERT are important. But they have been gated by EXPERT because they are not mature enough. We already moved EXPERT from a command line option to a menuconfig option. So it should be easy enough to enable it now. If it still not the case, then we should improve it. But I don't think ACPI is mature enough to deserve a different treatment. It would be more useful to get to the stage where ACPI can work without any crash/issue first. From my understanding, the goal of EXPERT was to gate such features. With your suggestion, it is not clear to me what's the difference between "experimental" and option gated by "EXPERT".But I still think building ACPI by default is still wrong because our default .config is meant to be (security) supported. I don't think ACPI can earn this qualification today.Certainly we don't want to imply ACPI is security supported. I was looking at SUPPORT.md and it is only says: """ EXPERT and DEBUG Kconfig options are not security supported. Other Kconfig options are supported, if the related features are marked as supported in this document. """ So technically we could enable ACPI in the build by default as ACPI for ARM is marked as experimental. However, I can see that it is not a great idea to enable by default an unsupported option in the kconfig, so from that point of view it might be best to leave ACPI disabled by default. Probably the best compromise at this time. Do you mind clarifying? Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |