All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: gregkh@linuxfoundation.org
Cc: bp@suse.de, akpm@linux-foundation.org, josh@joshtriplett.org,
	rishabhb@codeaurora.org, kubakici@wp.pl, maco@android.com,
	david.brown@linaro.org, bjorn.andersson@linaro.org,
	linux-wireless@vger.kernel.org, keescook@chromium.org,
	shuah@kernel.org, mfuzzey@parkeon.com, zohar@linux.vnet.ibm.com,
	dhowells@redhat.com, pali.rohar@gmail.com, tiwai@suse.de,
	arend.vanspriel@broadcom.com, zajec5@gmail.com, nbroeking@me.com,
	broonie@kernel.org, dmitry.torokhov@gmail.com,
	dwmw2@infradead.org, torvalds@linux-foundation.org,
	Abhay_Salunke@dell.com, jewalt@lgsinnovations.com,
	cantabile.desu@gmail.com, ast@fb.com, andresx7@gmail.com,
	dan.rue@linaro.org, brendanhiggins@google.com,
	yzaikin@google.com, sfr@canb.auug.org.au, rdunlap@infradead.org,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 00/14] firmware_loader: built-in API and make x86 use it
Date: Fri, 17 Sep 2021 11:22:12 -0700	[thread overview]
Message-ID: <20210917182226.3532898-1-mcgrof@kernel.org> (raw)

From: Luis Chamberlain <mcgrof@kernel.org>

A while ago I noted to Boris how we could likely do away the odd
direct use of the firmware sections on x86 and instead have it use
the API directly. This indeed was possible but it required quite
a bit of spring cleaning as well and on its way I spotted a small
fix.

This goes with a new series of tests against built-in firmware as well.
Boris has confirmed this also does work for the x86 microcode loader.
0day is happy with the build results. You can find these changes on my
git tree branch 20210916-firmware-builtin-v2 [0].

