DistroKit Mailinglist
 help / color / mirror / Atom feed
* [DistroKit] [PATCH] x86_64: kernel: enable EFI support
@ 2025-01-24 10:03 Roland Hieber
  2025-01-24 10:09 ` Ahmad Fatoum
  2025-01-24 10:16 ` [DistroKit] [PATCH v2] " Roland Hieber
  0 siblings, 2 replies; 4+ messages in thread
From: Roland Hieber @ 2025-01-24 10:03 UTC (permalink / raw)
  To: distrokit; +Cc: Roland Hieber

On x86 hardware, EFI is almost always used. Make sure the kernel
supports it, and enable the following config options:

* EFI: EFI runtime service support
* EFI_STUB: Allows a bzImage to be loaded directly by EFI firmware
  without the use of a bootloader
* EFI_RUNTIME_MAP: Export EFI runtime maps to sysfs
* FB_EFI: EFI-based Framebuffer Support

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 configs/platform-x86_64/kernelconfig | 46 +++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/configs/platform-x86_64/kernelconfig b/configs/platform-x86_64/kernelconfig
index 8ccb4721e77b..1ddf2bd60480 100644
--- a/configs/platform-x86_64/kernelconfig
+++ b/configs/platform-x86_64/kernelconfig
@@ -349,6 +349,7 @@ CONFIG_CPU_SUP_ZHAOXIN=y
 CONFIG_HPET_TIMER=y
 CONFIG_DMI=y
 # CONFIG_GART_IOMMU is not set
+CONFIG_BOOT_VESA_SUPPORT=y
 # CONFIG_MAXSMP is not set
 CONFIG_NR_CPUS_RANGE_BEGIN=2
 CONFIG_NR_CPUS_RANGE_END=512
@@ -391,6 +392,7 @@ CONFIG_MICROCODE=y
 CONFIG_X86_5LEVEL=y
 CONFIG_X86_DIRECT_GBPAGES=y
 # CONFIG_X86_CPA_STATISTICS is not set
+# CONFIG_AMD_MEM_ENCRYPT is not set
 # CONFIG_NUMA is not set
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
 CONFIG_ARCH_SPARSEMEM_DEFAULT=y
@@ -412,7 +414,11 @@ CONFIG_X86_INTEL_TSX_MODE_OFF=y
 # CONFIG_X86_INTEL_TSX_MODE_ON is not set
 # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
 # CONFIG_X86_USER_SHADOW_STACK is not set
-# CONFIG_EFI is not set
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_EFI_HANDOVER_PROTOCOL=y
+# CONFIG_EFI_MIXED is not set
+CONFIG_EFI_RUNTIME_MAP=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_HZ_300 is not set
@@ -520,6 +526,7 @@ CONFIG_ACPI_CONTAINER=y
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
 # CONFIG_ACPI_SBS is not set
 # CONFIG_ACPI_HED is not set
+# CONFIG_ACPI_BGRT is not set
 # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
 CONFIG_ACPI_NHLT=y
 # CONFIG_ACPI_NFIT is not set
@@ -532,6 +539,7 @@ CONFIG_HAVE_ACPI_APEI_NMI=y
 CONFIG_ACPI_PCC=y
 # CONFIG_ACPI_FFH is not set
 # CONFIG_PMIC_OPREGION is not set
+CONFIG_ACPI_PRMT=y
 CONFIG_X86_PM_TIMER=y
 
 #
@@ -732,6 +740,7 @@ CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
 CONFIG_STRICT_MODULE_RWX=y
 CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
 # CONFIG_LOCK_EVENT_COUNTS is not set
 CONFIG_ARCH_HAS_MEM_ENCRYPT=y
 CONFIG_HAVE_STATIC_CALL=y
@@ -1277,9 +1286,29 @@ CONFIG_DMIID=y
 CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
 # CONFIG_ISCSI_IBFT is not set
 # CONFIG_FW_CFG_SYSFS is not set
+CONFIG_SYSFB=y
 # CONFIG_SYSFB_SIMPLEFB is not set
 # CONFIG_GOOGLE_FIRMWARE is not set
 
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_APPLE_PROPERTIES is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_RCI2_TABLE is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
 #
 # Qualcomm firmware drivers
 #
@@ -2635,6 +2664,8 @@ CONFIG_BCMA_POSSIBLE=y
 #
 # Graphics support
 #
+CONFIG_APERTURE_HELPERS=y
+CONFIG_SCREEN_INFO=y
 CONFIG_VIDEO=y
 # CONFIG_AUXDISPLAY is not set
 # CONFIG_AGP is not set
