From 80c93613d2147ffdbc103caa88cd0d361b2800f0 Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Fri, 12 Jul 2024 18:40:39 +0200 Subject: [PATCH] Try FDT address 0x80013000 --- JOURNAL.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++ lagarto-ox.nix | 2 +- 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/JOURNAL.md b/JOURNAL.md index 395aac8..99576df 100644 --- a/JOURNAL.md +++ b/JOURNAL.md @@ -2455,3 +2455,61 @@ Yep, that causes OpenSBI to not emit any message in the console, so let's put it back in 0x40001000. Next, we may want to place the FDT in the previous location, at 0x80017000. + + => setenv bootargs "root=/dev/ram0 loglevel=7 debug rw earlycon=sbi console=hvc0 trace_event=initcall:* trace_options=sym-addr tp_printk trace_buf_size=1M" + => setenv ramdisk_size 12614846 + => booti ${kernel_addr_r} ${ramdisk_addr_r}:${ramdisk_size} ${fdtcontroladdr} + +Hmm, continues to hang in the same point: + + [ 2.852200] initcall_start: func=check_unaligned_access_all_cpus+0x0/0x1d4 + +With this regions: + + OpenSBI v1.4 + ____ _____ ____ _____ + / __ \ / ____| _ \_ _| + | | | |_ __ ___ _ __ | (___ | |_) || | + | | | | '_ \ / _ \ '_ \ \___ \| _ < | | + | |__| | |_) | __/ | | |____) | |_) || |_ + \____/| .__/ \___|_| |_|_____/|____/_____| + | | + |_| + + Platform Name : Barcelona Supercomputing Center - Lagarto Ox (NixOS) + Platform Features : medeleg + Platform HART Count : 1 + Platform IPI Device : --- + Platform Timer Device : --- @ 0Hz + Platform Console Device : uart8250 + Platform HSM Device : --- + Platform PMU Device : --- + Platform Reboot Device : --- + Platform Shutdown Device : --- + Platform Suspend Device : --- + Platform CPPC Device : --- + Firmware Base : 0x80000000 + Firmware Size : 323 KB + Firmware RW Offset : 0x40000 + Firmware RW Size : 67 KB + Firmware Heap Offset : 0x48000 + Firmware Heap Size : 35 KB (total), 2 KB (reserved), 8 KB (used), 24 KB (free) + Firmware Scratch Size : 4096 B (total), 288 B (used), 3808 B (free) + Runtime SBI Version : 2.0 + + Domain0 Name : root + Domain0 Boot HART : 0 + Domain0 HARTs : 0* + Domain0 Region00 : 0x0000000040001000-0x0000000040001fff M: (I,R,W) S/U: (R,W) + Domain0 Region01 : 0x0000000080040000-0x000000008005ffff M: (R,W) S/U: () + Domain0 Region02 : 0x0000000080000000-0x000000008003ffff M: (R,X) S/U: () + Domain0 Region03 : 0x0000000000000000-0xffffffffffffffff M: () S/U: (R,W,X) + Domain0 Next Address : 0x0000000080200000 + Domain0 Next Arg1 : 0x0000000080017000 + Domain0 Next Mode : S-mode + Domain0 SysReset : yes + Domain0 SysSuspend : yes + +I will also try 0x80013000 as address as I saw it being used before, but I don't +think it is the problem. It must be related with how the initialization is now +different. diff --git a/lagarto-ox.nix b/lagarto-ox.nix index e25a3c3..faf6624 100644 --- a/lagarto-ox.nix +++ b/lagarto-ox.nix @@ -322,7 +322,7 @@ # Ensure it doesn't overlap from the 0x80200000 where the kernel will be # placed. - "FW_PAYLOAD_FDT_ADDR=0x80017000" + "FW_PAYLOAD_FDT_ADDR=0x80013000" ]; patches = [ #./opensbi-timer-debug.patch