This is another attempt to fix booting 32-bit QEMU SPARC machines in qemu-system-sparc using a real Sun PROM based upon further experiments and re-reading of the ESCC datasheet from a previous patch posted at https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg00324.html.
It appears that both the Sun PROM and OpenBSD with OpenBIOS fail to send an explicit reset command as recommended in the ESCC datasheet, which causes hangs during serial port enumeration since the introduction of the recent ESCC reset changes. The first patch always sets STATUS_TXEMPTY in R_STATUS on hardware reset which wasn't documented in the "Reset" section(s) but is documented in the "Transmit Interrupts and Transmit Buffer Empty Bit" section, whilst the second patch updates SPEC_ALLSENT when writing to W_TXCTRL1. Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Mark Cave-Ayland (2): escc: always set STATUS_TXEMPTY in R_STATUS on device reset escc: update the R_SPEC register SPEC_ALLSENT bit when writing to W_TXCTRL1 hw/char/escc.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -- 2.20.1