@@ -2719,6 +2750,7 @@ CONFIG_FB=y
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_VGA16 is not set
 # CONFIG_FB_VESA is not set
+CONFIG_FB_EFI=y
 # CONFIG_FB_N411 is not set
 # CONFIG_FB_HGA is not set
 # CONFIG_FB_OPENCORES is not set
@@ -2753,12 +2785,17 @@ CONFIG_FB_CORE=y
 CONFIG_FB_NOTIFY=y
 # CONFIG_FIRMWARE_EDID is not set
 # CONFIG_FB_DEVICE is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
 CONFIG_FB_SYS_FILLRECT=y
 CONFIG_FB_SYS_COPYAREA=y
 CONFIG_FB_SYS_IMAGEBLIT=y
 # CONFIG_FB_FOREIGN_ENDIAN is not set
 CONFIG_FB_SYSMEM_FOPS=y
 CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_IOMEM_FOPS=y
+CONFIG_FB_IOMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
 # CONFIG_FB_MODE_HELPERS is not set
@@ -3588,6 +3625,7 @@ CONFIG_TMPFS_XATTR=y
 # CONFIG_HUGETLBFS is not set
 CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
 # CONFIG_CONFIGFS_FS is not set
+CONFIG_EFIVAR_FS=y
 # end of Pseudo filesystems
 
 CONFIG_MISC_FILESYSTEMS=y
@@ -3738,6 +3776,7 @@ CONFIG_PROC_MEM_ALWAYS_FORCE=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_FORTIFY_SOURCE=y
 # CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
 CONFIG_DEFAULT_SECURITY_DAC=y
 CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity"
 
@@ -4089,11 +4128,15 @@ CONFIG_CLZ_TAB=y
 CONFIG_MPILIB=y
 CONFIG_DIMLIB=y
 CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
 CONFIG_HAVE_GENERIC_VDSO=y
 CONFIG_GENERIC_GETTIMEOFDAY=y
 CONFIG_GENERIC_VDSO_TIME_NS=y
 CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
 CONFIG_VDSO_GETRANDOM=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONT_8x16=y
+CONFIG_FONT_AUTOSELECT=y
 CONFIG_SG_POOL=y
 CONFIG_ARCH_HAS_PMEM_API=y
 CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
@@ -4405,6 +4448,7 @@ CONFIG_X86_VERBOSE_BOOTUP=y
 CONFIG_EARLY_PRINTK=y
 # CONFIG_EARLY_PRINTK_DBGP is not set
 # CONFIG_EARLY_PRINTK_USB_XDBC is not set
+# CONFIG_EFI_PGT_DUMP is not set
 # CONFIG_DEBUG_TLBFLUSH is not set
 CONFIG_HAVE_MMIOTRACE_SUPPORT=y
 # CONFIG_X86_DECODER_SELFTEST is not set
-- 
2.39.5




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [DistroKit] [PATCH] x86_64: kernel: enable EFI support
  2025-01-24 10:03 [DistroKit] [PATCH] x86_64: kernel: enable EFI support Roland Hieber
