-----------------------------<snip>-------------------------
I'm naive here. I suspect many of my misconceptions will be promptly
corrected.
It's my understanding that for many decades EXCP has not executed
channel programs in place and as provided by the caller. Rather, they
are moved to protected storage so the user can not modify them on the
fly; they are prefixed to prevent seeks to prohibited tracks; virtual
addresses are translated to real; etc. I'd further expect changes to CCW
architecture to accommodate XA and later 64-bit addressing and new I/O
architecture. So the "checks to prevent it" may be a matter of IBM's
resource allotment: rather than continually update EXCP code to all new
hardware features, it's easier simply to prohibit use of EXCP for such
purposes.
-------------------------<unsnip>---------------------------
Don't forget adjustments made for non-contiguous real storage areas
containing buffers, etc. (IDAW anyone?) :-)
----------------------------<snip>----------------------------
It has always struck me as bizarre that the OS supports running
channel programs built by problem-state programs. This is secure only if
the channel programs are in effect interpreted rather than executed
directly. A more rational layering of functions should have channel
programs built only by trustworthy supervisor-state code.
--------------------------<unsnip>----------------------------
Makes perfect sense to me. Under OS/360, we didn't have the protection
that CCW translation gives us today and it was incredibly easy to
destroy part of the OS. But EXCP is much of the mechanism for developing
support for new or exotic devices, like the old MCR/OCR gear that was so
doggone timing-sensitive.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html