>
As it was recommended to issue SCHEDIRB From an IRB I issue it from a STIMER
routine
The devil is in the details. As coded that does not apply.
> SVAREA=YES,
> MODE=SUPR,
One or the other but not both.
> XR R15,R14
XR R15,R15
Your choice of names and your comments are confusing; IRBPTR is code, not a
pointer, and you're not doing anything with an RB when the comment says "Chain
rb pointer to put this IRB as next".
Note: if you really need the exit to get control in SM then you shouldn't save
the registers. The manual spells that out.
That said, I don't see what's setting bit 31.
________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of
Joseph Reichman <[email protected]>
Sent: Tuesday, September 19, 2023 8:29 PM
To: [email protected]
Subject: Re: Why it's important to take Seymour's advice
Here it is
As it was recommended to issue SCHEDIRB From an IRB I issue it from a STIMER
routine
I'll start with the STIMERM I use STIMERM as opposed to STIMER because it lets
my pass a parameter (which is the save area for 13)
STIMERM SET, X
ID=TIMER, X
BINTVL=NOW, X
ERRET=ERROR, X
EXIT=STIMER, X
PARM=TIMER_PLIST, X
WAIT=NO,MF=(E,TIMERLST)
STIMER DS 0D
STM R14,R12,12(R13)
*
LR R4,R15
DROP R3
USING STIMER,R4
LR R10,R13
L R13,4(,R1) Get Save area
DROP R13
USING TIMERSVE,R13
ST R10,4(R13)
*
SETLOCK OBTAIN,TYPE=LOCAL,MODE=UNCOND,REGS=SAVE
*
*
* Chain rb pointer to put this IRB as next
*
LA R5,IRBPTR
O R5,=X'80000000'
ST R5,IRBADD
L R6,PSATOLD
USING TCB,R6
L R6,TCBJSTCB Get the Job Step tcb
ST R6,JSTCB
SCHEDIRB EPPTR=IRBADD, X
TCBPTR=JSTCB, X
SVAREA=YES, X
MODE=SUPR, X
KEY=SUPR, X
PARAMPTR=PLIST, X
MF=(E,IRBLST)
SETLOCK RELEASE,TYPE=LOCAL,REGS=SAVE
*
*
L R13,4(,R13)
XR R15,R14
L R14,12(R13)
LM R0,R12,20(R13)
BR R14
DROP R13
USING WORKAREA,R13
DROP R4
IRBPTR DS 0D
*
STM R14,R12,12(R13)
LR R5,R15
USING IRBPTR,R5
LR R10,R1 Save Plist pointer
LOAD EP=GETVECT
ST R0,0(R10) Store Pointer
XR R15,R15
L R14,12(R13)
LM R0,R12,20(R13)
BR R14
DROP R5
WORKAREA DSECT
SAVEAREA DS 18F
TIMERSVE DS 18F
DS 0D
TIMER DS F
PARMPTR DS A
FADDR DS A
DEPARM DESERV MF=L
CSVLMPEA DS CL(LPMEA_LEN)
DELEN EQU *-DEPARM
SCHEDIRB MF=(L,IRBLST)
CSVQUERY MF=(L,CSVQUERY)
TIMERLST STIMERM SET,MF=L
PLIST DS 0A
DS A
TIMER_PLIST DS A
DESPTR DS A
IRBADD DS A
JSTCB DS A
T
T
T
-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of
Seymour J Metz
Sent: Tuesday, September 19, 2023 8:02 PM
To: [email protected]
Subject: Re: Why it's important to take Seymour's advice
Show the code.
________________________________________
From: IBM Mainframe Discussion List <[email protected]
<mailto:[email protected]> > on behalf of Joseph Reichman
<[email protected] <mailto:[email protected]> >
Sent: Tuesday, September 19, 2023 7:58 PM
To: [email protected] <mailto:[email protected]>
Subject: Re: Why it's important to take Seymour's advice
I am looking at the TCB/rb chain in the SVC dump the IRB epa has a 1 as the
last digit I was in amode 31 when I issued schedirb The irb address last digit
was a 0 before it pc to schedirb
At this point I’m thinking of using the crib macro to build the irb as it gives
me more control ie I can look at the irb before it goes to schedirb
Thanks
> On Sep 19, 2023, at 4:20 PM, Seymour J Metz <[email protected]
> <mailto:[email protected]> > wrote:
>
> It's best to use whichever is fitted to the task at hand. There is no one
> size fits all.
>
> ________________________________________
> From: IBM Mainframe Discussion List <[email protected]
> <mailto:[email protected]> > on
> behalf of Joseph Reichman <[email protected]
> <mailto:[email protected]> >
> Sent: Tuesday, September 19, 2023 12:53 PM
> To: [email protected] <mailto:[email protected]>
> Subject: Re: Why it's important to take Seymour's advice
>
> Hi just did a a SUMM TCBERROR and this is what I got
>
> Now I was doing something in AMODE 64 prior to the SCHEDIRD But I know
> I went back to AMODE 31
>
> As an side is it better to USE CRIB to schedule the IRB (in which
> case it returns to me the IRB and I can see what I am scheduling or )
> SCHEDIRB
>
> Thank you
>
> IRB: 008FB710
> KEYSTA... 00 WLIC..... 00040004 EPA...... 9FF01E81
> OPSW..... 078D0000 9FF01EA0 LINK..... 008FEA90
>
> PRB: 008FEA90
> WLIC..... 00020001 OPSW..... 071C1000 852CB728
> LINK..... 018E76D0
> EP....... IKJEFT01 ENTPT.... 852C5000
>
> -----Original Message-----
> From: IBM Mainframe Discussion List <[email protected]
> <mailto:[email protected]> > On
> Behalf Of Lennie Dymoke-Bradshaw
> Sent: Tuesday, September 19, 2023 11:25 AM
> To: [email protected] <mailto:[email protected]>
> Subject: Re: Why it's important to take Seymour's advice
>
> My experience is that in times past this was definitely true. But nowadays it
> no longer is.
> I am unsure what changed but I think there was a change somewhere, possibly
> in the cross-memory instructions.
> Lennie
>
> -----Original Message-----
> From: IBM Mainframe Discussion List <[email protected]
> <mailto:[email protected]> > On Behalf Of [email protected]
> <mailto:[email protected]>
> <mailto:[email protected]>
> Sent: 19 September 2023 16:16
> To: [email protected] <mailto:[email protected]>
> <mailto:[email protected]>
> Subject: Re: Why it's important to take Seymour's advice
>
> I think the other address space needs to be nonswappable.
>
>
>> On Tuesday, September 19, 2023 at 09:40:36 AM EDT, Adam Johanson
>> <[email protected]
>> <mailto:[email protected]
>> <mailto:[email protected]
>> <mailto:[email protected]> > > wrote:
>>
>> Tom Brennan wrote:
>>
>> I've never written code that runs as an SRB, but over the years I've
>> read about them and seen them in action, such as Omegamon poking code
>> into other address spaces to grab data or do things like zap memory.
>
> For what it's worth, you don't need to go through all the rigamarole of an
> SRB to go poking around in another address space.
>
> Given the proper authorization, you can:
>
> - Issue an AXSET, specifying a value of 1
> - Issue an SSAR instruction identifying the target address space as
> the secondary address space
> - Use MVCP / MVCS instructions to copy data between your primary
> address space and the secondary address space
>
>
> There is also the technique of using the special ALET value of x'00000001'
> and using AR mode to reference data from another address space.
>
> ===============================
> Adam Johanson
> Broadcom Mainframe Software Division
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to [email protected] <mailto:[email protected]>
> <mailto:[email protected]>
> with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to [email protected] <mailto:[email protected]>
> <mailto:[email protected]>
> with the message: INFO IBM-MAIN
>
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to [email protected] <mailto:[email protected]>
> <mailto:[email protected]>
> with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to [email protected] <mailto:[email protected]> with the
> message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to [email protected] <mailto:[email protected]> with the
> message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] <mailto:[email protected]> with the message:
INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] <mailto:[email protected]> with the message:
INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN