From:	MERC::"uunet!WKUVX1.BITNET!goathunter"  1-FEB-1993 16:46:37.91
To:	<TGV.COM!alpha-ids%wkuvx1.bitnet@ukcc.uky.edu>,
	<TGV.COM!law%ucbeh.bitnet@cunyvm.cuny.edu>
CC:	
Subj:	RE: Getting PCB address in UWSS

#
#We are porting Macro-32 User Written System Services from VAX/VMS to
#AlphaAXP/OpenVMS.  The Alpha SYS$EXAMPLES:UWSS.B32 is very helpful for
#everything except the rundown handler.  Our application has a rundown
#handler which needs to access the PCB in order to find the AST queue
#listhead in order to remove ASTs (these ASTs were left behind by
#dequeued locks which had been queued with completion ASTs).  In VAX/VMS
#the rundown handler was called with JSB with R4 containing the address
#of the PCB.  In AlphaAXP/OpenVMS rundown handlers are called as regular
#routines- i.e. in Macro-32 they have a .ENTRY point.
#
#I can't find in any of our documentation, nor have I been able yet to
#get a response from Digital, as to how to get the PCB address in this
#situation.  I have called a Digital AMC and been refered to my sales rep
#who won't return my call.  I have entered a note in the Digital Partners
#Network ALPHA_VMS conference.  Now I'm trying here.
#
#Does anyone on this list know the answer- how do we get the address of
#the PCB in a UWSS rundown handler?
#

Well the entry point to rundown handlers are JSB entry points on the Alpha.
You should be using the following to define your entry points to the PLV
vector.

KERNL_RNDWN::
        .JSB_ENTRY      Input=R4

        [rundown handler code]

        Rsb

This will allow you to access the PCB via R4.

Patrick L. Mahan

--- TGV Window Washer ------------------------------- Mahan@TGV.COM ---------

Waking a person unnecessarily should not be considered  - Lazarus Long
a capital crime.  For a first offense, that is            From the Notebooks of
                                                          Lazarus Long