Compare commits

..

1 Commits

Author SHA1 Message Date
Simon Glass
5f31163c8f boot: Add missing code for bootz_run()
The bootz method is special in that it uses its own implementation of
several of the bootm states.

The existing do_bootz() function calls bootz_run() but first does a few
other things. These are missing in the direct call to bootz_run(). I
probably missed this because bootz_start() sets up its own
struct bootm_info so I assumed it was independent. While the struct
itself is independent, changes to the images member (which is a pointer)
persist.

Move the required code into bootz_run()

This change was manually tested on an rpi2 with postmarketOS added,
using standard boot and also the 'bootz' command.

Series-to: u-boot

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 47eda7e80e ("boot: pxe: Use bootm_...() functions where possible")
Reported-by: Svyatoslav Ryhel <clamor95@gmail.com>
2025-04-09 09:56:11 -06:00
25 changed files with 31 additions and 57 deletions

View File

@@ -3,7 +3,6 @@
* Copyright (c) 2010-2016, NVIDIA CORPORATION.
*/
#include <env.h>
#include <fdtdec.h>
#include <stdlib.h>
#include <asm/arch-tegra/cboot.h>

View File

@@ -4,7 +4,6 @@
* Copyright (C) 2015 Phil Sutter <phil@nwl.cc>
*/
#include <env.h>
#include <init.h>
#include <miiphy.h>
#include <asm/global_data.h>

View File

@@ -4,7 +4,6 @@
* Copyright 2019-2023 Kococonnector GmbH
*/
#include <env.h>
#include <errno.h>
#include <linux/libfdt.h>
#include <asm/io.h>

View File

@@ -5,7 +5,6 @@
*/
#include <dm.h>
#include <env.h>
#include <init.h>
#include <net.h>
#include <asm/io.h>

View File

@@ -3,8 +3,7 @@
* Copyright 2018 congatec AG
* Copyright (C) 2019 Oliver Graute <oliver.graute@kococonnector.com>
*/
#include <env.h>
#include <config.h>
#include <errno.h>
#include <linux/libfdt.h>
#include <fsl_esdhc.h>

View File

@@ -5,7 +5,6 @@
*/
#include <dm.h>
#include <env.h>
#include <i2c_eeprom.h>
#include <net.h>

View File

@@ -3,7 +3,6 @@
* Copyright 2020 NXP
*/
#include <env.h>
#include <miiphy.h>
#include <netdev.h>
#include <asm/arch/imx8ulp-pins.h>

View File

@@ -3,7 +3,6 @@
* Copyright (C) 2015 Freescale Semiconductor, Inc.
*/
#include <env.h>
#include <init.h>
#include <net.h>
#include <asm/arch/clock.h>

View File

@@ -3,7 +3,6 @@
* Copyright 2021 Gateworks Corporation
*/
#include <env.h>
#include <fdt_support.h>
#include <init.h>
#include <led.h>

View File

@@ -2,8 +2,6 @@
/*
* Copyright 2022 Google LLC
*/
#include <env.h>
#include <net.h>
#include <errno.h>
#include "mercury_aa1.h"

View File

@@ -13,7 +13,6 @@
*
*/
#include <env.h>
#include <fdt_support.h>
#include <init.h>
#include <log.h>

View File

@@ -4,7 +4,6 @@
* Author: Daniel Schultz <d.schultz@phytec.de>
*/
#include <env.h>
#include <malloc.h>
#include <u-boot/crc.h>
#include <net.h>

View File

@@ -3,7 +3,6 @@
* Copyright 2018 NXP
*/
#include <env.h>
#include <miiphy.h>
#include <asm-generic/gpio.h>
#include <asm/arch/imx8mq_pins.h>

View File

@@ -3,7 +3,6 @@
* Copyright (C) 2017 NXP Semiconductors
*/
#include <env.h>
#include <init.h>
#include <net.h>
#include <asm/arch/clock.h>

View File

@@ -4,7 +4,6 @@
*/
#include <cpu_func.h>
#include <env.h>
#include <init.h>
#include <net.h>
#include <asm/arch/clock.h>

View File

@@ -3,7 +3,7 @@
* Copyright 2020-2021 Toradex
*/
#include <env.h>
#include <config.h>
#include <init.h>
#include <asm/arch/clock.h>
#include <asm/arch/sys_proto.h>

