Re: [RFC PATCH 0/2] efi: add contents of LinuxExtraArgs EFI var to command line

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 12 Jul 2018, at 19:01, Will Deacon <will.deacon@xxxxxxx> wrote:
> 
> Hi Ard,
> 
>> On Wed, Jul 04, 2018 at 05:49:17PM +0200, Ard Biesheuvel wrote:
>> As noted by Ian, many DMI based quirks for x86 ACPI machines disable
>> features that can also be disabled via the kernel command line. Similarly,
>> a quirk is under discussion for a arm64 ACPI machine [0] that explodes
>> when enabling support for hardware error reporting via the ACPI HEST table.
>> 
>> When support for DMI tables was introduced to arm64 and ARM, the agreement
>> was that they are informational only, i.e., provided to userland to describe
>> the platform, not for keying off of to enable quirks in the kernel.
>> 
>> There are a couple of reasons for this:
>> - Unlike the x86 architecture, where virtually all platforms are PC variants,
>>  and the presence of ACPI and DMI tables may be assumed, the arm64 architecture
>>  is much more heterogeneous, and none of UEFI, ACPI or DMI or actually mandated
>>  or especially common across arm64 platforms; using DMI only makes sense for
>>  working around a limited subset of platform issues that have to do with
>>  firmware running on platforms that bother to implement it in the first place.
>> - DMI is not initialized as early as it is on x86, and doing so is not trivial.
>>  This means that even on ACPI/DMI machines, some issues may require quirks that
>>  are enabled in a different way, or we need to refactor the DMI support so that
>>  we can enable it as early as x86 does.
>> - Using DMI tables fundamentally means quirking *after* the fact, which makes it
>>  a moving target. Some quirks may require the DMI match table to be updated if
>>  someone happens to change a string in the DMI tables when shipping a mostly
>>  identical platform.
>> 
>> So instead, let's provide these platforms with the facilities required to enable
>> such quirks at the platform level. Especially for UEFI systems, if upgrading
>> firmware is a reasonable prerequisite for being able to upgrade to the latest
>> kernel, having to run a script that sets a UEFI variable (either via the Linux
>> command line of from the UEFI shell) should not be an unreasonable requirement
>> either, and so we can solve part of this issue by configuring extra command line
>> arguments persistenly from the firmware environment. This solves all the above
>> issues in an unintrusive manner, given that the kernel command line is already
>> made available extremely early in the boot, and the fact that it already permits
>> a wide range of configuration options and overrides to be set, including the
>> 'hest_disable=1' option that works around the issue addressed by [0].
> 
> I'm torn on this one. Whilst I strongly agree that keying off DMI tables
> to detect firmware quirks is a bad idea on arm64, silently extending the
> kernel command-line also has its downsides. The command-line provides ways
> to override kernel defaults, so if a user has forced a feature on/off,
> then I think this should take precedence over quirks and we should taint
> instead, rather than silently override the option.
> 

Isn’t that just a matter of putting the contents of LinuxExtraArgs first on the kernel command line?

> I'd be interested in other opinions on this.

+1

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux