-Don't assume fonts to start with character 0, load at the
right offset. Now we can use eg wsfont/bold8x16.h which
starts with chr(1).
-Don't touch the hardware if a font is set for a screen which is
not active.
specify device logical blocksize.
Furthermore, it also adds an 'immediate' option, which then sends more modern
devices into formatting in the background. scsictl still waits around and
sends a TEST UNIT READY every 10 seconds and, based upon the sense data
it gets back after the invariable CHECK CONDITION, prints out a progress
indicator (based upon SKSV progress in the sense data).
While we're at it, add a 'tur', 'reserve', 'release', 'start' and 'stop'
functions to the device commands.
Fix a long standing bug in scsi_command- the value in retsts is an integral
value- not a bitmask.
most significant change:
>make sure # of response matches # of queries, fixes int overflow; from ISS
as we have already enabled privsep by default, we should have been safe.
correct bad practice in the code - it uses two changing variables
to manage buffer (buf and buflen). we eliminate buflen and use
fixed point (ep) as the ending pointer.
this fix is critical.
16 SR registers when transitioning between kernel and user. Also, don't
reload the kernel SR(s) on every trap but only on traps from user space.
Instead of loading magic SRs for the kernel, load the kernel SRs from the
kernel_pmap_. This makes trap_subr.S completely ignorant of SR uses and
so they can change with having to change trap_subr.S. Also note that
since the user and kernel get complete SR sets, user VA space can now be
increased to 4GB if desired.
Note that we never use a PTE PP of 0 or 1 (supervisor protection) so the
"key" is basically unused. However, use SR_PRKEY for user space is
conceptionally the right thing to do. Currently the kernel_pmap SR(s) are
ignored but that is going to be fixed shortly.