
Hi Tom,
BLK is currently a dependency for EFI_LOADER as shown in the snippet from lib/efi_loader/Kconfig below. Perhaps the question is why EFI_LOADER requires a block device? If I remove this depends on BLK line, then I can enable EFI and successfully simulate the EFI hello world on my test design.
config EFI_LOADER bool "Support running UEFI applications" depends on OF_LIBFDT && ( \ ARM && (SYS_CPU = arm1136 || \ SYS_CPU = arm1176 || \ SYS_CPU = armv7 || \ SYS_CPU = armv8) || \ X86 || RISCV || SANDBOX) # We need EFI_STUB_64BIT to be set on x86_64 with EFI_STUB depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT # We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT depends on BLK depends on !EFI_APP default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
Thanks.
-----Original Message----- From: Tom Rini trini@konsulko.com Sent: Wednesday, May 22, 2024 10:39 AM To: Brunham, Kalen kalen.brunham@intel.com Cc: U-Boot@lists.denx.de; Heinrich Schuchardt xypron.glpk@gmx.de Subject: Re: [PATCH 1/1] Added arm64 assembly for examples/api crt0
On Wed, May 22, 2024 at 01:25:51PM +0000, Brunham, Kalen wrote:
Hi Tom,
I'm using a defconfig that does not enable any of the configs listed on the default likes for config BLK (MMC, USB, SCSI, etc.), but I do have DM enabled. I cannot however enable BLK as CONFIG_BLK=y is ignored. My current hypothesis is that BLK is being forced to N by the select BLK in other Kconfig files, but I'm not sure.
Here's the Kconfig for drivers/block:
config BLK bool # "Support block devices" depends on DM default y if MMC || USB || SCSI || NVME || IDE || AHCI || SATA default y if EFI_MEDIA || VIRTIO_BLK || PVBLOCK
My current flow is: make mrproper make socfpga_agilex5_defconfig ./scripts/kconfig/merge_config.sh -O ./ ./.config ../../my_uboot_config.txt
Here my_uboot_config.txt hsd:
CONFIG_MMC=n CONFIG_USB=n CONFIG_DM_MMC=n CONFIG_SPL_DM_MMC=n CONFIG_BLK=y CONFIG_EFI_LOADER=y CONFIG_CMD_BOOTEFI=y CONFIG_EFI_LOADER=y CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y CONFIG_CMD_BOOTEFI_HELLO=y
The only way I was able to get BLK set to Y was to add another default like || DM_SPI_FLASH, since I do enable SPI flash in this config.
And why are you trying to enable BLK without any block devices?