using legacy import is dangerious as it is unencrypted by default,
so a man in the middle can force the fallback to import protocol
and then take over the connection to the remote machine gaining
full access to is.
add support for edp, dp and hdmi on haswell and haswell ult.
vga, dvi and specific configurations like ulx are unimplemented.
remaining issue: edp link training always fails (time out).
the problem is that segio doesnt check segment attributes
and it can't really in case of SG_FAULT which can be
inherited from pseg and toggle at any time.
so instead of returning -1 from fault into the fault$cputype
handler which then panics when fault happend kernel mode,
we jump into segio's waserror() block just like in the
demand load i/o error case (faulterror()).
make sure the loop terminates and doesnt get stuck at
name == aname. avoid memrchr() as it conflicts with
libc on unix (drawterm). declare namelenerror() as
static.
calling write(1, "\b", 1); for each rune to be removed is a lot of
overhead, and we don’t want rio to turn each of these writes into a
draw operation.
also, it now prints to stderr before exiting if initdraw() fails
raiz → the reason that the manpage example works not because
it's a correct timezone file format, but because readtimezone()
(in libc) fails and defaults to GMT.
instead of always just requesting the missing range
of the current piece, remember the workpiece offset
and request sequential chunks from the workpiece.
this avoids double requests of the same ranges when
the peer does not respond with the data immidiately.
just use cleanname() to implement pathcat(), which
handles double slashes and ".." elements already.
have to free the partial dir structue on error in
parsedir().
use estrdup9p() instead of strdup().