On 10/11/23 23:41, Simon Glass wrote:
On Wed, 11 Oct 2023 at 18:56, Sean Anderson <[email protected]> wrote:
Add a test for loading U-Boot over TFTP. As with other sandbox net
routines, we need to initialize our packets manually since things like
net_set_ether and net_set_udp_header always use "our" addresses. We use
BOOTP instead of DHCP, since DHCP has a tag/length-based format which is
harder to parse. Our TFTP implementation doesn't define as many constants
as I'd like, so I create some here. Note that the TFTP block size is
one-based, but offsets are zero-based.
In order to avoid address errors, we need to set up/define some additional
address information settings. dram_init_banksize would be a good candidate
for settig up bi_dram, but it gets called too late in board_init_r.
Signed-off-by: Sean Anderson <[email protected]>
---
arch/sandbox/cpu/spl.c | 3 +
arch/sandbox/include/asm/spl.h | 1 +
configs/sandbox_noinst_defconfig | 6 +-
test/image/Kconfig | 9 ++
test/image/Makefile | 1 +
test/image/spl_load_net.c | 252 +++++++++++++++++++++++++++++++
6 files changed, 271 insertions(+), 1 deletion(-)
create mode 100644 test/image/spl_load_net.c
Reviewed-by: Simon Glass <[email protected]>
diff --git a/arch/sandbox/cpu/spl.c b/arch/sandbox/cpu/spl.c
index 09e3d10d6a5..8153df18d68 100644
--- a/arch/sandbox/cpu/spl.c
+++ b/arch/sandbox/cpu/spl.c
@@ -126,6 +126,9 @@ void spl_board_init(void)
{
struct sandbox_state *state = state_get_current();
+ gd->bd->bi_dram[0].start = gd->ram_base;
+ gd->bd->bi_dram[0].size = get_effective_memsize();
These could use a common as to why they are needed here.
OK.
--Sean