Also, sleep() as a function (implemented by way of nanosleep) and new
absolute and relative sleep system calls added to newlib.
[ci skip] I damn well know this is going to break CI.
It now takes sizes in cells and calculates the correct window size.
Thus, \033[3000;127;45z should set the terminal to the "standard" size
available in 1024x768 full-screen mode, and which is specified in the
terminfo file provide.
* Speed improvements
* Crash fixers
* Significant overhaul to escape handling based on extensive use of the
new serial console and a remote connection to a Linux box.
* Updated included terminfo file to accurately reflect terminal
behavior.
Some fun facts:
* vim runs great on a remote console (though the serial line slows a lot
of things down, it still runs rather smoothly)
* going to fix GNU screen, maybe in next commit, dunno
* tested with htop, less, and a bunch of other stuff
* fix some terminal bugs (some, not all)
* add a serial device to the VFS
* fix up serial so it works better
* add a serial-console application
* fix a bug in some other stuff relating to allocations
* change size of the terminal described by toaru.terminfo
* adds a new system call
* Reenables building of libstdc++
* Enables building of g++
* WARNING: The static binary loader does NOT support static
initializer functions! You must run them yourself (see
userspace/test-cpp.cpp for an example that initializes the standard
streams in order to use cout) until this is fixed.
* C++ stuff is slow to load, try to manually strip, it'll speed things
up a bit.
So that I don't need to keep changing this or worry about bad commits,
support falling back to the classic compositor if the new compositor
doesn't work.