On Tue, 12 Nov 2019 07:13:16 -0600, John McKown wrote:

>On Tue, Nov 12, 2019 at 6:56 AM Peter Relson <rel...@us.ibm.com> wrote:
>
>> <snip>
>> What if R9 is not supposed to be zero? Maybe the code is looking at the
>> PSA
>> of another processor.
>> </snip>
>>
>> The normal way to accomplish that is
>>          USING PSA,R9
>> rather than leaving a time-bomb for those who come after by using "0".
>>
>
>I cannot fathom the reason to use _any_ base for the PSA other than GPR0.
>It is simply wasteful of a scarce resource.

It isn't "the" PSA. There is the PSA of the processor that you are running on. 
That PSA is always at location 0.

Every processor in the LPAR has its own PSA, and when the processor is running, 
that PSA is at real (and virtual) location 0 for that processor. The PSA for 
any 
other processor can also be referenced using the real address that matches the 
value that is used for the prefix register for that processor. This is 
documented 
in the Principles of Operation under "Prefixing".

You cannot use the value in the prefix register for your own processor to 
reference 
your PSA though. That would get you to absolute page 0, which, if I understand 
correctly, MVS never uses.

-- 
Tom Marchant

Reply via email to