@ 2025-01-24 10:09 ` Ahmad Fatoum
  2025-01-24 10:13   ` Roland Hieber
  2025-01-24 10:16 ` [DistroKit] [PATCH v2] " Roland Hieber
  1 sibling, 1 reply; 4+ messages in thread
From: Ahmad Fatoum @ 2025-01-24 10:09 UTC (permalink / raw)
  To: Roland Hieber, distrokit

On 24.01.25 11:03, Roland Hieber wrote:
> On x86 hardware, EFI is almost always used. Make sure the kernel
> supports it, and enable the following config options:
> 
> * EFI: EFI runtime service support
> * EFI_STUB: Allows a bzImage to be loaded directly by EFI firmware
>   without the use of a bootloader
> * EFI_RUNTIME_MAP: Export EFI runtime maps to sysfs
> * FB_EFI: EFI-based Framebuffer Support

 * EFI_HANDOVER_PROTOCOL: Needed to support the non-standard handover protocol,
   which is still used by e.g. barebox.

> Signed-off-by: Roland Hieber <rhi@pengutronix.de>

Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>

> ---
>  configs/platform-x86_64/kernelconfig | 46 +++++++++++++++++++++++++++-
>  1 file changed, 45 insertions(+), 1 deletion(-)
> 
> diff --git a/configs/platform-x86_64/kernelconfig b/configs/platform-x86_64/kernelconfig
> index 8ccb4721e77b..1ddf2bd60480 100644
> --- a/configs/platform-x86_64/kernelconfig
> +++ b/configs/platform-x86_64/kernelconfig
> @@ -349,6 +349,7 @@ CONFIG_CPU_SUP_ZHAOXIN=y
>  CONFIG_HPET_TIMER=y
>  CONFIG_DMI=y
>  # CONFIG_GART_IOMMU is not set
> +CONFIG_BOOT_VESA_SUPPORT=y
>  # CONFIG_MAXSMP is not set
>  CONFIG_NR_CPUS_RANGE_BEGIN=2
>  CONFIG_NR_CPUS_RANGE_END=512
> @@ -391,6 +392,7 @@ CONFIG_MICROCODE=y
>  CONFIG_X86_5LEVEL=y
>  CONFIG_X86_DIRECT_GBPAGES=y
>  # CONFIG_X86_CPA_STATISTICS is not set
> +# CONFIG_AMD_MEM_ENCRYPT is not set
>  # CONFIG_NUMA is not set
>  CONFIG_ARCH_SPARSEMEM_ENABLE=y
>  CONFIG_ARCH_SPARSEMEM_DEFAULT=y
> @@ -412,7 +414,11 @@ CONFIG_X86_INTEL_TSX_MODE_OFF=y
>  # CONFIG_X86_INTEL_TSX_MODE_ON is not set
>  # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
>  # CONFIG_X86_USER_SHADOW_STACK is not set
> -# CONFIG_EFI is not set
> +CONFIG_EFI=y
> +CONFIG_EFI_STUB=y
> +CONFIG_EFI_HANDOVER_PROTOCOL=y
> +# CONFIG_EFI_MIXED is not set
> +CONFIG_EFI_RUNTIME_MAP=y
>  # CONFIG_HZ_100 is not set
>  CONFIG_HZ_250=y
>  # CONFIG_HZ_300 is not set
> @@ -520,6 +526,7 @@ CONFIG_ACPI_CONTAINER=y
>  CONFIG_ACPI_HOTPLUG_IOAPIC=y
>  # CONFIG_ACPI_SBS is not set
>  # CONFIG_ACPI_HED is not set
> +# CONFIG_ACPI_BGRT is not set
>  # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
>  CONFIG_ACPI_NHLT=y
>  # CONFIG_ACPI_NFIT is not set
> @@ -532,6 +539,7 @@ CONFIG_HAVE_ACPI_APEI_NMI=y
>  CONFIG_ACPI_PCC=y
>  # CONFIG_ACPI_FFH is not set
>  # CONFIG_PMIC_OPREGION is not set
> +CONFIG_ACPI_PRMT=y
>  CONFIG_X86_PM_TIMER=y
>  
>  #
> @@ -732,6 +740,7 @@ CONFIG_STRICT_KERNEL_RWX=y
>  CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
>  CONFIG_STRICT_MODULE_RWX=y
>  CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
> +CONFIG_ARCH_USE_MEMREMAP_PROT=y
>  # CONFIG_LOCK_EVENT_COUNTS is not set
>  CONFIG_ARCH_HAS_MEM_ENCRYPT=y
>  CONFIG_HAVE_STATIC_CALL=y
> @@ -1277,9 +1286,29 @@ CONFIG_DMIID=y
>  CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
>  # CONFIG_ISCSI_IBFT is not set
>  # CONFIG_FW_CFG_SYSFS is not set
> +CONFIG_SYSFB=y
>  # CONFIG_SYSFB_SIMPLEFB is not set
>  # CONFIG_GOOGLE_FIRMWARE is not set
>  
> +#
> +# EFI (Extensible Firmware Interface) Support
> +#
> +CONFIG_EFI_ESRT=y
> +CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
> +CONFIG_EFI_RUNTIME_WRAPPERS=y
> +# CONFIG_EFI_BOOTLOADER_CONTROL is not set
> +# CONFIG_EFI_CAPSULE_LOADER is not set
> +# CONFIG_EFI_TEST is not set
> +# CONFIG_APPLE_PROPERTIES is not set
> +# CONFIG_RESET_ATTACK_MITIGATION is not set
> +# CONFIG_EFI_RCI2_TABLE is not set
> +# CONFIG_EFI_DISABLE_PCI_DMA is not set
> +CONFIG_EFI_EARLYCON=y
> +# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
> +# CONFIG_EFI_DISABLE_RUNTIME is not set
> +# CONFIG_EFI_COCO_SECRET is not set
> +# end of EFI (Extensible Firmware Interface) Support
> +
>  #
>  # Qualcomm firmware drivers
>  #
> @@ -2635,6 +2664,8 @@ CONFIG_BCMA_POSSIBLE=y
>  #
>  # Graphics support
>  #
> +CONFIG_APERTURE_HELPERS=y
> +CONFIG_SCREEN_INFO=y
>  CONFIG_VIDEO=y
>  # CONFIG_AUXDISPLAY is not set
>  # CONFIG_AGP is not set
> @@ -2719,6 +2750,7 @@ CONFIG_FB=y
>  # CONFIG_FB_IMSTT is not set
>  # CONFIG_FB_VGA16 is not set
>  # CONFIG_FB_VESA is not set
> +CONFIG_FB_EFI=y
>  # CONFIG_FB_N411 is not set
>  # CONFIG_FB_HGA is not set
>  # CONFIG_FB_OPENCORES is not set
> @@ -2753,12 +2785,17 @@ CONFIG_FB_CORE=y
>  CONFIG_FB_NOTIFY=y
>  # CONFIG_FIRMWARE_EDID is not set
>  # CONFIG_FB_DEVICE is not set
> +CONFIG_FB_CFB_FILLRECT=y
> +CONFIG_FB_CFB_COPYAREA=y
> +CONFIG_FB_CFB_IMAGEBLIT=y
>  CONFIG_FB_SYS_FILLRECT=y
>  CONFIG_FB_SYS_COPYAREA=y
>  CONFIG_FB_SYS_IMAGEBLIT=y
>  # CONFIG_FB_FOREIGN_ENDIAN is not set
>  CONFIG_FB_SYSMEM_FOPS=y
>  CONFIG_FB_DEFERRED_IO=y
> +CONFIG_FB_IOMEM_FOPS=y
> +CONFIG_FB_IOMEM_HELPERS=y
>  CONFIG_FB_SYSMEM_HELPERS=y
>  CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
>  # CONFIG_FB_MODE_HELPERS is not set
> @@ -3588,6 +3625,7 @@ CONFIG_TMPFS_XATTR=y
>  # CONFIG_HUGETLBFS is not set
>  CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
>  # CONFIG_CONFIGFS_FS is not set
> +CONFIG_EFIVAR_FS=y
>  # end of Pseudo filesystems
>  
>  CONFIG_MISC_FILESYSTEMS=y
> @@ -3738,6 +3776,7 @@ CONFIG_PROC_MEM_ALWAYS_FORCE=y
>  CONFIG_HARDENED_USERCOPY=y
>  CONFIG_FORTIFY_SOURCE=y
>  # CONFIG_STATIC_USERMODEHELPER is not set
> +# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
>  CONFIG_DEFAULT_SECURITY_DAC=y
>  CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity"
>  
> @@ -4089,11 +4128,15 @@ CONFIG_CLZ_TAB=y
>  CONFIG_MPILIB=y
>  CONFIG_DIMLIB=y
>  CONFIG_OID_REGISTRY=y
> +CONFIG_UCS2_STRING=y
>  CONFIG_HAVE_GENERIC_VDSO=y
>  CONFIG_GENERIC_GETTIMEOFDAY=y
>  CONFIG_GENERIC_VDSO_TIME_NS=y
>  CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
>  CONFIG_VDSO_GETRANDOM=y
> +CONFIG_FONT_SUPPORT=y
> +CONFIG_FONT_8x16=y
> +CONFIG_FONT_AUTOSELECT=y
>  CONFIG_SG_POOL=y
>  CONFIG_ARCH_HAS_PMEM_API=y
>  CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
> @@ -4405,6 +4448,7 @@ CONFIG_X86_VERBOSE_BOOTUP=y
>  CONFIG_EARLY_PRINTK=y
>  # CONFIG_EARLY_PRINTK_DBGP is not set
>  # CONFIG_EARLY_PRINTK_USB_XDBC is not set
> +# CONFIG_EFI_PGT_DUMP is not set
>  # CONFIG_DEBUG_TLBFLUSH is not set
>  CONFIG_HAVE_MMIOTRACE_SUPPORT=y
>  # CONFIG_X86_DECODER_SELFTEST is not set


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [DistroKit] [PATCH] x86_64: kernel: enable EFI support
  2025-01-24 10:09 ` Ahmad Fatoum
