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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.