BSTRAP.MAC ~~~~~~~~~~ Avoid infinite loop in CIS test under VAX/RSX. ------------------------------------------------------------------------ MOV #<2>,PCFIX MED6X .WORD 100 ; CLR PCFIX ;OLD ------------------------------------------------------------------------ CMPN NOP ;NEW CLR PCFIX ;NEW ------------------------------------------------------------------------ Fix BR instruction for ERRHOK. ------------------------------------------------------------------------ .WORD ERRHOK ; BR .+14 ;OLD BR .+24 ;NEW ------------------------------------------------------------------------ Add support for system device handlers with extended device unit support. ------------------------------------------------------------------------ .IF NE RTE$M MOV (R0)+,R2 BNE 10$ MOV #,R0 MOV SYHTOP-,R1 .IF NE ;NEW TST @#SY64 ;NEW BEQ 35$ ;NEW SUB #<32.>,R1 ;NEW .ENDC ;NEW ; MOV #<$RMON>,R2 ;OLD 35$: MOV #<$RMON>,R2 ;NEW ------------------------------------------------------------------------ Fix address of CLIFLG in RMON. ------------------------------------------------------------------------ .IF NE RTE$M TST @#CNFMOD BPL 120$ BIS #,DLTCB(R4) BIC #,DLTCB(R4) 120$: BIS #,SYSGEN(R4) BIT #<1>,@#CNFMOD BEQ 130$ ; BIS #,CLIFLG-$RMON(R4) ;OLD BIS #,CLIFLG(R4) ;NEW ------------------------------------------------------------------------ KMOVLY.MAC ~~~~~~~~~~ The UNLOAD command attempts to release ownership of the device for the job being unloaded. Unfortunately, this code does not even check to see if the device handler is loaded, and attempts to use a nonexistent extended unit table for the device. ------------------------------------------------------------------------ 10$: .IF NE UNI$64 CMP @R0,# BNE 20$ MOV #<32.>,R5 MOV R0,-(SP) MOV 2(R0),R0 BEQ 15$ ;NEW CALL 40$ ; MOV (SP)+,R0 ;OLD 15$: MOV (SP)+,R0 ;NEW CMP (R0)+,(R0)+ BR 30$ ------------------------------------------------------------------------ RMON.MAC ~~~~~~~~ BSTRAP sets UCF.ON according to the flags set by RTEM, so give it a chanse to do that. ------------------------------------------------------------------------ ;CLIFLG::.BYTE < UCL.ON ! CCL.ON ! DCL.ON ! > ;OLD CLIFLG::.BYTE < UCL.ON ! CCL.ON ! DCL.ON > ;NEW ------------------------------------------------------------------------ TRMTBL.MAC ~~~~~~~~~~ BSTRAP sets SCOPE mode according to the flags set by RTEM, so give it a chanse to do that. ------------------------------------------------------------------------ ;CTMP = < PAGE$ + BKSP$ > ;OLD .IF EQ RTE$M ;NEW CTMP = < PAGE$ + BKSP$ > ;NEW .IFF ;NEW CTMP = < PAGE$ > ;NEW .ENDC ;NEW ------------------------------------------------------------------------ USR.MAC ~~~~~~~ The UPDDAT routine calls $GTTI routine under RTEM. This routine changes R2-R4 (at least in RTEM V1.0), so save them. ------------------------------------------------------------------------ .IF NE TIME$R .$UPDA ==: < . + 2> .IF NE RTE$M MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) .ENDC CALL @#UPDDAT-$RMON .IF NE RTE$M MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 .ENDC .ENDC ------------------------------------------------------------------------