STELIOS@GRCRUN11.BITNET (Stelios Fragakis) (08/28/90)
Anyone out there with a sample piece of code, to handle VMCF external interrupts ? Thanks in advance ! - Stelios
RZA31LH@DB0ADW11.BITNET (Lutz Hamann) (08/30/90)
Hi networkers | On Tue, 28 Aug 90 17:33:23 LCL Stelios Fragakis said: >Anyone out there with a sample piece of code, to handle VMCF external >interrupts ? > Thanks in advance ! > >- Stelios Here are some exsamples of routines, which should illustrate how the whole thing works (on our computer, VM/SP Rel.4) for years. I'm a little bit late because first I hat to translate all comments from german into english (next time, writing a routine, I'll do it in english |). Now here is an example for the main-routine : VMCFCALL MODUL 12 my own macro for opening a csect * * * * * Modification of control-reg.0 und VMCF-authorize * * * * * * * DMSKEY NUCLEUS LCTL 0,0,STREG0 set mask in controlreg. 0 DMSKEY RESET (you can use DMSEXS-macro too) VMCF AUTHORIZE,MSGID=SERV,PARM=PRMLST,BUF1=BUF,LEN1=120, * ERROR=RC4 EXTINT VMCFEXT macro for def. interrupt-routine * * * * * Returncodes * * * * * * * * * * * * * * * * * * * * * * * * RC0 EQU * LA 10,0 B EX RC4 EQU * LR 15,11 LINEDIT TEXT='Error authorizing VMCF / Rc= .... |', * DOT=NO,COMP=NO,SUB=(DEC,(11)) LA 10,4 * * * * * E x i t E x i t E x i t E x i t * * * * * * * * * * * EX EQU * LEAVE RC=(10) macro for leaving a csect * * * * * D a t a D a t a D a t a D a t a * * * * * * * * * * ENTRY BUF,PRMLST BUF VMCHEAD external interrupt-buffer (40 B) DC 80C' ' PRMLST VMCPARM Parameterlist for VMCF STREG0 DS 0F Control reg. 0 DC XL4'000000E1' END And now an example of handling an incoming external interrupt : VMCFEXT MODUL 12 My macro for opening a csect VMCF QUIESCE quiesce VMCF-interrupt * * * * * was it really an external interrupt by VMCF ? * * * * * * * * LH 2,26 Code of ext. interrupt R2 CH 2,X4001 VMCF-Code for interrupt ? BNE RC4 L 10,ABUF Addr. ext. interrupt-buffer R10 * * * * * look, what kind of VMCF-interrupt * * * * * * * * * * * * * * CLC 8(6,10),=C'SYSTEM' interrupt via SMSG ? BNE NOSMSG L 15,=V(HSMSG) BALR 14,15 call a routine for handling smsg B RC0 NOSMSG EQU * CLC 40(8,10),=CL8'TEXT1' Text1 in interrupt-buffer ? BE HTEXT1 CLC 40(8,10),=CL8'TEXT2' Text2 in interrupt-buffer ? BE HTEXT2 CLC 40(8,10),=CL8'TEXT3' Text3 ? (and so on) BE HTEXT3 L 15,=V(MOD4) BALR 14,15 Call Routine if undef. text B RC0 HTEXT1 EQU * ... ... handle text1 B RC0 HTEXT2 EQU * ... ... handle text2 B RC0 HTEXT3 EQU * ... ... handle text3 B RC0 * * * * * Returncodes * * * * * * * * * * * * * * * * * * * * * * * * * RC0 EQU * LA 11,0 B RESET RC4 EQU * LA 11,4 WRTERM 'No ext. interrupt by VMCF |' * * * * * E x i t E x i t E x i t E x i t * * * * * * * * * * * RESET EQU * XC 0(160,10),0(10) clear ext. interrupt buffer VMCF RESUME allow VMCF-interrupts LEAVE RC=(11) my own macro for leaving a csect * * * * * D a t a D a t a D a t a D a t a * * * * * * * * * * EXTRN BUF ABUF DS 0F Addr. of ext. interrupt-buffer DC A(BUF) X4001 DS 0H constant for VMCF-interrupt DC XL2'4001' END And last, but not least, the macro EXTINT : MACRO &L EXTINT &ROUT CNOP 0,4 defining a ext. interrupt-rout. BAL 1,S&SYSNDX DC CL8'TRAP' DC V(&ROUT.) S&SYSNDX SVC 202 DC AL4(*+4) MEND Hope this helps | Please, if you have questions, send it not directly to me, but through the list (we're not yet in the BITEARN NODES). Lutz Hamann
LOESCH@LAN.INFORMATIK.TU-MUENCHEN.DBP.DE (08/30/90)
RFC-822-Headers: Newsgroups: bit.listserv.asm370 Organization: Inst. fuer Informatik, TU Muenchen, W. Germany BODY TYPE: IA5TEXT Can I have a copy, too? Pls send it to CHAMNT@DOLUNI1.bitnet :-) thank you (ef caristo?) -- 3 Carlo "Lynx" v. Loesch is loesch @ informatik.tu-muenchen.de 3 3 Georgenstr. 142 or loesch % -"- @ unido.bitnet 3 .uucp 3 3 D-8 Muenchen 40 or loesch % -"- @ relay.cs.net 3 *** pmk has changed the topic to Deutsche singen bei der Arbeit.
KXH105@PSUVM.BITNET ("Ken Hornstein 862-7007", 814) (09/03/90)
> VMCF AUTHORIZE,MSGID=SERV,PARM=PRMLST,BUF1=BUF,LEN1=120, * > ERROR=RC4 Which macro library is this in? I looked through all of the ones here at PSU, but I can't find it. --- What the large print giveth, the small print taketh away. Ken Hornstein kxh105@psuvm.psu.edu Phone: 814/862-7007
RZA31LH@DB0ADW11.BITNET (Lutz Hamann) (09/05/90)
On Sun, 2 Sep 90 17:51:00 EDT Ken Hornstein (814) 862-7007 said: >> VMCF AUTHORIZE,MSGID=SERV,PARM=PRMLST,BUF1=BUF,LEN1=120, * >> ERROR=RC4 > >Which macro library is this in? I looked through all of the ones here at >PSU, but I can't find it. > Soooo, sorry. Our VM/SP is not an original IBM-Release, but it was released by the national Computer-House of the GDR, called Robotron. In our release are 4 macros for VMCF-handling in the CMSLIB MACLIB. So it turned out funny, that in this case seems Robotron is more comfortable than Big Mama Blue | But what can you do now ? It's very hard, but you have to call the AUTHORIZE- Function of VMCF via diagnose x'68' (including define the vmcf-buffers and parameterlists by yourself). If you don't want to do this, so nothing else to advise than using IUCV (in this case there are some macros) | Have fun ...... Lutz Hamann P.S. Now we're in the node-updates for september. If your node-administrator has implemented this update, you can answer to me directly. If not, answer through the list.
NET@CESPIVM2.BITNET ("Rodolfo A. Cozzi") (09/07/90)
>Anyone out there with a sample piece of code, to handle VMCF external >interrupts ? > Thanks in advance ! > >- Stelios > Yes, i have a External interrupt handler for VMCF . It SWAP the PSW's and transfer control to it when the interrupt is an VMCF interrupt. I can send to you thi program, and examples. Forgive my *BAD* English ! Rodolfo Cozzi - System Programmer - CeSPI - UNLP