|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v1 0/1] [RISC-V] replace SBI early console with 8250 UART
On Mon, Sep 28, 2026 at 09:38:14AM +0200, Oleksii Kurochko wrote: > > > On 9/28/26 4:38 AM, Zhang Zheng wrote: > > The legacy SBI console extension is planned for deprecation. Replace the > > RISC-V early printk backend with direct access to 8250 UART MMIO. > > Won't it better just to start to add support of newer SBI? It provides > pretty good support + faster as it supports passing of string instead of one > char. > Using the newer SBI DBCN extension would indeed result in a smaller change. At the time, I mainly followed the direction suggested by the TODO and referred directly to the arm64 implementation, from which most of the code was adapted. > Also, I think it will lead to lesser changes. > If falling back to SBI console putchar is acceptable, DBCN should work well here. > ~ Oleksii > > > > > This also addresses truncated output observed on SpacemiT K3 when > > switching from early printk to dtuart. Direct UART access lets early > > printk flush the UART after each string before the dtuart driver takes > > over and clear it's FIFO, which cause the truncated uart output.> > > The truncated uart looks like: > > > > (XEN) Command line: dtuart=/soc/uart@d4017000:115200/921600 > > console=dtuart sync_console > > (XEN) Domain heap initialised > > (XEN) Booting using Device Tree > > (XEN) /home/zz/dev/git/xen_stuff/xen/xen/arch/riscv/cpufeature.c:710: > > SSTC detected; supported for Xen use, but not for guests > > (XEN) Looking for dtuart at "/soc/uart@d40 __ __ _ _ > > ____ _____ _ _ _ > > \ \/ /___ _ __ | || | |___ \|___ / _ _ _ __ ___| |_ __ _| |__ > > | | ___ > > \ // _ \ '_ \ | || |_ __) | |_ \ __| | | | '_ \/ __| __/ _` | '_ > > \| |/ _ \ > > / \ __/ | | | |__ _| / __/ ___) |__| |_| | | | \__ \ || (_| | |_) > > | | __/ > > /_/\_\___|_| |_| |_|(_)_____|____/ \__,_|_| > > |_|___/\__\__,_|_.__/|_|\___| > > > > (XEN) Xen version 4.23-unstable (zz@) (riscv64-linux-gnu-gcc (GCC) > > 15.1.0) debug=y ubsan=y Sat Sep 26 14:50:31 CST 2026 > > (XEN) Latest ChangeSet: Fri Sep 18 10:11:27 2026 +0800 git:77544a69ea > > > > Zheng Zhang (1): > > xen/riscv: replace SBI early console with 8250 UAR > > > > xen/arch/riscv/Kconfig.debug | 53 ++++++++++++++++++++-- > > xen/arch/riscv/configs/tiny64_defconfig | 2 + > > xen/arch/riscv/early_printk.c | 37 +++++++--------- > > xen/arch/riscv/include/asm/early_printk.h | 12 +++++ > > xen/arch/riscv/include/asm/fixmap.h | 6 ++- > > xen/arch/riscv/include/asm/sbi.h | 7 --- > > xen/arch/riscv/mm.c | 41 +++++++++++++---- > > xen/arch/riscv/riscv64/Makefile | 1 + > > xen/arch/riscv/riscv64/debug-8250.inc | 51 +++++++++++++++++++++ > > xen/arch/riscv/riscv64/debug.S | 54 +++++++++++++++++++++++ > > xen/arch/riscv/sbi.c | 5 --- > > 11 files changed, 223 insertions(+), 46 deletions(-) > > create mode 100644 xen/arch/riscv/riscv64/debug-8250.inc > > create mode 100644 xen/arch/riscv/riscv64/debug.S > > > > base-commit: 4c1aba82cff95ab11f7fe4af8965a06703537288
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |