> 1.  Assuming I want to connect only selected address spaces to the
service
> address space (via
> non-system LX):
> 
>               a.  to execute the ATSET and ETCON macros in the user's
> address space (assuming the user runs in problem
> state) I will have to create an additional  PC routine
> to check authorization and issue those macros on behalf of
>                    the user.

No, but the service provider does have to provide a mechanism by which
the association can be made and managed. There are many ways, but they
typically boil down to; caller makes a request to the server in some
preordained manner that is available to a non-privileged caller. Server
schedules an SRB to the caller's space, which then schedules an IRB,
which (in supervisor state) issues the necessary macros to connect to
the PC entry table.
> 
>               b. that additional PC routine will have to be based on a
> system LX, otherwise I will enter a logical endless loop
>               c. in other words: I will need to reserve two LX's - one
> system, one non-system

No. If you needed a system LX there wouldn't be any point in a
non-system LX. You would just use system LX's all the time.

> My question is: is this worth it?

Clearly not as you described it.

> Is this the customary way of doing things?

No. See above.

> Or for economy's sake do people end up using  a single system LX
> even for connection to selected address spaces (unless
> those selected address spaces are in supervisor mode)?

Here's the rub. Most people use a single system LX no matter whether the
requesters are privileged or not. Bottom line, its so much simpler to
set up and manage a system LX and, at the end of the day, it completely
solves the problem you're facing, so most people just use a system LX.

> 2.  When I getmain a global area in common storage to save the cross-
> memory info (PC numbers,
> (dormant) system LX, etc.), in what key should I getmain it?   What
are
> the "safe" keys that people
> are accustomed to using?  (I gather from earlier discussions on this
list
> that key 8 is a no-no.)

You can put the information in any system key (0-7) - provided its not
fetch protected.

> 3. The notion and purpose of an "EAX" (as opposed to a simple "AX") is
not
> clearly elucidated in either of the above papers
> -- both more or less assume one already pretty much knows what it is
and
> give it short shrift. Can anyone point me to a more precise
presentation of the EAX, or, alternatively,  briefly explain in
> this forum when and for what reason one would opt to reserve an EAX
and
> specify it in the ETDEF macro?

The use of the authority table is described in PoPs. Basically it's a
two column table. One column controls SSAR and the other PT/PC. You
can't SSAR or PT/PC to a particular space unless your AT has a one in
the "row" corresponding to the authorization index. 

The authorization index (AX) is present in left half of the low order
half of control register 4 and it is used during address space
translation and authorization. The EAX is associated with
space-switching PC entries. The EAX gets loaded along with the new PASN
into cr4 by the PC instruction and this potentially gives the PC
function access to different address spaces than the caller had access
to. 

It's a spiffy feature, but IMO very rarely used. Since you're trying to
do the right thing and use a non-system LX, I would encourage you to
continue. But it's a good deal more complex. Most slobs like us just use
AX=1 and a system LX and call it a day.

CC

----------------------------------------------------------------------
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

Reply via email to