@ 2025-01-24 10:13   ` Roland Hieber
  0 siblings, 0 replies; 4+ messages in thread
From: Roland Hieber @ 2025-01-24 10:13 UTC (permalink / raw)
  To: Ahmad Fatoum; +Cc: distrokit

On Fri, Jan 24, 2025 at 11:09:39AM +0100, Ahmad Fatoum wrote:
> On 24.01.25 11:03, Roland Hieber wrote:
> > On x86 hardware, EFI is almost always used. Make sure the kernel
> > supports it, and enable the following config options:
> > 
> > * EFI: EFI runtime service support
> > * EFI_STUB: Allows a bzImage to be loaded directly by EFI firmware
> >   without the use of a bootloader
> > * EFI_RUNTIME_MAP: Export EFI runtime maps to sysfs
> > * FB_EFI: EFI-based Framebuffer Support
> 
>  * EFI_HANDOVER_PROTOCOL: Needed to support the non-standard handover protocol,
>    which is still used by e.g. barebox.

Ah yes, that was "default y". But better to mention it anyway.

  Roland

> 
> > Signed-off-by: Roland Hieber <rhi@pengutronix.de>
> 
> Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> 
> > ---
> >  configs/platform-x86_64/kernelconfig | 46 +++++++++++++++++++++++++++-
> >  1 file changed, 45 insertions(+), 1 deletion(-)
> > 
> > diff --git a/configs/platform-x86_64/kernelconfig b/configs/platform-x86_64/kernelconfig
> > index 8ccb4721e77b..1ddf2bd60480 100644
> > --- a/configs/platform-x86_64/kernelconfig
> > +++ b/configs/platform-x86_64/kernelconfig
> > @@ -349,6 +349,7 @@ CONFIG_CPU_SUP_ZHAOXIN=y
> >  CONFIG_HPET_TIMER=y
> >  CONFIG_DMI=y
> >  # CONFIG_GART_IOMMU is not set
> > +CONFIG_BOOT_VESA_SUPPORT=y
> >  # CONFIG_MAXSMP is not set
> >  CONFIG_NR_CPUS_RANGE_BEGIN=2
> >  CONFIG_NR_CPUS_RANGE_END=512
> > @@ -391,6 +392,7 @@ CONFIG_MICROCODE=y
> >  CONFIG_X86_5LEVEL=y
> >  CONFIG_X86_DIRECT_GBPAGES=y
> >  # CONFIG_X86_CPA_STATISTICS is not set
> > +# CONFIG_AMD_MEM_ENCRYPT is not set
> >  # CONFIG_NUMA is not set
> >  CONFIG_ARCH_SPARSEMEM_ENABLE=y
> >  CONFIG_ARCH_SPARSEMEM_DEFAULT=y
> > @@ -412,7 +414,11 @@ CONFIG_X86_INTEL_TSX_MODE_OFF=y
> >  # CONFIG_X86_INTEL_TSX_MODE_ON is not set
> >  # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
> >  # CONFIG_X86_USER_SHADOW_STACK is not set
> > -# CONFIG_EFI is not set
> > +CONFIG_EFI=y
> > +CONFIG_EFI_STUB=y
> > +CONFIG_EFI_HANDOVER_PROTOCOL=y
> > +# CONFIG_EFI_MIXED is not set
> > +CONFIG_EFI_RUNTIME_MAP=y
> >  # CONFIG_HZ_100 is not set
> >  CONFIG_HZ_250=y
> >  # CONFIG_HZ_300 is not set
> > @@ -520,6 +526,7 @@ CONFIG_ACPI_CONTAINER=y
> >  CONFIG_ACPI_HOTPLUG_IOAPIC=y
> >  # CONFIG_ACPI_SBS is not set
> >  # CONFIG_ACPI_HED is not set
> > +# CONFIG_ACPI_BGRT is not set
> >  # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
> >  CONFIG_ACPI_NHLT=y
> >  # CONFIG_ACPI_NFIT is not set
> > @@ -532,6 +539,7 @@ CONFIG_HAVE_ACPI_APEI_NMI=y
> >  CONFIG_ACPI_PCC=y
> >  # CONFIG_ACPI_FFH is not set
> >  # CONFIG_PMIC_OPREGION is not set
> > +CONFIG_ACPI_PRMT=y
> >  CONFIG_X86_PM_TIMER=y
> >  
> >  #
> > @@ -732,6 +740,7 @@ CONFIG_STRICT_KERNEL_RWX=y
> >  CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
> >  CONFIG_STRICT_MODULE_RWX=y
> >  CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
> > +CONFIG_ARCH_USE_MEMREMAP_PROT=y
> >  # CONFIG_LOCK_EVENT_COUNTS is not set
> >  CONFIG_ARCH_HAS_MEM_ENCRYPT=y
> >  CONFIG_HAVE_STATIC_CALL=y
> > @@ -1277,9 +1286,29 @@ CONFIG_DMIID=y
> >  CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
> >  # CONFIG_ISCSI_IBFT is not set
> >  # CONFIG_FW_CFG_SYSFS is not set
> > +CONFIG_SYSFB=y
> >  # CONFIG_SYSFB_SIMPLEFB is not set
> >  # CONFIG_GOOGLE_FIRMWARE is not set
> >  
> > +#
> > +# EFI (Extensible Firmware Interface) Support
> > +#
> > +CONFIG_EFI_ESRT=y
> > +CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
> > +CONFIG_EFI_RUNTIME_WRAPPERS=y
> > +# CONFIG_EFI_BOOTLOADER_CONTROL is not set
> > +# CONFIG_EFI_CAPSULE_LOADER is not set
> > +# CONFIG_EFI_TEST is not set
> > +# CONFIG_APPLE_PROPERTIES is not set
> > +# CONFIG_RESET_ATTACK_MITIGATION is not set
> > +# CONFIG_EFI_RCI2_TABLE is not set
> > +# CONFIG_EFI_DISABLE_PCI_DMA is not set
> > +CONFIG_EFI_EARLYCON=y
> > +# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
> > +# CONFIG_EFI_DISABLE_RUNTIME is not set
> > +# CONFIG_EFI_COCO_SECRET is not set
> > +# end of EFI (Extensible Firmware Interface) Support
> > +
> >  #
> >  # Qualcomm firmware drivers
> >  #
> > @@ -2635,6 +2664,8 @@ CONFIG_BCMA_POSSIBLE=y
> >  #
> >  # Graphics support
> >  #
> > +CONFIG_APERTURE_HELPERS=y
> > +CONFIG_SCREEN_INFO=y
> >  CONFIG_VIDEO=y
> >  # CONFIG_AUXDISPLAY is not set
> >  # CONFIG_AGP is not set
> > @@ -2719,6 +2750,7 @@ CONFIG_FB=y
> >  # CONFIG_FB_IMSTT is not set
> >  # CONFIG_FB_VGA16 is not set
> >  # CONFIG_FB_VESA is not set
> > +CONFIG_FB_EFI=y
> >  # CONFIG_FB_N411 is not set
> >  # CONFIG_FB_HGA is not set
> >  # CONFIG_FB_OPENCORES is not set
> > @@ -2753,12 +2785,17 @@ CONFIG_FB_CORE=y
> >  CONFIG_FB_NOTIFY=y
> >  # CONFIG_FIRMWARE_EDID is not set
> >  # CONFIG_FB_DEVICE is not set
> > +CONFIG_FB_CFB_FILLRECT=y
> > +CONFIG_FB_CFB_COPYAREA=y
> > +CONFIG_FB_CFB_IMAGEBLIT=y
> >  CONFIG_FB_SYS_FILLRECT=y
> >  CONFIG_FB_SYS_COPYAREA=y
> >  CONFIG_FB_SYS_IMAGEBLIT=y
> >  # CONFIG_FB_FOREIGN_ENDIAN is not set
> >  CONFIG_FB_SYSMEM_FOPS=y
> >  CONFIG_FB_DEFERRED_IO=y
> > +CONFIG_FB_IOMEM_FOPS=y
> > +CONFIG_FB_IOMEM_HELPERS=y
> >  CONFIG_FB_SYSMEM_HELPERS=y
> >  CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
> >  # CONFIG_FB_MODE_HELPERS is not set
> > @@ -3588,6 +3625,7 @@ CONFIG_TMPFS_XATTR=y
> >  # CONFIG_HUGETLBFS is not set
> >  CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
> >  # CONFIG_CONFIGFS_FS is not set
> > +CONFIG_EFIVAR_FS=y
> >  # end of Pseudo filesystems
> >  
> >  CONFIG_MISC_FILESYSTEMS=y
> > @@ -3738,6 +3776,7 @@ CONFIG_PROC_MEM_ALWAYS_FORCE=y
> >  CONFIG_HARDENED_USERCOPY=y
> >  CONFIG_FORTIFY_SOURCE=y
> >  # CONFIG_STATIC_USERMODEHELPER is not set
> > +# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
> >  CONFIG_DEFAULT_SECURITY_DAC=y
> >  CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity"
> >  
> > @@ -4089,11 +4128,15 @@ CONFIG_CLZ_TAB=y
> >  CONFIG_MPILIB=y
> >  CONFIG_DIMLIB=y
> >  CONFIG_OID_REGISTRY=y
> > +CONFIG_UCS2_STRING=y
> >  CONFIG_HAVE_GENERIC_VDSO=y
> >  CONFIG_GENERIC_GETTIMEOFDAY=y
> >  CONFIG_GENERIC_VDSO_TIME_NS=y
> >  CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
> >  CONFIG_VDSO_GETRANDOM=y
> > +CONFIG_FONT_SUPPORT=y
> > +CONFIG_FONT_8x16=y
> > +CONFIG_FONT_AUTOSELECT=y
> >  CONFIG_SG_POOL=y
> >  CONFIG_ARCH_HAS_PMEM_API=y
> >  CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
> > @@ -4405,6 +4448,7 @@ CONFIG_X86_VERBOSE_BOOTUP=y
> >  CONFIG_EARLY_PRINTK=y
> >  # CONFIG_EARLY_PRINTK_DBGP is not set
> >  # CONFIG_EARLY_PRINTK_USB_XDBC is not set
> > +# CONFIG_EFI_PGT_DUMP is not set
> >  # CONFIG_DEBUG_TLBFLUSH is not set
> >  CONFIG_HAVE_MMIOTRACE_SUPPORT=y
> >  # CONFIG_X86_DECODER_SELFTEST is not set
> 
> 
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 

-- 
Roland Hieber, Pengutronix e.K.          | rhi@pengutronix.de          |
Steuerwalder Str. 21                     | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686         | Fax:   +49-5121-206917-5555 |



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [DistroKit] [PATCH v2] x86_64: kernel: enable EFI support
  2025-01-24 10:03 [DistroKit] [PATCH] x86_64: kernel: enable EFI support Roland Hieber
  2025-01-24 10:09 ` Ahmad Fatoum
