Module Name: src Committed By: tsutsui Date: Sat Sep 25 15:18:38 UTC 2021
Modified Files: src/sys/arch/luna68k/dev: lunaws.c sio.c sioreg.h siotty.c siovar.h src/sys/arch/luna68k/luna68k: machdep.c Added Files: src/sys/arch/luna68k/dev: siottyvar.h Removed Files: src/sys/arch/luna68k/dev: syscn.h Log Message: Refactor and cleanup sio (uPD7201) drivers. - remove confusing syscn*() functions (and its header) and prepare explicit siottycninit(), siottycnget() and siottycnput() functions - use exported struct consdev and cn_tab to initialize siotty console - enable and handle E/S interrupts to make BREAK signal detected properly - make CSR (status regsiters) access functions inline static - make single byte read/write (i.e. cnputc() and cngetc()) functions static inline and take struct sio_register rather than sio channel - use proper integer type (uint16_t) for getsiocsr() as siotty.c - handle channel dependent CR2A and CR2B registers properly - use more explicit definitions for RR_* macro used by getsiocsr() - define and use proper RR0 (read register) values (there is no isStatusReg(r) macro used on 4.4BSD/luna68k) Tested on LUNA with both wscons console and serial console. To generate a diff of this commit: cvs rdiff -u -r1.38 -r1.39 src/sys/arch/luna68k/dev/lunaws.c cvs rdiff -u -r1.15 -r1.16 src/sys/arch/luna68k/dev/sio.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/luna68k/dev/sioreg.h cvs rdiff -u -r1.50 -r1.51 src/sys/arch/luna68k/dev/siotty.c cvs rdiff -u -r0 -r1.1 src/sys/arch/luna68k/dev/siottyvar.h cvs rdiff -u -r1.8 -r1.9 src/sys/arch/luna68k/dev/siovar.h cvs rdiff -u -r1.1 -r0 src/sys/arch/luna68k/dev/syscn.h cvs rdiff -u -r1.106 -r1.107 src/sys/arch/luna68k/luna68k/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.