[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YVxhbhmNd7tahLV7@kroah.com>
Date: Tue, 5 Oct 2021 16:30:06 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: "Luis R. Rodriguez" <mcgrof@...nel.org>
Cc: bp@...e.de, akpm@...ux-foundation.org, josh@...htriplett.org,
rishabhb@...eaurora.org, kubakici@...pl, maco@...roid.com,
david.brown@...aro.org, bjorn.andersson@...aro.org,
linux-wireless@...r.kernel.org, keescook@...omium.org,
shuah@...nel.org, mfuzzey@...keon.com, zohar@...ux.vnet.ibm.com,
dhowells@...hat.com, pali.rohar@...il.com, tiwai@...e.de,
arend.vanspriel@...adcom.com, zajec5@...il.com, nbroeking@...com,
broonie@...nel.org, dmitry.torokhov@...il.com, dwmw2@...radead.org,
torvalds@...ux-foundation.org, Abhay_Salunke@...l.com,
jewalt@...innovations.com, cantabile.desu@...il.com, ast@...com,
andresx7@...il.com, dan.rue@...aro.org, brendanhiggins@...gle.com,
yzaikin@...gle.com, sfr@...b.auug.org.au, rdunlap@...radead.org,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH 04/14] firmware_loader: add built-in firmware kconfig
entry
On Fri, Sep 17, 2021 at 11:22:16AM -0700, Luis R. Rodriguez wrote:
> From: Luis Chamberlain <mcgrof@...nel.org>
>
> The built-in firmware is always supported when a user enables
> FW_LOADER=y today, that is, it is built-in to the kernel. When the
> firmware loader is built as a module, support for built-in firmware
> is skipped. This requirement is not really clear to users or even
> developers.
>
> Also, by default the EXTRA_FIRMWARE is always set to an empty string
> and so by default we really have nothing built-in to that kernel's
> sections for built-in firmware, so today a all FW_LOADER=y kernels
> spins their wheels on an empty set of built-in firmware for each
> firmware request with no true need for it.
>
> Add a new kconfig entry to represent built-in firmware support more
> clearly. This let's knock 3 birds with one stone:
>
> o Clarifies that support for built-in firmware requires the
> firmware loader to be built-in to the kernel
>
> o By default we now always skip built-in firmware even if a FW_LOADER=y
>
> o This also lets us make it clear that the EXTRA_FIRMWARE_DIR
> kconfig entry is only used for built-in firmware
>
> Reviewed-by: Borislav Petkov <bp@...e.de>
> Signed-off-by: Luis Chamberlain <mcgrof@...nel.org>
> ---
> .../driver-api/firmware/built-in-fw.rst | 2 ++
> Documentation/x86/microcode.rst | 5 ++--
> drivers/base/firmware_loader/Kconfig | 25 +++++++++++++------
> drivers/base/firmware_loader/Makefile | 3 +--
> drivers/base/firmware_loader/main.c | 4 +--
> 5 files changed, 26 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/driver-api/firmware/built-in-fw.rst b/Documentation/driver-api/firmware/built-in-fw.rst
> index bc1c961bace1..9dd2b1df44f0 100644
> --- a/Documentation/driver-api/firmware/built-in-fw.rst
> +++ b/Documentation/driver-api/firmware/built-in-fw.rst
> @@ -8,6 +8,7 @@ the filesystem. Instead, firmware can be looked for inside the kernel
> directly. You can enable built-in firmware using the kernel configuration
> options:
>
> + * CONFIG_FW_LOADER_BUILTIN
> * CONFIG_EXTRA_FIRMWARE
> * CONFIG_EXTRA_FIRMWARE_DIR
>
> @@ -17,6 +18,7 @@ into the kernel with CONFIG_EXTRA_FIRMWARE:
> * Speed
> * Firmware is needed for accessing the boot device, and the user doesn't
> want to stuff the firmware into the boot initramfs.
> +* Testing built-in firmware
>
> Even if you have these needs there are a few reasons why you may not be
> able to make use of built-in firmware:
> diff --git a/Documentation/x86/microcode.rst b/Documentation/x86/microcode.rst
> index a320d37982ed..d199f0b98869 100644
> --- a/Documentation/x86/microcode.rst
> +++ b/Documentation/x86/microcode.rst
> @@ -114,11 +114,12 @@ Builtin microcode
> =================
>
> The loader supports also loading of a builtin microcode supplied through
> -the regular builtin firmware method CONFIG_EXTRA_FIRMWARE. Only 64-bit is
> -currently supported.
> +the regular builtin firmware method using CONFIG_FW_LOADER_BUILTIN and
> +CONFIG_EXTRA_FIRMWARE. Only 64-bit is currently supported.
>
> Here's an example::
>
> + CONFIG_FW_LOADER_BUILTIN=y
> CONFIG_EXTRA_FIRMWARE="intel-ucode/06-3a-09 amd-ucode/microcode_amd_fam15h.bin"
> CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
>
> diff --git a/drivers/base/firmware_loader/Kconfig b/drivers/base/firmware_loader/Kconfig
> index 5b24f3959255..de4fcd9d41f3 100644
> --- a/drivers/base/firmware_loader/Kconfig
> +++ b/drivers/base/firmware_loader/Kconfig
> @@ -29,8 +29,10 @@ if FW_LOADER
> config FW_LOADER_PAGED_BUF
> bool
>
> -config EXTRA_FIRMWARE
> - string "Build named firmware blobs into the kernel binary"
> +config FW_LOADER_BUILTIN
> + bool "Enable support for built-in firmware"
> + default n
n is always the default, no need to list it again.
> + depends on FW_LOADER=y
I don't see what this gets us to add another config option. Are you
making things easier later on?
Anyway, I took the first 3 patches here, please fix this up and rebase
and resend.
thanks,
greg k-h
Powered by blists - more mailing lists