* Re: [PATCH v13 RESEND 1/5] platform/x86: Sort firmware attributes class includes [not found] ` <b967ec0f8adb69417a3d81ee5546e4a238e29e11.1787584107.git.sean@starlabs.systems> @ 2026-08-24 15:20 ` sashiko-bot 2026-08-26 6:07 ` Tzung-Bi Shih 1 sibling, 0 replies; 4+ messages in thread From: sashiko-bot @ 2026-08-24 15:20 UTC (permalink / raw) To: Sean Rhodes; +Cc: dri-devel Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: Pre-existing issues: - [High] Out-of-bounds array read in get_instance_id macro due to an off-by-one error. - [High] Out-of-bounds heap read and write in attribute_property_store macro via memchr. -- --- Patch [1]: [PATCH v13 RESEND 1/5] platform/x86: Sort firmware attributes class includes --- commit dff06344a1a1c35eb28b9e59670eeac00408066c Author: Sean Rhodes <sean@starlabs.systems> platform/x86: Sort firmware attributes class includes Move firmware_attributes_class.h into the main include block and sort the affected includes. This lets the header move replace each include in place. > diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c > index ab46a023cc34d..4ff9003c6589b 100644 > --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c > +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c > @@ -8,18 +8,19 @@ > #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt > > #include <linux/align.h> > -#include <linux/fs.h> > #include <linux/dmi.h> > -#include <linux/module.h> > +#include "../../firmware_attributes_class.h" > +#include <linux/fs.h> > #include <linux/kernel.h> > +#include <linux/module.h> > +#include <linux/nls.h> > #include <linux/string.h> > #include <linux/sysfs.h> > #include <linux/wmi.h> > + > #include "dell-wmi-sysman.h" [Severity: High] This is a pre-existing issue, but does the get_instance_id() macro in dell-wmi-sysman.h have an off-by-one error in its loop condition? drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.h:get_instance_id() { ... for (i = 0; i <= wmi_priv.type##_instances_count; i++) { if (!(strcmp(kobj->name, wmi_priv.type##_data[i].attribute_name))) ... } If no match is found among the valid entries, the loop will evaluate i = instances_count and access wmi_priv.type##_data[i].attribute_name, which is memory beyond the allocated array. The subsequent strcmp() function will then dereference this out-of-bounds heap memory. [Severity: High] This is a pre-existing issue, but does the attribute_property_store() macro in dell-wmi-sysman.h have an out-of-bounds memory access? drivers/platform/x86/dell/dell-wmi-sysman/dell-wmi-sysman.h:attribute_property_store() { ... buf_cp = kstrdup(buf, GFP_KERNEL); if (!buf_cp) return -ENOMEM; p = memchr(buf_cp, '\n', count); if (p != NULL) *p = '\0'; ... } kstrdup() determines the allocation size using strlen(buf). If a user provides an input buffer with an embedded null byte before the newline character, kstrdup() will allocate a buffer smaller than the user-provided count. Subsequently, memchr() searches for a newline character up to count bytes, reading beyond the dynamically allocated memory. Furthermore, if a newline character happens to be found in the out-of-bounds memory block, the code executes *p = '\0', causing an out-of-bounds heap write. -- Sashiko AI review · https://sashiko.dev/#/patchset/cover.1787584107.git.sean@starlabs.systems?part=1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v13 RESEND 1/5] platform/x86: Sort firmware attributes class includes [not found] ` <b967ec0f8adb69417a3d81ee5546e4a238e29e11.1787584107.git.sean@starlabs.systems> 2026-08-24 15:20 ` [PATCH v13 RESEND 1/5] platform/x86: Sort firmware attributes class includes sashiko-bot @ 2026-08-26 6:07 ` Tzung-Bi Shih 1 sibling, 0 replies; 4+ messages in thread From: Tzung-Bi Shih @ 2026-08-26 6:07 UTC (permalink / raw) To: Sean Rhodes Cc: linux-kernel, Corentin Chary, Luke D. Jones, Denis Benato, Hans de Goede, Ilpo Järvinen, Prasanth Ksr, Jorge Lopez, Mark Pearson, Derek J. Clark, Joshua Grisham, platform-driver-x86, Dell.Client.Kernel, Michael S. Tsirkin, Chen-Yu Tsai, Huacai Chen, Brian Norris, Julius Werner, Thomas Zimmermann, Javier Martinez Canillas, Maarten Lankhorst, Maxime Ripard, David Airlie, Simona Vetter, Florian Fainelli, Danilo Krummrich, Uwe Kleine-König (The Capable Hub), Titouan Ameline de Cadeville, Takashi Sakamoto, Kees Cook, Bjorn Helgaas, chrome-platform, dri-devel, Krzysztof Kozlowski, Bjorn Andersson, Dmitry Baryshkov, Geert Uytterhoeven, Arnd Bergmann, Eric Biggers, Luca Weiss, Michal Simek, Sven Peter On Mon, Aug 24, 2026 at 04:08:58PM +0100, Sean Rhodes wrote: > Move firmware_attributes_class.h into the main include block and sort the > affected includes. This lets the header move replace each include in place. ... > diff --git a/drivers/platform/x86/asus-armoury.c b/drivers/platform/x86/asus-armoury.c > index 495dc1e31d40..f3d8c5a85762 100644 > --- a/drivers/platform/x86/asus-armoury.c > +++ b/drivers/platform/x86/asus-armoury.c > @@ -20,6 +20,7 @@ > #include <linux/dmi.h> > #include <linux/err.h> > #include <linux/errno.h> > +#include "firmware_attributes_class.h" > #include <linux/fs.h> > #include <linux/kernel.h> > #include <linux/kmod.h> I don't really follow why it is beneficial to make the firmware_attributes_class.h replacement in-place. Moving relative includes like "firmware_attributes_class.h" into the <linux/...> block creates an awkward intermediate state. How about drop patch 1 and simply update the includes directly in patch 2? ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <557d363a779c3c03bfe939dc2fefd6a4265fa7ad.1787584107.git.sean@starlabs.systems>]
* Re: [PATCH v13 RESEND 3/5] firmware: Rename google firmware directory to coreboot [not found] ` <557d363a779c3c03bfe939dc2fefd6a4265fa7ad.1787584107.git.sean@starlabs.systems> @ 2026-08-26 6:07 ` Tzung-Bi Shih 0 siblings, 0 replies; 4+ messages in thread From: Tzung-Bi Shih @ 2026-08-26 6:07 UTC (permalink / raw) To: Sean Rhodes Cc: linux-kernel, Corentin Chary, Luke D. Jones, Denis Benato, Hans de Goede, Ilpo Järvinen, Prasanth Ksr, Jorge Lopez, Mark Pearson, Derek J. Clark, Joshua Grisham, platform-driver-x86, Dell.Client.Kernel, Michael S. Tsirkin, Chen-Yu Tsai, Huacai Chen, Brian Norris, Julius Werner, Thomas Zimmermann, Javier Martinez Canillas, Maarten Lankhorst, Maxime Ripard, David Airlie, Simona Vetter, Florian Fainelli, Danilo Krummrich, Uwe Kleine-König (The Capable Hub), Titouan Ameline de Cadeville, Takashi Sakamoto, Kees Cook, Bjorn Helgaas, chrome-platform, dri-devel, Krzysztof Kozlowski, Bjorn Andersson, Dmitry Baryshkov, Geert Uytterhoeven, Arnd Bergmann, Eric Biggers, Luca Weiss, Michal Simek, Sven Peter On Mon, Aug 24, 2026 at 04:09:00PM +0100, Sean Rhodes wrote: > Most drivers in drivers/firmware/google are coreboot table drivers rather > than Google-specific firmware drivers. Rename the directory to coreboot > and update the Kconfig prompt, build path and maintainer entry. ... > drivers/gpu/drm/sysfb/Kconfig | 2 +- The patch has no build-time dependency on other patches in the series. I'm happy to apply it once v7.3-rc1 is out to move this forward. For the drivers/gpu/drm/sysfb/Kconfig change, could the DRM maintainers please provide an Acked-by so this can go through the same tree? Otherwise, it needs to be separated before the patch can be applied. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v13 RESEND 0/5] coreboot CFR firmware attributes
@ 2026-08-17 21:54 Sean Rhodes
2026-08-17 21:54 ` [PATCH v13 RESEND 3/5] firmware: Rename google firmware directory to coreboot Sean Rhodes
0 siblings, 1 reply; 4+ messages in thread
From: Sean Rhodes @ 2026-08-17 21:54 UTC (permalink / raw)
To: chrome-platform
Cc: Corentin Chary, Luke D. Jones, Denis Benato, Hans de Goede,
Ilpo Järvinen, Prasanth Ksr, Jorge Lopez, Mark Pearson,
Derek J. Clark, Joshua Grisham, platform-driver-x86,
Dell.Client.Kernel, Sean Rhodes, Michael S. Tsirkin, Chen-Yu Tsai,
Huacai Chen, Tzung-Bi Shih, Brian Norris, Julius Werner,
Thomas Zimmermann, Javier Martinez Canillas, Maarten Lankhorst,
Maxime Ripard, David Airlie, Simona Vetter, Florian Fainelli,
Takashi Sakamoto, Bjorn Helgaas,
Uwe Kleine-König (The Capable Hub),
Titouan Ameline de Cadeville, Kees Cook, Danilo Krummrich,
dri-devel, Krzysztof Kozlowski, Bjorn Andersson, Dmitry Baryshkov,
Geert Uytterhoeven, Arnd Bergmann, Eric Biggers, Luca Weiss,
Michal Simek, Sven Peter, linux-kernel, oliver
Resending v13 because the previous send path corrupted several inline patch
bodies. No patch content changes.
Move the firmware attributes class helper out of platform/x86, rename the
coreboot-table firmware driver directory from google to coreboot, and add a
coreboot CFR firmware attributes driver.
Changes in v13:
- Rebase on current upstream master.
- Restore the CONFIG_GOOGLE_* to CONFIG_COREBOOT_* renames for generic
coreboot firmware symbols, with the old names kept as transitional symbols.
Julius clarified that the symbol names are part of the directory rename
cleanup and should describe coreboot rather than Google. Update the matching
Kconfig dependencies and Makefile gates to use the new symbols.
- Split the arm64 defconfig symbol update into a separate final patch, as
requested by Krzysztof and Julius, instead of folding it into the rename.
- Move the COREBOOT FIRMWARE DRIVERS MAINTAINERS entry to its alphabetical
position.
- Make the CFR APM_CNT runtime-apply dependency explicit with HAS_IOPORT
instead of using an x86-only runtime branch.
Changes in v12:
- Temporarily kept the existing CONFIG_GOOGLE_* symbols and dropped the
arm64 defconfig update after review feedback against the user-visible
config rename. v13 supersedes this with transitional symbols and a split
defconfig patch.
- Free invalid enum labels before returning an error from CFR enum parsing.
Changes in v11:
- Keep the scoped cleanup in the CFR driver, but use explicit goto cleanup for
the nested sysfs group registration path.
Changes in v10:
- Rename generic firmware Kconfig symbols from CONFIG_GOOGLE_* to
CONFIG_COREBOOT_* and keep the old names as transitional symbols, as
suggested by Julius.
- Update arm64 defconfig and DRM coreboot framebuffer dependencies for the new
symbols. In v13, the arm64 defconfig update is split into its own patch.
- Address the nested cleanup-path review on CFR attribute registration.
Changes in v9:
- Add the missing kstrtox.h include used by kstrtou32().
- Use a single kobject rollback path when setting registration fails.
- Split a few helper locals for readability, including the pending reboot
device lookup and enum-value population.
- Avoid an intermediate void pointer cast while parsing numeric CFR options.
- Check the possible-values buffer length before computing each label length.
Changes in v8:
- Add a preparatory include-order cleanup before moving the firmware attributes
class helper.
- Add direct includes for __packed and container_of(), use scoped cleanup for
EFI names and the driver mutex, and document the efivar lock requirement on
private helpers.
- Replace the duplicated CFR record walkers with one checked iterator that
distinguishes malformed input from the end of a record list.
- Validate enum entries before accessing them and propagate malformed child
records instead of treating them as absent.
- Restore the EFI variable after a failed runtime apply without retrying the
failed firmware operation, and only emit a change event when the new EFI value
remains stored.
- Document the possible-values size limit and why CFR entries without a usable
runtime EFI variable are skipped.
Tested on a Star Labs Byte with firmware 26.07: runtime APM_CNT apply was
verified with power_led, and reboot-needed behavior was verified with
debug_level.
Sean Rhodes (5):
platform/x86: Sort firmware attributes class includes
firmware: Move firmware attributes class helper
firmware: Rename google firmware directory to coreboot
firmware: coreboot: Add CFR firmware attributes driver
arm64: defconfig: Update coreboot firmware symbols
MAINTAINERS | 34 +-
arch/arm64/configs/defconfig | 6 +-
drivers/firmware/Kconfig | 5 +-
drivers/firmware/Makefile | 3 +-
drivers/firmware/{google => coreboot}/Kconfig | 89 +-
drivers/firmware/coreboot/Makefile | 15 +
drivers/firmware/{google => coreboot}/cbmem.c | 0
drivers/firmware/coreboot/coreboot-cfr.c | 1204 +++++++++++++++++
.../{google => coreboot}/coreboot_table.c | 0
.../{google => coreboot}/coreboot_table.h | 0
.../framebuffer-coreboot.c | 0
drivers/firmware/{google => coreboot}/gsmi.c | 0
.../memconsole-coreboot.c | 0
.../memconsole-x86-legacy.c | 0
.../{google => coreboot}/memconsole.c | 0
.../{google => coreboot}/memconsole.h | 6 +-
drivers/firmware/{google => coreboot}/vpd.c | 0
.../{google => coreboot}/vpd_decode.c | 0
.../{google => coreboot}/vpd_decode.h | 0
.../firmware_attributes_class.c | 2 +-
drivers/firmware/google/Makefile | 14 -
drivers/gpu/drm/sysfb/Kconfig | 2 +-
drivers/platform/x86/Kconfig | 3 -
drivers/platform/x86/Makefile | 2 -
drivers/platform/x86/asus-armoury.c | 2 +-
.../x86/dell/dell-wmi-sysman/sysman.c | 9 +-
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c | 9 +-
drivers/platform/x86/lenovo/think-lmi.c | 5 +-
drivers/platform/x86/lenovo/wmi-other.c | 2 +-
drivers/platform/x86/samsung-galaxybook.c | 3 +-
.../linux/firmware_attributes.h | 6 +-
31 files changed, 1348 insertions(+), 73 deletions(-)
rename drivers/firmware/{google => coreboot}/Kconfig (57%)
create mode 100644 drivers/firmware/coreboot/Makefile
rename drivers/firmware/{google => coreboot}/cbmem.c (100%)
create mode 100644 drivers/firmware/coreboot/coreboot-cfr.c
rename drivers/firmware/{google => coreboot}/coreboot_table.c (100%)
rename drivers/firmware/{google => coreboot}/coreboot_table.h (100%)
rename drivers/firmware/{google => coreboot}/framebuffer-coreboot.c (100%)
rename drivers/firmware/{google => coreboot}/gsmi.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole-coreboot.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole-x86-legacy.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole.h (82%)
rename drivers/firmware/{google => coreboot}/vpd.c (100%)
rename drivers/firmware/{google => coreboot}/vpd_decode.c (100%)
rename drivers/firmware/{google => coreboot}/vpd_decode.h (100%)
rename drivers/{platform/x86 => firmware}/firmware_attributes_class.c (94%)
delete mode 100644 drivers/firmware/google/Makefile
rename drivers/platform/x86/firmware_attributes_class.h => include/linux/firmware_attributes.h (60%)
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v13 RESEND 3/5] firmware: Rename google firmware directory to coreboot 2026-08-17 21:54 [PATCH v13 RESEND 0/5] coreboot CFR firmware attributes Sean Rhodes @ 2026-08-17 21:54 ` Sean Rhodes 0 siblings, 0 replies; 4+ messages in thread From: Sean Rhodes @ 2026-08-17 21:54 UTC (permalink / raw) To: chrome-platform Cc: Corentin Chary, Luke D. Jones, Denis Benato, Hans de Goede, Ilpo Järvinen, Prasanth Ksr, Jorge Lopez, Mark Pearson, Derek J. Clark, Joshua Grisham, platform-driver-x86, Dell.Client.Kernel, Sean Rhodes, Michael S. Tsirkin, Chen-Yu Tsai, Huacai Chen, Tzung-Bi Shih, Brian Norris, Julius Werner, Thomas Zimmermann, Javier Martinez Canillas, Maarten Lankhorst, Maxime Ripard, David Airlie, Simona Vetter, Florian Fainelli, Takashi Sakamoto, Bjorn Helgaas, Uwe Kleine-König (The Capable Hub), Titouan Ameline de Cadeville, Kees Cook, Danilo Krummrich, dri-devel, Krzysztof Kozlowski, Bjorn Andersson, Dmitry Baryshkov, Geert Uytterhoeven, Arnd Bergmann, Eric Biggers, Luca Weiss, Michal Simek, Sven Peter, linux-kernel, oliver Most drivers in drivers/firmware/google are coreboot table drivers rather than Google-specific firmware drivers. Rename the directory to coreboot and update the Kconfig prompt, build path and maintainer entry. Rename the generic firmware Kconfig symbols to CONFIG_COREBOOT_* at the same time so new configurations describe the firmware interface rather than one vendor. Keep the old CONFIG_GOOGLE_* names as transitional symbols so existing configurations keep selecting the same drivers during the rename. Leave defconfig updates to a separate patch so the configuration churn is easy to review independently. Suggested-by: Julius Werner <jwerner@chromium.org> Signed-off-by: Sean Rhodes <sean@starlabs.systems> --- MAINTAINERS | 20 ++--- drivers/firmware/Kconfig | 2 +- drivers/firmware/Makefile | 2 +- drivers/firmware/{google => coreboot}/Kconfig | 74 ++++++++++++++----- .../firmware/{google => coreboot}/Makefile | 10 +-- drivers/firmware/{google => coreboot}/cbmem.c | 0 .../{google => coreboot}/coreboot_table.c | 0 .../{google => coreboot}/coreboot_table.h | 0 .../framebuffer-coreboot.c | 0 drivers/firmware/{google => coreboot}/gsmi.c | 0 .../memconsole-coreboot.c | 0 .../memconsole-x86-legacy.c | 0 .../{google => coreboot}/memconsole.c | 0 .../{google => coreboot}/memconsole.h | 6 +- drivers/firmware/{google => coreboot}/vpd.c | 0 .../{google => coreboot}/vpd_decode.c | 0 .../{google => coreboot}/vpd_decode.h | 0 drivers/gpu/drm/sysfb/Kconfig | 2 +- 18 files changed, 77 insertions(+), 39 deletions(-) rename drivers/firmware/{google => coreboot}/Kconfig (64%) rename drivers/firmware/{google => coreboot}/Makefile (51%) rename drivers/firmware/{google => coreboot}/cbmem.c (100%) rename drivers/firmware/{google => coreboot}/coreboot_table.c (100%) rename drivers/firmware/{google => coreboot}/coreboot_table.h (100%) rename drivers/firmware/{google => coreboot}/framebuffer-coreboot.c (100%) rename drivers/firmware/{google => coreboot}/gsmi.c (100%) rename drivers/firmware/{google => coreboot}/memconsole-coreboot.c (100%) rename drivers/firmware/{google => coreboot}/memconsole-x86-legacy.c (100%) rename drivers/firmware/{google => coreboot}/memconsole.c (100%) rename drivers/firmware/{google => coreboot}/memconsole.h (82%) rename drivers/firmware/{google => coreboot}/vpd.c (100%) rename drivers/firmware/{google => coreboot}/vpd_decode.c (100%) rename drivers/firmware/{google => coreboot}/vpd_decode.h (100%) diff --git a/MAINTAINERS b/MAINTAINERS index caef5ab15a4c..6f3717a5a2e7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6657,6 +6657,16 @@ F: tools/testing/selftests/cgroup/test_hugetlb_memcg.c F: tools/testing/selftests/cgroup/test_kmem.c F: tools/testing/selftests/cgroup/test_memcontrol.c +COREBOOT FIRMWARE DRIVERS +M: Tzung-Bi Shih <tzungbi@kernel.org> +R: Brian Norris <briannorris@chromium.org> +R: Julius Werner <jwerner@chromium.org> +L: chrome-platform@lists.linux.dev +S: Maintained +T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git +F: drivers/firmware/coreboot/ +F: include/linux/coreboot.h + CORETEMP HARDWARE MONITORING DRIVER L: linux-hwmon@vger.kernel.org S: Orphan @@ -11065,16 +11075,6 @@ S: Maintained F: Documentation/networking/device_drivers/ethernet/google/gve.rst F: drivers/net/ethernet/google -GOOGLE FIRMWARE DRIVERS -M: Tzung-Bi Shih <tzungbi@kernel.org> -R: Brian Norris <briannorris@chromium.org> -R: Julius Werner <jwerner@chromium.org> -L: chrome-platform@lists.linux.dev -S: Maintained -T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git -F: drivers/firmware/google/ -F: include/linux/coreboot.h - GOOGLE TENSOR SoC SUPPORT M: Peter Griffin <peter.griffin@linaro.org> R: André Draszik <andre.draszik@linaro.org> diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 78a239f8bbef..4df0a0ad18b8 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -293,7 +293,7 @@ endif # TURRIS_MOX_RWTM source "drivers/firmware/arm_ffa/Kconfig" source "drivers/firmware/broadcom/Kconfig" source "drivers/firmware/cirrus/Kconfig" -source "drivers/firmware/google/Kconfig" +source "drivers/firmware/coreboot/Kconfig" source "drivers/firmware/efi/Kconfig" source "drivers/firmware/imx/Kconfig" source "drivers/firmware/meson/Kconfig" diff --git a/drivers/firmware/Makefile b/drivers/firmware/Makefile index 385b6e8b7fc6..f8da96382680 100644 --- a/drivers/firmware/Makefile +++ b/drivers/firmware/Makefile @@ -30,7 +30,7 @@ obj-y += broadcom/ obj-y += cirrus/ obj-y += meson/ obj-y += microchip/ -obj-$(CONFIG_GOOGLE_FIRMWARE) += google/ +obj-$(CONFIG_COREBOOT_FIRMWARE) += coreboot/ obj-y += efi/ obj-y += imx/ obj-y += psci/ diff --git a/drivers/firmware/google/Kconfig b/drivers/firmware/coreboot/Kconfig similarity index 64% rename from drivers/firmware/google/Kconfig rename to drivers/firmware/coreboot/Kconfig index b78c644fa253..d273bd836245 100644 --- a/drivers/firmware/google/Kconfig +++ b/drivers/firmware/coreboot/Kconfig @@ -1,13 +1,16 @@ # SPDX-License-Identifier: GPL-2.0-only -menuconfig GOOGLE_FIRMWARE - bool "Google Firmware Drivers" +menuconfig COREBOOT_FIRMWARE + bool "coreboot firmware drivers" + default GOOGLE_FIRMWARE default n help - These firmware drivers are used by Google servers, - Chromebooks and other devices using coreboot firmware. + These firmware drivers are used by devices running coreboot + firmware, including Chromebooks and some Google servers. + They include shared support for coreboot table entries and + drivers for CBMEM, framebuffer, firmware console and VPD records. If in doubt, say "N". -if GOOGLE_FIRMWARE +if COREBOOT_FIRMWARE config GOOGLE_SMI tristate "SMI interface for Google platforms" @@ -19,9 +22,10 @@ config GOOGLE_SMI driver provides an interface for reading and writing NVRAM variables. -config GOOGLE_CBMEM +config COREBOOT_CBMEM tristate "CBMEM entries in sysfs" - depends on GOOGLE_COREBOOT_TABLE + depends on COREBOOT_TABLE + default GOOGLE_CBMEM help CBMEM is a downwards-growing memory region created by the Coreboot BIOS containing tagged data structures from the @@ -34,9 +38,10 @@ config GOOGLE_CBMEM memory for each entry in sysfs under /sys/bus/coreboot/devices/cbmem-<id>. -config GOOGLE_COREBOOT_TABLE +config COREBOOT_TABLE tristate "Coreboot Table Access" depends on HAS_IOMEM && (ACPI || OF) + default GOOGLE_COREBOOT_TABLE help This option enables the coreboot_table module, which provides other firmware modules access to the coreboot table. The coreboot table @@ -44,42 +49,75 @@ config GOOGLE_COREBOOT_TABLE device tree node /firmware/coreboot. If unsure say N. -config GOOGLE_MEMCONSOLE +config COREBOOT_MEMCONSOLE_COMMON tristate - depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT + depends on GOOGLE_MEMCONSOLE_X86_LEGACY || COREBOOT_MEMCONSOLE + default GOOGLE_MEMCONSOLE config GOOGLE_MEMCONSOLE_X86_LEGACY tristate "Firmware Memory Console - X86 Legacy support" depends on X86 && ACPI && DMI - select GOOGLE_MEMCONSOLE + select COREBOOT_MEMCONSOLE_COMMON help This option enables the kernel to search for a firmware log in the EBDA on Google servers. If found, this log is exported to userland in the file /sys/firmware/log. + This driver is limited to x86 systems that expose the legacy + Google EBDA console format. -config GOOGLE_FRAMEBUFFER_COREBOOT +config COREBOOT_FRAMEBUFFER tristate "Coreboot Framebuffer" - depends on GOOGLE_COREBOOT_TABLE + depends on COREBOOT_TABLE + default GOOGLE_FRAMEBUFFER_COREBOOT help This option enables the kernel to search for a framebuffer in the coreboot table. If found, it is registered with a platform device of type coreboot-framebuffer. Using the old device of type simple-framebuffer is deprecated. -config GOOGLE_MEMCONSOLE_COREBOOT +config COREBOOT_MEMCONSOLE tristate "Firmware Memory Console" - depends on GOOGLE_COREBOOT_TABLE - select GOOGLE_MEMCONSOLE + depends on COREBOOT_TABLE + select COREBOOT_MEMCONSOLE_COMMON + default GOOGLE_MEMCONSOLE_COREBOOT help This option enables the kernel to search for a firmware log in the coreboot table. If found, this log is exported to userland in the file /sys/firmware/log. + This is the coreboot-table backed variant of the firmware memory + console driver. config GOOGLE_VPD tristate "Vital Product Data" - depends on GOOGLE_COREBOOT_TABLE + depends on COREBOOT_TABLE help This option enables the kernel to expose the content of Google VPD under /sys/firmware/vpd. + VPD records carry firmware-provided key/value data used by + Google devices. + +endif # COREBOOT_FIRMWARE -endif # GOOGLE_FIRMWARE +config GOOGLE_FIRMWARE + bool + transitional + +config GOOGLE_CBMEM + tristate + transitional + +config GOOGLE_COREBOOT_TABLE + tristate + transitional + +config GOOGLE_MEMCONSOLE + tristate + transitional + +config GOOGLE_FRAMEBUFFER_COREBOOT + tristate + transitional + +config GOOGLE_MEMCONSOLE_COREBOOT + tristate + transitional diff --git a/drivers/firmware/google/Makefile b/drivers/firmware/coreboot/Makefile similarity index 51% rename from drivers/firmware/google/Makefile rename to drivers/firmware/coreboot/Makefile index 8151e323cc43..e681f274417a 100644 --- a/drivers/firmware/google/Makefile +++ b/drivers/firmware/coreboot/Makefile @@ -1,14 +1,14 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_GOOGLE_SMI) += gsmi.o -obj-$(CONFIG_GOOGLE_COREBOOT_TABLE) += coreboot_table.o -obj-$(CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT) += framebuffer-coreboot.o -obj-$(CONFIG_GOOGLE_MEMCONSOLE) += memconsole.o -obj-$(CONFIG_GOOGLE_MEMCONSOLE_COREBOOT) += memconsole-coreboot.o +obj-$(CONFIG_COREBOOT_TABLE) += coreboot_table.o +obj-$(CONFIG_COREBOOT_FRAMEBUFFER) += framebuffer-coreboot.o +obj-$(CONFIG_COREBOOT_MEMCONSOLE_COMMON) += memconsole.o +obj-$(CONFIG_COREBOOT_MEMCONSOLE) += memconsole-coreboot.o obj-$(CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY) += memconsole-x86-legacy.o # Must come after coreboot_table.o, as this driver depends on that bus type. -obj-$(CONFIG_GOOGLE_CBMEM) += cbmem.o +obj-$(CONFIG_COREBOOT_CBMEM) += cbmem.o vpd-sysfs-y := vpd.o vpd_decode.o obj-$(CONFIG_GOOGLE_VPD) += vpd-sysfs.o diff --git a/drivers/firmware/google/cbmem.c b/drivers/firmware/coreboot/cbmem.c similarity index 100% rename from drivers/firmware/google/cbmem.c rename to drivers/firmware/coreboot/cbmem.c diff --git a/drivers/firmware/google/coreboot_table.c b/drivers/firmware/coreboot/coreboot_table.c similarity index 100% rename from drivers/firmware/google/coreboot_table.c rename to drivers/firmware/coreboot/coreboot_table.c diff --git a/drivers/firmware/google/coreboot_table.h b/drivers/firmware/coreboot/coreboot_table.h similarity index 100% rename from drivers/firmware/google/coreboot_table.h rename to drivers/firmware/coreboot/coreboot_table.h diff --git a/drivers/firmware/google/framebuffer-coreboot.c b/drivers/firmware/coreboot/framebuffer-coreboot.c similarity index 100% rename from drivers/firmware/google/framebuffer-coreboot.c rename to drivers/firmware/coreboot/framebuffer-coreboot.c diff --git a/drivers/firmware/google/gsmi.c b/drivers/firmware/coreboot/gsmi.c similarity index 100% rename from drivers/firmware/google/gsmi.c rename to drivers/firmware/coreboot/gsmi.c diff --git a/drivers/firmware/google/memconsole-coreboot.c b/drivers/firmware/coreboot/memconsole-coreboot.c similarity index 100% rename from drivers/firmware/google/memconsole-coreboot.c rename to drivers/firmware/coreboot/memconsole-coreboot.c diff --git a/drivers/firmware/google/memconsole-x86-legacy.c b/drivers/firmware/coreboot/memconsole-x86-legacy.c similarity index 100% rename from drivers/firmware/google/memconsole-x86-legacy.c rename to drivers/firmware/coreboot/memconsole-x86-legacy.c diff --git a/drivers/firmware/google/memconsole.c b/drivers/firmware/coreboot/memconsole.c similarity index 100% rename from drivers/firmware/google/memconsole.c rename to drivers/firmware/coreboot/memconsole.c diff --git a/drivers/firmware/google/memconsole.h b/drivers/firmware/coreboot/memconsole.h similarity index 82% rename from drivers/firmware/google/memconsole.h rename to drivers/firmware/coreboot/memconsole.h index aaff2b72b606..58899c2abaaa 100644 --- a/drivers/firmware/google/memconsole.h +++ b/drivers/firmware/coreboot/memconsole.h @@ -7,8 +7,8 @@ * Copyright 2017 Google Inc. */ -#ifndef __FIRMWARE_GOOGLE_MEMCONSOLE_H -#define __FIRMWARE_GOOGLE_MEMCONSOLE_H +#ifndef __FIRMWARE_COREBOOT_MEMCONSOLE_H +#define __FIRMWARE_COREBOOT_MEMCONSOLE_H #include <linux/types.h> @@ -33,4 +33,4 @@ int memconsole_sysfs_init(void); */ void memconsole_exit(void); -#endif /* __FIRMWARE_GOOGLE_MEMCONSOLE_H */ +#endif /* __FIRMWARE_COREBOOT_MEMCONSOLE_H */ diff --git a/drivers/firmware/google/vpd.c b/drivers/firmware/coreboot/vpd.c similarity index 100% rename from drivers/firmware/google/vpd.c rename to drivers/firmware/coreboot/vpd.c diff --git a/drivers/firmware/google/vpd_decode.c b/drivers/firmware/coreboot/vpd_decode.c similarity index 100% rename from drivers/firmware/google/vpd_decode.c rename to drivers/firmware/coreboot/vpd_decode.c diff --git a/drivers/firmware/google/vpd_decode.h b/drivers/firmware/coreboot/vpd_decode.h similarity index 100% rename from drivers/firmware/google/vpd_decode.h rename to drivers/firmware/coreboot/vpd_decode.h diff --git a/drivers/gpu/drm/sysfb/Kconfig b/drivers/gpu/drm/sysfb/Kconfig index 2559ead6cf1f..34d3fa8b30c9 100644 --- a/drivers/gpu/drm/sysfb/Kconfig +++ b/drivers/gpu/drm/sysfb/Kconfig @@ -10,7 +10,7 @@ config DRM_SYSFB_HELPER config DRM_COREBOOTDRM tristate "Coreboot framebuffer driver" depends on DRM && MMU - depends on GOOGLE_FRAMEBUFFER_COREBOOT + depends on COREBOOT_FRAMEBUFFER select APERTURE_HELPERS select DRM_CLIENT_SELECTION select DRM_GEM_SHMEM_HELPER ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-08-26 6:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1787584107.git.sean@starlabs.systems>
[not found] ` <b967ec0f8adb69417a3d81ee5546e4a238e29e11.1787584107.git.sean@starlabs.systems>
2026-08-24 15:20 ` [PATCH v13 RESEND 1/5] platform/x86: Sort firmware attributes class includes sashiko-bot
2026-08-26 6:07 ` Tzung-Bi Shih
[not found] ` <557d363a779c3c03bfe939dc2fefd6a4265fa7ad.1787584107.git.sean@starlabs.systems>
2026-08-26 6:07 ` [PATCH v13 RESEND 3/5] firmware: Rename google firmware directory to coreboot Tzung-Bi Shih
2026-08-17 21:54 [PATCH v13 RESEND 0/5] coreboot CFR firmware attributes Sean Rhodes
2026-08-17 21:54 ` [PATCH v13 RESEND 3/5] firmware: Rename google firmware directory to coreboot Sean Rhodes
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).