Re: Re: MVS under VM\ESA
Ivan Warren <[email protected]>
| Newsgroups | gmane.comp.emulators.hercules390.vm |
|---|---|
| Message-ID | <[email protected]> |
kerravon86 wrote: > > Ok, I guess that it causes a trap on every > priviledged instruction, while still appearing > to be priviledged in any instruction that would > see such a thing? Actually in SIE, not ALL privileged instructions get trapped (actually, the proper term for SIE is 'intercepted'). Those instructions that only alter the VM context itself without requiring the hypervisor to intervene don't need to be intercepted. It also gives the possibility of having a virtual TOD clock (which isn't possible with a S/370 hypervisor) and stuff like that. > > Ok, so they left the support for 370 I/O in > there, just like supporting BC mode. I/O support inside SIE depends on whether the virtual machine is a V=R or V=F virtual machine and whether the device is a dedicated or a virtual I/O device (something called SIE I/O Assist). However, in most cases, an I/O instruction will be intercepted and then emulated by the hypervisor. That's possible because S/370 I/O can be emulated by an hypervisor with the use of XA+ I/O (although the reverse isn't true). > >> When a S/370 program running on a S/370 with 4K >> protection keys issues a >> SSK or ISK instruction, it will be greeted with a program interrupt >> *UNLESS* CR0 Bit 7 is set to 1 in which case, SSK and ISK >> operate in the same manner as as SSKE/ISKE. > > Why wasn't this made the default, for upward > compatibility, like is normally done? Now every > single old program needs to be hacked to update > every manipulation of CR0, to make sure that > bit 7 is set? S/370 was never designed to be upward compatible, only backward compatible, but that's actually a backward compatibility issue, and S/370 (and above) only ensure backward compatibility for Problem state functions, not control functions (and Storage protection keys are a control function). And SSK/ISK and SSKE/ISKE operate differently. If a control program needs distinct 2K Page SSKs on the same 4K page, then the semantics are changed and the control program needs to be made aware of it. Setting CR0 bit 7 is only possible if the control program knows that both 2K storage keys for a 4K page are going to be identical - at which point it can use SSK/ISK. The role of CR0 bit 7 is so that you can then operate on systems that have 2K storage keys and those that have 4K storage keys alike. --Ivan
smime.p7s
(application/x-pkcs7-signature, 4 KB) - not displayed