diff options
| author | Simon Glass <[email protected]> | 2021-10-14 12:48:03 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2021-11-11 19:02:27 -0500 |
| commit | 9e62e7ca543ea94a46f30053262f67202e2435f4 (patch) | |
| tree | 9488e089c17fb5836b8a3157e8fee5dbe26cb097 /boot | |
| parent | 929860bfbb3bb3d1bed1f5cbb8af8fbe8e5460a7 (diff) | |
pxe: Move common parsing coding into pxe_util
Both the syslinux and pxe commands use essentially the same code to parse
and run extlinux.conf files. Move this into a common function.
Signed-off-by: Simon Glass <[email protected]>
Reviewed-by: Artem Lapkin <[email protected]>
Tested-by: Artem Lapkin <[email protected]>
Reviewed-by: Ramon Fried <[email protected]>
Diffstat (limited to 'boot')
| -rw-r--r-- | boot/pxe_utils.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c index 6ecd15ceada..f40ad2b161e 100644 --- a/boot/pxe_utils.c +++ b/boot/pxe_utils.c @@ -1505,3 +1505,23 @@ void pxe_setup_ctx(struct pxe_context *ctx, struct cmd_tbl *cmdtp, ctx->userdata = userdata; ctx->allow_abs_path = allow_abs_path; } + +int pxe_process(struct pxe_context *ctx, ulong pxefile_addr_r, bool prompt) +{ + struct pxe_menu *cfg; + + cfg = parse_pxefile(ctx, pxefile_addr_r); + if (!cfg) { + printf("Error parsing config file\n"); + return 1; + } + + if (prompt) + cfg->prompt = 1; + + handle_pxe_menu(ctx, cfg); + + destroy_pxe_menu(cfg); + + return 0; +} |
