From ab3e4fc2bd93dab7d059f06747f6825391926a43 Mon Sep 17 00:00:00 2001 From: bluew Date: Mon, 13 Jun 2022 17:17:00 +0200 Subject: [PATCH 1/2] boot: Do not load from stack pointer which is most likley invalid --- boot/crt0.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot/crt0.S b/boot/crt0.S index 054f1841..0545b89e 100644 --- a/boot/crt0.S +++ b/boot/crt0.S @@ -41,7 +41,7 @@ _start: /* TODO: load data from ROM */ /* call main */ - lw a0, 0(sp) /* a0 = argc */ + li a0, 0 /* a0 = argc */ addi a1, sp, __SIZEOF_POINTER__ /* a1 = argv */ li a2, 0 /* a2 = envp = NULL */ call main From 23b40db8a6bc7e038435287945399a3ce23242f6 Mon Sep 17 00:00:00 2001 From: bluew Date: Mon, 13 Jun 2022 17:18:00 +0200 Subject: [PATCH 2/2] boot: Re generate boot rom --- boot/boot_code_asic.objdump | 4 ++-- boot/boot_code_fpga.objdump | 4 ++-- sim/boot/boot_code.cde | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/boot/boot_code_asic.objdump b/boot/boot_code_asic.objdump index 1d5d8313..7e1c1bf4 100644 --- a/boot/boot_code_asic.objdump +++ b/boot/boot_code_asic.objdump @@ -1617,8 +1617,8 @@ default_handler: 1a00103a: 0291 addi t0,t0,4 bltu t0, t1, 1b 1a00103c: fe62ede3 bltu t0,t1,1a001036 <_start+0x20> - lw a0, 0(sp) /* a0 = argc */ -1a001040: 4502 lw a0,0(sp) + li a0, 0 /* a0 = argc */ +1a001040: 4501 li a0,0 addi a1, sp, __SIZEOF_POINTER__ /* a1 = argv */ 1a001042: 004c addi a1,sp,4 li a2, 0 /* a2 = envp = NULL */ diff --git a/boot/boot_code_fpga.objdump b/boot/boot_code_fpga.objdump index 1d5d8313..7e1c1bf4 100644 --- a/boot/boot_code_fpga.objdump +++ b/boot/boot_code_fpga.objdump @@ -1617,8 +1617,8 @@ default_handler: 1a00103a: 0291 addi t0,t0,4 bltu t0, t1, 1b 1a00103c: fe62ede3 bltu t0,t1,1a001036 <_start+0x20> - lw a0, 0(sp) /* a0 = argc */ -1a001040: 4502 lw a0,0(sp) + li a0, 0 /* a0 = argc */ +1a001040: 4501 li a0,0 addi a1, sp, __SIZEOF_POINTER__ /* a1 = argv */ 1a001042: 004c addi a1,sp,4 li a2, 0 /* a2 = envp = NULL */ diff --git a/sim/boot/boot_code.cde b/sim/boot/boot_code.cde index 771ea4f0..9d4a5a99 100644 --- a/sim/boot/boot_code.cde +++ b/sim/boot/boot_code.cde @@ -1038,7 +1038,7 @@ 10100000001000111101100011100011 00000010100100010000000000000010 11111110011000101110110111100011 -00000000010011000100010100000010 +00000000010011000100010100000001 00100000100001010100011000000001 11011010010011111111000001101111 10000101100000101000000100110010