From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Simon Glass <sjg@chromium.org>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>,
U-Boot Mailing List <u-boot@lists.denx.de>,
Tom Rini <trini@konsulko.com>
Subject: Re: [PATCH v3 22/32] efi: Update EFI_LOADER to depend on DM_ETH
Date: Fri, 20 Oct 2023 09:30:34 +0900 [thread overview]
Message-ID: <ZTHKKurIp67bx2MJ@octopus> (raw)
In-Reply-To: <CAPnjgZ2tJEBNWsx_tLDTWyQ+xNyLj6feDenqEcCe+t3JNEdv8g@mail.gmail.com>
On Thu, Oct 19, 2023 at 08:01:11AM -0600, Simon Glass wrote:
> Hi Heinrich,
>
> On Wed, 18 Oct 2023 at 06:55, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> >
> > On 10/17/23 16:09, Tom Rini wrote:
> > > On Mon, Oct 16, 2023 at 04:28:13PM -0600, Simon Glass wrote:
> > >
> > >> Since efi_device_path.c calls eth_get_dev() and assumes that Ethernet is
> > >> available, add it as an explicit dependency.
> > >>
> > >> Signed-off-by: Simon Glass <sjg@chromium.org>
> > >> ---
> > >>
> > >> (no changes since v2)
> > >>
> > >> Changes in v2:
> > >> - Add new patch to update EFI_LOADER to depend on DM_ETH
> > >>
> > >> lib/efi_loader/Kconfig | 1 +
> > >> 1 file changed, 1 insertion(+)
> > >>
> > >> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > >> index 13cad6342c36..fca4b3eef270 100644
> > >> --- a/lib/efi_loader/Kconfig
> > >> +++ b/lib/efi_loader/Kconfig
> > >> @@ -11,6 +11,7 @@ config EFI_LOADER
> > >> # 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 DM_ETH
> > >> depends on !EFI_APP
> > >> default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
> > >> select CHARSET
> > >
> > > Does this work for you Heinrich, or do you want to clarify the
> > > dependencies (and re-organize the code as needed) around networking?
> > >
> >
> > We should be able to boot via EFI on devices without U-Boot network support.
> >
> > We already use IS_ENABLED(CONFIG_NETDEVICES) to avoid invoking
> > eth_get_dev() if there is no network. CONFIG_NETDEVICES=y selects
> > CONFIG_DM_ETH.
> >
> > Why is this not sufficient?
> > Is there a configuration that does not build?
>
> The point of this series is to disable CMDLINE and fix up what breaks.
>
> In this case we have some sort of breakage...perhaps Tom has already
> found it, but otherwise could you take a look?
>
> We should be able to disable NET and LTO in sandbox and still build.
> But this fails at present[1]. You can try it on -master
Obviously, it would be necessary to enclose efi_dp_from_eth()
with "if defined(CONFIG_NETDEVICES)" (or DM_ETH).
Then, we could drop "depends on DM_ETH".
Another possible place for completeness is "case UCLASS_ETH" clause
in dp_size(), but it seems to be harmless.
-Takahiro Akashi
> Regards,
> Simon
>
> [1] sjg@sjg1:~/u$ crosfw sandbox -L
> cmd: make -j4 'CROSS_COMPILE=' --no-print-directory 'HOSTSTRIP=true'
> 'QEMU_ARCH=' 'KCONFIG_NOSILENTUPDATE=1' 'O=/tmp/b/sandbox' 'NO_LTO=1'
> -s 'BUILD_ROM=1' all
> /usr/bin/ld: lib/efi_loader/efi_device_path.o: in function `efi_dp_from_eth':
> /home/sjg/c/src/third_party/u-boot/files/lib/efi_loader/efi_device_path.c:985:(.text+0xca4):
> undefined reference to `eth_get_dev'
> /usr/bin/ld: /home/sjg/c/src/third_party/u-boot/files/lib/efi_loader/efi_device_path.c:987:(.text+0xca9):
> undefined reference to `eth_get_dev'
> /usr/bin/ld: /home/sjg/c/src/third_party/u-boot/files/lib/efi_loader/efi_device_path.c:993:(.text+0xcc9):
> undefined reference to `eth_get_dev'
> collect2: error: ld returned 1 exit status
> make[1]: *** [/home/sjg/c/src/third_party/u-boot/files/Makefile:1765:
> u-boot] Error 1
> make: *** [Makefile:177: sub-make] Error 2
>
> sjg@sjg1:~/u$ crosfw sandbox
> sjg@sjg1:~/u$ (passes)
>
> 'crosfw xx' is just 'buildman --bo xxx'
>
> diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c
> index a92bb896c63e..4e9996a92342 100644
> --- a/boot/pxe_utils.c
> +++ b/boot/pxe_utils.c
> @@ -48,7 +48,7 @@ int pxe_get_file_size(ulong *sizep)
>
> return 0;
> }
> -
> +#if 0
> /**
> * format_mac_pxe() - obtain a MAC address in the PXE format
> *
> @@ -82,7 +82,7 @@ int format_mac_pxe(char *outbuf, size_t outbuf_len)
>
> return 1;
> }
> -
> +#endif
> /**
> * get_relfile() - read a file relative to the PXE file
> *
> diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
> index 47417cb0391d..57bb6202dbb5 100644
> --- a/configs/sandbox_defconfig
> +++ b/configs/sandbox_defconfig
> @@ -349,3 +349,4 @@ CONFIG_TEST_FDTDEC=y
> CONFIG_UNIT_TEST=y
> CONFIG_UT_TIME=y
> CONFIG_UT_DM=y
> +# CONFIG_NET is not set
>
> Regards,
> Simon
next prev parent reply other threads:[~2023-10-20 0:30 UTC|newest]
Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-16 22:27 [PATCH v3 00/32] Tidy up use of CONFIG_CMDLINE Simon Glass
2023-10-16 22:27 ` [PATCH v3 01/32] buildman: Use oldconfig when adjusting the config Simon Glass
2023-10-16 22:27 ` [PATCH v3 02/32] bootstd: Correct dependencies on CMDLINE Simon Glass
2023-10-17 13:32 ` Tom Rini
2023-10-18 3:30 ` Simon Glass
2023-10-18 13:25 ` Tom Rini
2023-10-18 14:42 ` Tom Rini
2023-10-18 15:25 ` Simon Glass
2023-10-16 22:27 ` [PATCH v3 03/32] autoboot: " Simon Glass
2023-10-16 22:27 ` [PATCH v3 04/32] cmd: Add a few more " Simon Glass
2023-10-17 13:32 ` Tom Rini
2023-10-18 3:30 ` Simon Glass
2023-10-18 12:56 ` Tom Rini
2023-10-18 13:14 ` Heinrich Schuchardt
2023-10-19 13:59 ` Simon Glass
2023-10-16 22:27 ` [PATCH v3 05/32] test: Make UNIT_TEST depend " Simon Glass
2023-10-16 22:27 ` [PATCH v3 06/32] sifive: Drop an unnecessary #ifdef Simon Glass
2023-10-18 13:51 ` Heinrich Schuchardt
2023-10-18 17:23 ` Sean Anderson
2023-10-18 23:57 ` Tom Rini
2023-10-16 22:27 ` [PATCH v3 07/32] fastboot: Declare a dependency on CMDLINE Simon Glass
2023-10-16 22:27 ` [PATCH v3 08/32] cli: Always build cli_getch Simon Glass
2023-10-16 22:28 ` [PATCH v3 09/32] cmd: Use an #ifdef around run_commandf() Simon Glass
2023-10-17 13:35 ` Tom Rini
2023-10-16 22:28 ` [PATCH v3 10/32] Move bootmenu_conv_key() into its own file Simon Glass
2023-10-16 22:28 ` [PATCH v3 11/32] pxe: Depend on CMDLINE Simon Glass
2023-10-16 22:28 ` [PATCH v3 12/32] env: Split out non-command code into a new file Simon Glass
2023-10-17 13:40 ` Tom Rini
2023-10-18 3:30 ` Simon Glass
2023-10-16 22:28 ` [PATCH v3 13/32] console: Move SYS_PBSIZE into common/ Simon Glass
2023-10-16 22:28 ` [PATCH v3 14/32] bootm: Allow building when cleanup functions are missing Simon Glass
2023-10-17 14:02 ` Tom Rini
2023-10-18 3:31 ` Simon Glass
2023-10-18 12:39 ` Tom Rini
2023-10-19 13:59 ` Simon Glass
2023-10-19 14:54 ` Tom Rini
2023-10-16 22:28 ` [PATCH v3 15/32] fdt: Move working_fdt into fdt_support Simon Glass
2023-10-16 22:28 ` [PATCH v3 16/32] net: Depend on CONFIG_CMDLINE Simon Glass
2023-10-17 14:03 ` Tom Rini
2023-10-18 3:31 ` Simon Glass
2023-10-16 22:28 ` [PATCH v3 17/32] log: Allow use without CONFIG_CMDLINE Simon Glass
2023-10-17 14:05 ` Tom Rini
2023-10-16 22:28 ` [PATCH v3 18/32] video: " Simon Glass
2023-10-17 14:07 ` Tom Rini
2023-10-18 3:31 ` Simon Glass
2023-10-18 12:40 ` Tom Rini
2023-10-16 22:28 ` [PATCH v3 19/32] video: Dont require the font command Simon Glass
2023-10-17 14:07 ` Tom Rini
2023-10-18 3:31 ` Simon Glass
2023-10-18 12:42 ` Tom Rini
2023-10-16 22:28 ` [PATCH v3 20/32] efi: Make commands depend on CMDLINE Simon Glass
2023-10-16 22:28 ` [PATCH v3 21/32] efi: Rearrange the Kconfig for CMD_BOOTEFI_BOOTMGR Simon Glass
2023-10-17 0:50 ` AKASHI Takahiro
2023-10-17 14:13 ` Tom Rini
2023-10-18 3:31 ` Simon Glass
2023-10-16 22:28 ` [PATCH v3 22/32] efi: Update EFI_LOADER to depend on DM_ETH Simon Glass
2023-10-17 14:09 ` Tom Rini
2023-10-18 3:31 ` Simon Glass
2023-10-18 12:43 ` Tom Rini
2023-10-18 12:55 ` Heinrich Schuchardt
2023-10-19 14:01 ` Simon Glass
2023-10-20 0:30 ` AKASHI Takahiro [this message]
2023-10-21 15:43 ` Simon Glass
2023-10-21 18:26 ` Tom Rini
2023-10-22 6:08 ` Heinrich Schuchardt
2023-10-22 14:29 ` Tom Rini
2023-10-22 14:58 ` Tom Rini
2023-10-22 21:55 ` Simon Glass
2023-10-22 22:55 ` Heinrich Schuchardt
2023-10-22 23:53 ` Tom Rini
2023-10-22 23:45 ` Tom Rini
2023-10-23 7:05 ` Simon Glass
2023-10-23 13:16 ` Tom Rini
2023-10-23 17:13 ` Simon Glass
2023-10-23 17:45 ` Tom Rini
2023-10-24 18:02 ` Simon Glass
2023-10-18 13:37 ` Tom Rini
2023-10-18 15:23 ` Simon Glass
2023-10-18 15:27 ` Tom Rini
2023-10-18 16:36 ` Simon Glass
2023-10-19 10:39 ` Peter Robinson
2023-10-19 13:39 ` Tom Rini
2023-10-19 14:01 ` Simon Glass
2023-10-16 22:28 ` [PATCH v3 23/32] cli: Split command-line-editing into its own file Simon Glass
2023-10-16 22:28 ` [PATCH v3 24/32] Add a new Kconfig for command-line entry Simon Glass
2023-10-16 22:28 ` [PATCH v3 25/32] Add a new Kconfig for command-line history Simon Glass
2023-10-16 22:28 ` [PATCH v3 26/32] sandbox: Disable CONFIG_DISTRO_DEFAULTS Simon Glass
2023-10-16 22:28 ` [PATCH v3 27/32] cmd: Make all commands depend on CMDLINE Simon Glass
2023-10-16 22:28 ` [PATCH v3 28/32] sandbox: Avoid requiring cmdline Simon Glass
2023-10-16 22:28 ` [PATCH v3 29/32] arm: x86: Drop discarding of command linker-lists Simon Glass
2023-10-16 22:28 ` [PATCH v3 30/32] mmc: env: Unify the U_BOOT_ENV_LOCATION conditions Simon Glass
2023-10-16 22:28 ` [PATCH v3 31/32] treewide: Tidy up semicolon after command macros Simon Glass
2023-10-16 22:28 ` [PATCH v3 32/32] sandbox: Add a test for disabling CONFIG_CMDLINE Simon Glass
2023-10-17 14:11 ` Tom Rini
2023-10-19 2:32 ` Tom Rini
2023-10-19 14:00 ` Simon Glass
2023-10-19 14:57 ` Tom Rini
2023-10-21 15:44 ` Simon Glass
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=ZTHKKurIp67bx2MJ@octopus \
--to=takahiro.akashi@linaro.org \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=xypron.glpk@gmx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox