cp: guest layer revamp, part 1
NOTE: The code compiles but does not run.
The guest handling code and the shell code are *too* intertwined. They are
separate logically and so the implementation should be too. This commit
moves a lot of the guest handling code out of the shell source tree and into
the guest tree where it belongs. Additionally, it is the beginning of a
nice interface (function names guest_*) that the shell can use to control
the guest.
Additionally, this commit "breaks" the console layer in preparation for the
new console handling scheme. This scheme will allow for guests to login,
logout, disconnect, and reconnect. The main idea is to have a service guest
(called *LOGIN) that is responsible for displaying the login screens,
getting user credentials, and then informing the CP that a user is at a
particular terminal. CP will then remove the device from *LOGIN's control
and assign it to a newly allocated virt_sys. In order for this scheme to
work, several pieces of code need to be written:
- dynamic virt_device attach / detach (in libguest)
- *LOGIN guest code
- dedicated 3215 device handling
- DIAG mechanism to inform CP that a logon occured
Lastly, this commit moves the IPL-from-device helper into a separate NSS.
This will mean that *all* IPL commands at the shell end up being NSS IPLs.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
34 files changed: