Linux has earlycon outputs!
Closed this issue · 2 comments
gtxzsxxk commented
I am too happy
OpenSBI v1.4
____ _____ ____ _____
/ __ \ / ____| _ \_ _|
| | | |_ __ ___ _ __ | (___ | |_) || |
| | | | '_ \ / _ \ '_ \ \___ \| _ < | |
| |__| | |_) | __/ | | |____) | |_) || |_
\____/| .__/ \___|_| |_|_____/|____/_____|
| |
|_|
Platform Name : Low-speed Linux Experimental Platform
Platform Features : medeleg
Platform HART Count : 1
Platform IPI Device : ---
Platform Timer Device : --- @ 0Hz
Platform Console Device : uart8250
Platf00-0x80fcffff M: (R,W) S/U: ()
Domain0 Region02 : 0x80fa0000-0x80fbffff M: (R,X) S/U: ()
Domain0 Region03 : 0x00000000-0xffffffff M: () S/U: (R,W,X)
Domain0 Next Address : 0x80000000
Domain0 Next Arg1 : 0x80ffd800
Domain0 Next Mode : S-mode
Domain0 SysReset : yes
Domain0 SysSuspend : yes
Boot HART ID : 0
Boot HART Domain : root
Boot HART Priv Version : v1.10
Boot HART Base ISA : rv32ia
Boot HART ISA Extensions : zicntr
Boot HART PMP Count : 0
Boot HART PMP Granularity : 0 bits
Boot HART PMP Address Bits: 0
Boot HART MHPM Info : 0 (0x00000000)
Boot HART Debug Triggers : 0 triggers
Boot HART MIDELEG : 0x00000222
Boot HART MEDELEG : 0x0000b109
U-Boot 2024.04-rc2-gc7fa4f0df9-dirty (Feb 27 2024 - 21:30:47 +0800)Low-speed Linux Experimental Platform
DRAM: 15.6 MiB
Core: 8 devices, 8 uclasses, devicetree: separate
Loading Environment from nowhere... OK
In: uart@12500000
Out: uart@12500000
Err: uart@12500000
Net: No ethernet found.
llep@temu => unzip 0x80aa0000 0x80000000
unzip 0x80aa0000 0x80000000
Uncompressed size: 5213612 = 0x4F8DAC
llep@temu => setenv bootargs "earlycon=sbi"
setenv bootargs "earlycon=sbi"
llep@temu => bootm 0x80000000 - 0x80ffd800
bootm 0x80000000 - 0x80ffd800
## Booting kernel from Legacy Image at 80000000 ...
Image Name:
Created: 2024-02-28 15:22:24 UTC
Image Type: RISC-V Linux Kernel Image (uncompressed)
Data Size: 5213548 Bytes = 5 MiB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... data 2147483712 len 5213548 dcrc 915660109 img_crc 915660109
OK
## Flattened Device Tree blob at 80ffd800
Booting using the fdt blob at 0x80ffd800
Working FDT set to 80ffd80
Loading Kernel Image to 80000000
do_bootm_linux flag=0x00000100
Using Device Tree in place at 80ffd800, end 81001e8c
Working FDT set to 80ffd800
do_bootm_linux flag=0x00000400
Starting kernel ...
Jump to kernel now: 0x80000000
[ 0.000000][ T0] Linux version 6.8.0-rc4-00002-g6a5b9ce15e61-dirty (root@hyz-wsl) (riscv32-buildroot-linux-gnu-gcc.br_real (Buildroot -ge725bb3-dirty) 12.3.0, GNU ld (GNU Binutils) 2.40) #29 Wed Feb 28 23:21:30 CST 2024
[ 0.000000][ T0] Machine model: snps,emsdp
[ 0.000000][ T0] SBI specification v2.0 detected
[ 0.000000][ T0] SBI implementation ID=0x1 Version=0x10004
[ 0.000000][ T0] SBI TIME extension detected
[ 0.000000][ T0] SBI IPI extension detected
[ 0.000000][ T0] SBI RFENCE extension detected
[ 0.000000][ T0] SBI DBCN extension detected
[ 0.000000][ T0] earlycon: sbi0 at I/O port 0x0 (options '')
[ 0.000000][ T0] printk: legacy bootconsole [sbi0] enabled
[ 0.000000][ T0] [paging_init] Test of earlycon printk
[ 0.000000][ T0] Zone ranges:
[ 0.000000][ T0] Normal [mem 0x0000000080000000-0x0000000080f9ffff]
[ 0.000000][ T0] Movable zone start for each node
[ 0.000000][ T0] Early memory node ranges
[ 0.000000][ T0] node 0: [mem 0x0000000080000000-0x0000000080f9ffff]
[ 0.000000][ T0] Initmem setup node 0 [mem 0x0000000080000000-0x0000000080f9ffff]
[ ][ T0] On node 0, zone Normal: 28768 pages in unavailable ranges
[ 0.000000][ T0] Unable to find cpu node
[ 0.000000][ T0] Falling back to deprecated "riscv,isa"
[ 0.000000][ T0] Unable to find cpu node
[ 0.000000][ T0] riscv: base ISA extensions
[ 0.000000][ T0] riscv: ELF capabilities
[ 0.000000][ T0] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000][ T0] pcpu-alloc: [0] 0
[ 0.000000][ T0] Kernel command line: "earlycon=sbi"
[ 0.000000][ T0] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[ 0.000000][ T0] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.000000][ T0] Built 1 zonelists, mobility grouping off. Total pages: 3968
[ 0.000000][ T0] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000][ T0] Memory: 9684K/16000K available (3895K kernel code, 219K rwdata, 768K rodata, 204K init, 125K bss, 6316K reserved, 0K cma-reserved)
[ 0.000000][ T0] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000][ T0] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000][ T0] Kernel panic - not syncing: No interrupt controller found.
[ 0.000000][ T0] CPU: 0 PID: 0 Comm: swapper Not tainted 6.8.0-rc4-00002-g6a5b9ce15e61-dirty #29
[ 0.000000][ T0] Hardware name: snps,emsdp (DT)
[ 0.000000][ T0] Call Trace:
[ 0.000000][ T0] [<c0004b70>] dump_backtrace+0x2c/0x3c
[ 0.000000][ T0] [<c03bb1a8>] show_stack+0x44/0x5c
[ 0.000000][ T0] [<c03c3600>] dump_stack_lvl+0x34/0x54
[ 0.000000][ T0] [<c03c363c>] dump_stack+0x1c/0x2c
[ 0.000000][ T0] [<c03bb53c>] panic+0x13c/0x300
[ 0.000000][ T0] [<c03d2d5c>] init_IRQ+0x3c/0x4c
[ 0.000000][ T0] [<c03cfa88>] start_kernel+0x3ec/0x564
[ 0.000000][ T0] ---[ end Kernel panic - not syncing: No interrupt controller found. ]---
gtxzsxxk commented
TODO:
Run RISC-V compliance tests on lr/sc
gtxzsxxk commented
We added tests for lr/sc and it passed. We added interrupt controller intc and plic.