[PATCH v2 01/39] RFC: efi: Drop code that doesn't work with driver model

Jan Kiszka jan.kiszka at siemens.com
Fri Oct 14 17:25:49 CEST 2022


On 14.10.22 17:10, Heinrich Schuchardt wrote:
> On 10/14/22 13:51, Jan Kiszka wrote:
>> On 21.10.21 01:34, Heinrich Schuchardt wrote:
>>> On 9/25/21 2:30 AM, Simon Glass wrote:
>>>> This code should never have been added as it builds a new feature on
>>>> top
>>>> of legacy code. This has already been improved with the dependency on
>>>> BLK.
>>>>
>>>> Add a dependency on DM_ETH also, to avoid needing to deal with this old
>>>> code.
>>>>
>>>> Boards which want EFI_LOADER should migrate to driver model first.
>>>>
>>>> Note this patch is included to resolve the following build error:
>>>>
>>>> lib/efi_loader/efi_runtime.c:680:16: error: ‘CONFIG_SYS_TEXT_BASE’
>>>>      undeclared (first use in this function); did you mean
>>>>      ‘CONFIG_SYS_SRAM_BASE’?
>>>>     680 |   ulong base = CONFIG_SYS_TEXT_BASE;
>>>>         |                ^~~~~~~~~~~~~~~~~~~~
>>>>         |                CONFIG_SYS_SRAM_BASE
>>>>
>>>> Signed-off-by: Simon Glass <sjg at chromium.org>
>>>
>>> Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>>>
>>
>> How to deal with boards that need CONFIG_NET but do not actually
>> implement any driver (yet)? This now broke UEFI for the IOT2050 which
>> needs NET for network-related device tree setup (see also [1]) and
>> enforces a local hack for us.
> 
> UEFI will not provide network without a DM driver.
> The migration period ended 2020.07.

We are not interested in networking in UEFI so far. We need other
features from CONFIG_NET, namely mac address transfer into the DT.

> 
> make iot2050_defconfig set EFI_LOADER=y.
> What does not work in UEFI?

This is a hack, just like my "select DM_ETH" in our board kconfig now.
We want users to be able to configure this via kconfig as well.

> 
> Are you missing a way to call eth_get_dev() to trigger aforementioned
> devicetree setup?

Nope, eth_env_set_enetaddr_by_index, and also some networking var flags
for setting CONFIG_ENV_FLAGS_LIST_STATIC. That's what my cited patch
takes care of.

> 
> Adding 'net list' to CONFIG_PREBOOT might do the trick.

We don't enable CONFIG_CMD_NET - because there is no network to
configure with it.

Thanks,
Jan

-- 
Siemens AG, Technology
Competence Center Embedded Linux



More information about the U-Boot mailing list