View File

@@ -242,34 +242,31 @@ int do_bootvx(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
* The following parameters are only needed if 'bootdev'
* is an ethernet device, otherwise they are optional.
*/
if (IS_ENABLED(CONFIG_NET) || IS_ENABLED(CONFIG_NET_LWIP)) {
tmp = env_get("ipaddr");
tmp = env_get("ipaddr");
if (tmp) {
ptr += sprintf(build_buf + ptr, "e=%s", tmp);
tmp = env_get("netmask");
if (tmp) {
ptr += sprintf(build_buf + ptr, "e=%s", tmp);
tmp = env_get("netmask");
if (tmp) {
u32 mask = env_get_ip("netmask").s_addr;
ptr += sprintf(build_buf + ptr,
":%08x ", ntohl(mask));
} else {
ptr += sprintf(build_buf + ptr, " ");
}
u32 mask = env_get_ip("netmask").s_addr;
ptr += sprintf(build_buf + ptr,
":%08x ", ntohl(mask));
} else {
ptr += sprintf(build_buf + ptr, " ");
}
tmp = env_get("serverip");
if (tmp)
ptr += sprintf(build_buf + ptr, "h=%s ", tmp);
tmp = env_get("gatewayip");
if (tmp)
ptr += sprintf(build_buf + ptr, "g=%s ", tmp);
tmp = env_get("hostname");
if (tmp)
ptr += sprintf(build_buf + ptr, "tn=%s ", tmp);
}
tmp = env_get("serverip");
if (tmp)
ptr += sprintf(build_buf + ptr, "h=%s ", tmp);
tmp = env_get("gatewayip");
if (tmp)
ptr += sprintf(build_buf + ptr, "g=%s ", tmp);
tmp = env_get("hostname");
if (tmp)
ptr += sprintf(build_buf + ptr, "tn=%s ", tmp);
tmp = env_get("othbootargs");
if (tmp) {
strcpy(build_buf + ptr, tmp);

View File

@@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0+
// SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause
/*
* Copyright 2018 Google, Inc
* Written by Simon Glass <sjg@chromium.org>

View File

@@ -3,7 +3,6 @@
#include <asm/io.h>
#include <cpu_func.h>
#include <dm.h>
#include <env.h>
#include <malloc.h>
#include <net.h>
#include <netdev.h>

View File

@@ -1,4 +1,4 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/* SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause */
/*
* This provides a standard way of passing information between boot phases
* (TPL -> SPL -> U-Boot proper.)

View File

@@ -4,6 +4,8 @@
#define __NET_COMMON_H__
#include <asm/cache.h>
#include <command.h>
#include <env.h>
#include <hexdump.h>
#include <linux/if_ether.h>
#include <linux/sizes.h>
@@ -11,8 +13,6 @@
#include <rand.h>
#include <time.h>
struct cmd_tbl;
#define DEBUG_NET_PKT_TRACE 0 /* Trace all packet data */
/*
@@ -463,7 +463,10 @@ int update_tftp(ulong addr, char *interface, char *devstring);
* 0 to 255
* Return: IP address, or 0 if invalid
*/
struct in_addr env_get_ip(char *var);
static inline struct in_addr env_get_ip(char *var)
{
return string_to_ip(env_get(var));
}
int net_init(void);

View File

@@ -17,7 +17,6 @@
#include <log.h>
#include <time.h>
#include <linux/if_ether.h>
#include <linux/string.h>
struct bd_info;
struct cmd_tbl;

View File

@@ -11,7 +11,6 @@
#define __NET6_H__
#include <net.h>
#include <asm/byteorder.h>
#include <linux/ctype.h>
#include <linux/errno.h>

View File

@@ -1,5 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
#include <env.h>
#include <net-common.h>
void copy_filename(char *dst, const char *src, int size)
@@ -26,8 +25,3 @@ int wget_request(ulong dst_addr, char *uri, struct wget_http_info *info)
wget_info = info ? info : &default_wget_info;
return wget_with_dns(dst_addr, uri);
}
struct in_addr env_get_ip(char *var)
{
return string_to_ip(env_get(var));
}

View File

@@ -3,7 +3,6 @@
* Copyright 2019 Ramon Fried <rfried.dev@gmail.com>
*/
#include <env.h>
#include <net.h>
#include <net/pcap.h>
#include <time.h>