@ 2025-01-24 10:16 ` Roland Hieber
  1 sibling, 0 replies; 4+ messages in thread
From: Roland Hieber @ 2025-01-24 10:16 UTC (permalink / raw)
  To: distrokit; +Cc: Ahmad Fatoum, Roland Hieber

On x86 hardware, EFI is almost always used. Make sure the kernel
supports it, and enable the following config options:

* EFI: EFI runtime service support
* EFI_STUB: Allows a bzImage to be loaded directly by EFI firmware
  without the use of a bootloader
* EFI_RUNTIME_MAP: Export EFI runtime maps to sysfs
* FB_EFI: EFI-based Framebuffer Support
* EFI_HANDOVER_PROTOCOL is selected by default, but also needed to
  support the non-standard handover protocol, which is still used by
  e.g. barebox.

Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
v1 -> v2:
* mention EFI_HANDOVER_PROTOCOL and Reviewed-bys in log message

 configs/platform-x86_64/kernelconfig | 46 +++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/configs/platform-x86_64/kernelconfig b/configs/platform-x86_64/kernelconfig
index 8ccb4721e77b..1ddf2bd60480 100644
--- a/configs/platform-x86_64/kernelconfig
+++ b/configs/platform-x86_64/kernelconfig
@@ -349,6 +349,7 @@ CONFIG_CPU_SUP_ZHAOXIN=y
 CONFIG_HPET_TIMER=y
 CONFIG_DMI=y
 # CONFIG_GART_IOMMU is not set
+CONFIG_BOOT_VESA_SUPPORT=y
 # CONFIG_MAXSMP is not set
 CONFIG_NR_CPUS_RANGE_BEGIN=2
 CONFIG_NR_CPUS_RANGE_END=512
@@ -391,6 +392,7 @@ CONFIG_MICROCODE=y
 CONFIG_X86_5LEVEL=y
 CONFIG_X86_DIRECT_GBPAGES=y
 # CONFIG_X86_CPA_STATISTICS is not set
+# CONFIG_AMD_MEM_ENCRYPT is not set
 # CONFIG_NUMA is not set
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
 CONFIG_ARCH_SPARSEMEM_DEFAULT=y
@@ -412,7 +414,11 @@ CONFIG_X86_INTEL_TSX_MODE_OFF=y
 # CONFIG_X86_INTEL_TSX_MODE_ON is not set
 # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
 # CONFIG_X86_USER_SHADOW_STACK is not set
-# CONFIG_EFI is not set
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_EFI_HANDOVER_PROTOCOL=y
+# CONFIG_EFI_MIXED is not set
+CONFIG_EFI_RUNTIME_MAP=y
 # CONFIG_HZ_100 is not set
 CONFIG_HZ_250=y
 # CONFIG_HZ_300 is not set
@@ -520,6 +526,7 @@ CONFIG_ACPI_CONTAINER=y
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
 # CONFIG_ACPI_SBS is not set
 # CONFIG_ACPI_HED is not set
+# CONFIG_ACPI_BGRT is not set
 # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
 CONFIG_ACPI_NHLT=y
 # CONFIG_ACPI_NFIT is not set
@@ -532,6 +539,7 @@ CONFIG_HAVE_ACPI_APEI_NMI=y
 CONFIG_ACPI_PCC=y
 # CONFIG_ACPI_FFH is not set
 # CONFIG_PMIC_OPREGION is not set
+CONFIG_ACPI_PRMT=y
 CONFIG_X86_PM_TIMER=y
 
 #
@@ -732,6 +740,7 @@ CONFIG_STRICT_KERNEL_RWX=y
 CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
 CONFIG_STRICT_MODULE_RWX=y
 CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
 # CONFIG_LOCK_EVENT_COUNTS is not set
 CONFIG_ARCH_HAS_MEM_ENCRYPT=y
 CONFIG_HAVE_STATIC_CALL=y
@@ -1277,9 +1286,29 @@ CONFIG_DMIID=y
 CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
 # CONFIG_ISCSI_IBFT is not set
 # CONFIG_FW_CFG_SYSFS is not set
+CONFIG_SYSFB=y
 # CONFIG_SYSFB_SIMPLEFB is not set
 # CONFIG_GOOGLE_FIRMWARE is not set
 
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_APPLE_PROPERTIES is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_RCI2_TABLE is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
 #
 # Qualcomm firmware drivers
 #
@@ -2635,6 +2664,8 @@ CONFIG_BCMA_POSSIBLE=y
 #
 # Graphics support
 #
+CONFIG_APERTURE_HELPERS=y
+CONFIG_SCREEN_INFO=y
 CONFIG_VIDEO=y
 # CONFIG_AUXDISPLAY is not set
 # CONFIG_AGP is not set
@@ -2719,6 +2750,7 @@ CONFIG_FB=y
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_VGA16 is not set
 # CONFIG_FB_VESA is not set
+CONFIG_FB_EFI=y
 # CONFIG_FB_N411 is not set
 # CONFIG_FB_HGA is not set
 # CONFIG_FB_OPENCORES is not set
@@ -2753,12 +2785,17 @@ CONFIG_FB_CORE=y
 CONFIG_FB_NOTIFY=y
 # CONFIG_FIRMWARE_EDID is not set
 # CONFIG_FB_DEVICE is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
 CONFIG_FB_SYS_FILLRECT=y
 CONFIG_FB_SYS_COPYAREA=y
 CONFIG_FB_SYS_IMAGEBLIT=y
 # CONFIG_FB_FOREIGN_ENDIAN is not set
 CONFIG_FB_SYSMEM_FOPS=y
 CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_IOMEM_FOPS=y
+CONFIG_FB_IOMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS=y
 CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
 # CONFIG_FB_MODE_HELPERS is not set
@@ -3588,6 +3625,7 @@ CONFIG_TMPFS_XATTR=y
 # CONFIG_HUGETLBFS is not set
 CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
 # CONFIG_CONFIGFS_FS is not set
+CONFIG_EFIVAR_FS=y
 # end of Pseudo filesystems
 
 CONFIG_MISC_FILESYSTEMS=y
@@ -3738,6 +3776,7 @@ CONFIG_PROC_MEM_ALWAYS_FORCE=y
 CONFIG_HARDENED_USERCOPY=y
 CONFIG_FORTIFY_SOURCE=y
 # CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
 CONFIG_DEFAULT_SECURITY_DAC=y
 CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity"
 
@@ -4089,11 +4128,15 @@ CONFIG_CLZ_TAB=y
 CONFIG_MPILIB=y
 CONFIG_DIMLIB=y
 CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
 CONFIG_HAVE_GENERIC_VDSO=y
 CONFIG_GENERIC_GETTIMEOFDAY=y
 CONFIG_GENERIC_VDSO_TIME_NS=y
 CONFIG_GENERIC_VDSO_OVERFLOW_PROTECT=y
 CONFIG_VDSO_GETRANDOM=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONT_8x16=y
+CONFIG_FONT_AUTOSELECT=y
 CONFIG_SG_POOL=y
 CONFIG_ARCH_HAS_PMEM_API=y
 CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
@@ -4405,6 +4448,7 @@ CONFIG_X86_VERBOSE_BOOTUP=y
 CONFIG_EARLY_PRINTK=y
 # CONFIG_EARLY_PRINTK_DBGP is not set
 # CONFIG_EARLY_PRINTK_USB_XDBC is not set
+# CONFIG_EFI_PGT_DUMP is not set
 # CONFIG_DEBUG_TLBFLUSH is not set
 CONFIG_HAVE_MMIOTRACE_SUPPORT=y
 # CONFIG_X86_DECODER_SELFTEST is not set
-- 
2.39.5




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-01-24 10:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-24 10:03 [DistroKit] [PATCH] x86_64: kernel: enable EFI support Roland Hieber
2025-01-24 10:09 ` Ahmad Fatoum
2025-01-24 10:13   ` Roland Hieber
2025-01-24 10:16 ` [DistroKit] [PATCH v2] " Roland Hieber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox