shithub: riscv

Download patch

ref: 0ff5b74c2555ccc51f4b82de7428443949b6053f
parent: e2ddc61fed70c120ed61540181d1212f2cb05567
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Nov 12 14:32:57 EST 2023

devuart: cleanup uart console code

Some ports used a messy uarti8250 clone that had its
own backdoor unbuffered uart interface (serialputc()...),
which is really not needed at all, as devuart provides
one with uartputc(), once one sets uartcons variable.

There was some ugly interleaving of prints for mpinit,
which was because uartreset() (called from chandevreset)
would set serialoq ealy before the clocks are ticking,
so the coming up processors would use the buffered uart
while cpuidprint uses the unbufferd one...

Instead, we set serialoq in uartini() (called from
chandevinit) which is guaranteed to be done after
mpinit has completed.