tspink / infos

The School of Informatics (University of Edinburgh) Research Operating System
MIT License
46 stars 21 forks source link

Add serial console support, and replace CGA terminal escaping with ANSI #14

Open stephenrkell opened 8 months ago

stephenrkell commented 8 months ago

These patches add support for a serial console. The UART code is loosely based on that of MIT's xv6. It has allowed me at King's to run a coursework that is hosted on a single machine that the students use exclusively over SSH.

As well as adding the UART driver, the changes modify the terminal escaping, from the former ad-hoc scheme using the CGA attr byte to a subset of ANSI escape codes, enough to generate colour text on the students' terminal emulators.

All this is only tested on qemu, not real hardware, but it was used successfully by a class of nearly 400 students last spring.

There is a corresponding patchset for infos-user that I'll pull-request over there.