[0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20210916-firmware-builtin-v2

Borislav Petkov (1):
  x86/microcode: Use the firmware_loader built-in API

Luis Chamberlain (13):
  firmware_loader: fix pre-allocated buf built-in firmware use
  firmware_loader: split built-in firmware call
  firmware_loader: add a sanity check for firmware_request_builtin()
  firmware_loader: add built-in firmware kconfig entry
  firmware_loader: formalize built-in firmware API
  firmware_loader: remove old DECLARE_BUILTIN_FIRMWARE()
  firmware_loader: move struct builtin_fw to the only place used
  vmlinux.lds.h: wrap built-in firmware support under its kconfig symbol
  x86/build: Tuck away built-in firmware under its kconfig symbol
  firmware_loader: rename EXTRA_FIRMWARE and EXTRA_FIRMWARE_DIR
  firmware_loader: move builtin build helper to shared library
  test_firmware: move a few test knobs out to its library
  test_firmware: add support for testing built-in firmware

 .../driver-api/firmware/built-in-fw.rst       |   8 +-
 Documentation/x86/microcode.rst               |   9 +-
 arch/x86/Kconfig                              |   4 +-
 arch/x86/include/asm/microcode.h              |   3 -
 arch/x86/kernel/cpu/microcode/amd.c           |  14 ++-
 arch/x86/kernel/cpu/microcode/core.c          |  17 ---
 arch/x86/kernel/cpu/microcode/intel.c         |   9 +-
 arch/x86/tools/relocs.c                       |   2 +
 drivers/base/firmware_loader/Kconfig          |  39 ++++---
 drivers/base/firmware_loader/Makefile         |   4 +-
 drivers/base/firmware_loader/builtin/Makefile |  43 ++------
 .../base/firmware_loader/builtin/lib.Makefile |  32 ++++++
 drivers/base/firmware_loader/builtin/main.c   | 101 ++++++++++++++++++
 drivers/base/firmware_loader/firmware.h       |  17 +++
 drivers/base/firmware_loader/main.c           |  65 +----------
 .../firmware_loader/test-builtin/.gitignore   |   3 +
 .../firmware_loader/test-builtin/Makefile     |  18 ++++
 drivers/staging/media/av7110/Kconfig          |   4 +-
 include/asm-generic/vmlinux.lds.h             |  20 ++--
 include/linux/firmware.h                      |  26 ++---
 lib/Kconfig.debug                             |  34 ++++++
 lib/test_firmware.c                           |  52 ++++++++-
 .../testing/selftests/firmware/fw_builtin.sh  |  69 ++++++++++++
 .../selftests/firmware/fw_filesystem.sh       |  16 ---
 tools/testing/selftests/firmware/fw_lib.sh    |  24 +++++
 .../selftests/firmware/fw_run_tests.sh        |   2 +
 26 files changed, 447 insertions(+), 188 deletions(-)
 create mode 100644 drivers/base/firmware_loader/builtin/lib.Makefile
 create mode 100644 drivers/base/firmware_loader/builtin/main.c
 create mode 100644 drivers/base/firmware_loader/test-builtin/.gitignore
 create mode 100644 drivers/base/firmware_loader/test-builtin/Makefile
 create mode 100755 tools/testing/selftests/firmware/fw_builtin.sh

-- 
2.30.2


             reply	other threads:[~2021-09-17 18:22 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-17 18:22 Luis R. Rodriguez [this message]
2021-09-17 18:22 ` [PATCH 01/14] firmware_loader: fix pre-allocated buf built-in firmware use Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 02/14] firmware_loader: split built-in firmware call Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 03/14] firmware_loader: add a sanity check for firmware_request_builtin() Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 04/14] firmware_loader: add built-in firmware kconfig entry Luis R. Rodriguez
2021-10-05 14:30   ` Greg KH
2021-10-11 17:35     ` Luis Chamberlain
2021-10-11 17:46       ` Greg KH
2021-10-11 22:30         ` Luis Chamberlain
2021-10-18 21:00           ` Luis Chamberlain
2021-10-19  6:16             ` Greg KH
2021-10-19 15:52               ` Luis Chamberlain
2021-09-17 18:22 ` [PATCH 05/14] firmware_loader: formalize built-in firmware API Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 06/14] firmware_loader: remove old DECLARE_BUILTIN_FIRMWARE() Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 07/14] x86/microcode: Use the firmware_loader built-in API Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 08/14] firmware_loader: move struct builtin_fw to the only place used Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 09/14] vmlinux.lds.h: wrap built-in firmware support under its kconfig symbol Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 10/14] x86/build: Tuck away built-in firmware " Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 11/14] firmware_loader: rename EXTRA_FIRMWARE and EXTRA_FIRMWARE_DIR Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 12/14] firmware_loader: move builtin build helper to shared library Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 13/14] test_firmware: move a few test knobs out to its library Luis R. Rodriguez
2021-09-17 18:22 ` [PATCH 14/14] test_firmware: add support for testing built-in firmware Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210917182226.3532898-1-mcgrof@kernel.org \
    --to=mcgrof@kernel.org \
    --cc=Abhay_Salunke@dell.com \
    --cc=akpm@linux-foundation.org \
    --cc=andresx7@gmail.com \
    --cc=arend.vanspriel@broadcom.com \
    --cc=ast@fb.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=bp@suse.de \
    --cc=brendanhiggins@google.com \
    --cc=broonie@kernel.org \
    --cc=cantabile.desu@gmail.com \
    --cc=dan.rue@linaro.org \
    --cc=david.brown@linaro.org \
    --cc=dhowells@redhat.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jewalt@lgsinnovations.com \
    --cc=josh@joshtriplett.org \
    --cc=keescook@chromium.org \
    --cc=kubakici@wp.pl \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=maco@android.com \
    --cc=mfuzzey@parkeon.com \
    --cc=nbroeking@me.com \
    --cc=pali.rohar@gmail.com \
    --cc=rdunlap@infradead.org \
    --cc=rishabhb@codeaurora.org \
    --cc=sfr@canb.auug.org.au \
    --cc=shuah@kernel.org \
    --cc=tiwai@suse.de \
    --cc=torvalds@linux-foundation.org \
    --cc=yzaikin@google.com \
    --cc=zajec5@gmail.com \
    --cc=zohar@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.