/*************************************************************************** LINK BOOTED ROUTINE ***************************************************************************/ /* */ /* This file uses a timer to cause a LSRQ interupt to occur on */ /* another processor. */ /* This file is intended for Rev 0.x */ /**************************************************************************/ #include "def21060.h" .SEGMENT/PM irqvects; /* The loader begins with the interrupts up to and including the low */ /* priority timer interrupt. */ NOP;NOP;NOP;NOP; /* Reserved interrupt */ ___lib_RSTI: IDLE; /* Implicit IDLE instruction */ JUMP start (DB); /* Begin loader */ NOP; /* Pad to next interrupt */ NOP; /* Pad to next interrupt */ NOP;NOP;NOP;NOP; /* Reserved interrupt */ /* Vector for status stack/loop stack overflow or PC stack full: */ ___lib_SOVFI: RTI; RTI; RTI; RTI; /* Vector for high priority timer interrupt: */ ___lib_TMZHI: r0=dm(LBUF5); rti; rti; rti; /* Vectors for external interrupts: */ ___lib_VIRPTI: RTI; RTI; RTI; RTI; ___lib_IRQ2I: RTI; RTI; RTI; RTI; ___lib_IRQ1I: RTI; RTI; RTI; RTI; ___lib_IRQ0I: RTI; RTI; RTI; RTI; NOP;NOP;NOP;NOP; /* Reserved interrupt */ /* Vectors for Serial port DMA channels: */ ___lib_SPR0I: RTI; RTI; RTI; RTI; ___lib_SPR1I: RTI; RTI; RTI; RTI; ___lib_SPT0I: RTI; RTI; RTI; RTI; ___lib_SPT1I: RTI; RTI; RTI; RTI; /* Vectors for link port DMA channels: */ ___lib_LP2I: RTI; RTI; RTI; RTI; ___lib_LP3I: RTI; RTI; RTI; RTI; /* Vectors for External port DMA channels: */ ___lib_EP0I: RTI; rti; rti; RTI; ___lib_EP1I: RTI; rti; rti; RTI; ___lib_EP2I: RTI; RTI; RTI; RTI; ___lib_EP3I: RTI; RTI; RTI; RTI; /* Vector for Link service request */ ___lib_LSRQ: RTI; RTI; RTI; RTI; /* Vector for DAG1 buffer 7 circular buffer overflow */ ___lib_CB7I: RTI; RTI; RTI; RTI; /* Vector for DAG2 buffer 15 circular buffer overflow */ ___lib_CB15I: RTI; RTI; RTI; RTI; /* Vector for lower priority timer interrupt */ ___lib_TMZLI: RTI; RTI; RTI; RTI; .ENDSEG; .SEGMENT/pm pm48_2b0; start: /* map lbuf5 <--> lport4 */ r1=0x25688; dm(LAR)=r1; /* enable lbuf5 */ r1=0x100000; dm(LCTL)=r1; /* 2x */ r1 = 0x10000; dm(LCOM)=r1; /* < rev1 */ tperiod = 0x1fc1e20; tcount = tperiod; bit set imask TMZHI; bit set mode2 TIMEN; idle; jump (pc,-1); .ENDSEG;