From 66432140c347d604a11d1d300f4d393d8a22dd5d Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Thu, 5 Jun 2008 19:52:17 +0000 Subject: [PATCH] add ASM source to generate 100% comp. WEGA 3.2 object --- WEGA/src/uts/sys/sig_old2.s | 1086 +++++++++++++++++++++++++++++++++++ 1 file changed, 1086 insertions(+) create mode 100644 WEGA/src/uts/sys/sig_old2.s diff --git a/WEGA/src/uts/sys/sig_old2.s b/WEGA/src/uts/sys/sig_old2.s new file mode 100644 index 0000000..9460913 --- /dev/null +++ b/WEGA/src/uts/sys/sig_old2.s @@ -0,0 +1,1086 @@ +.seg +.psec data +.data + + +fp := r15; +sp := rr14; +_sigwstr:: +.byte %40 +.byte %5b +.byte %24 +.byte %5d +.byte %73 +.byte %69 +.byte %67 +.byte %2e +.byte %63 +.byte %9 +.byte %9 +.byte %52 +.byte %65 +.byte %76 +.byte %3a +.byte %20 +.byte %34 +.byte %2e +.byte %32 +.byte %20 +.byte %9 +.byte %30 +.byte %39 +.byte %2f +.byte %32 +.byte %39 +.byte %2f +.byte %38 +.byte %33 +.byte %20 +.byte %30 +.byte %39 +.byte %3a +.byte %34 +.byte %37 +.byte %3a +.byte %34 +.byte %31 +.byte %0 +.byte 0 +.comm 0, _buffer1; +.comm 0, _buffer2; +.comm 0, _buffer3; +.comm 0, _buffer4; +.comm 0, _buffer5; +.comm 0, _canonb; +.comm 4, _rootdir; +.comm 4, _runq; +.comm 2, _lbolt; +.comm 4, _lifetime; +.comm 4, _time; +.comm 2, _nblkdev; +.comm 2, _nchrdev; +.comm 2, _mpid; +.comm 1, _runin; +.comm 1, _runout; +.comm 1, _runrun; +.comm 1, _curpri; +.comm 2, _maxmem; +.comm 2, _umemory; +.comm 4, _swplo; +.comm 2, _nswap; +.comm 2, _updlock; +.comm 4, _rablock; +.comm 128, _msgbuf; +.comm 2, _rootdev; +.comm 2, _swapdev; +.comm 2, _pipedev; +.comm 4, _serial; +.comm 2, _numterm; +.comm 2, _manboot; +.comm 2, _blkacty; +.comm 2, _cputype; +.comm 112, _sysinfo; +.comm 6, _syswait; +.comm 2, _dk_busy; +.comm 128, _dk_time; +.comm 12, _dk_numb; +.comm 12, _dk_wds; +.comm 4, _tk_nin; +.comm 4, _tk_nout; +.comm 10, _ipc; +/*~~signal:*/ + +.psec +.code + +_signal:: +{ + dec fp,#~L2 + ldm _stkseg+4(fp),r10,#4 + ld |_stkseg+~L1+0|(fp),r6 + ld r13,r7 + test r7 + jpr eq,L10000 + ldl rr10,#_proc + jpr L98 +L20001: + ldl rr2,rr10 + inc r3,#12 + cp r13,@rr2 + jpr ne,L96 + ldl rr6,rr10 + ld r5,|_stkseg+~L1|(fp) + callr _psignal +L96: + add r11,#36 +L98: + ld r3,_Nproc + mult rr2,#36 + ldl rr4,#_proc + add r5,r3 + cpl rr10,rr4 + jpr ult,L20001 +L10000: + ldm r10,_stkseg+4(fp),#4 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 12 + } /* _signal */ + +.psec data +.data + +/*~~psignal:*/ + +.psec +.code + +_psignal:: +{ + dec fp,#~L2 + ldm _stkseg+6(fp),r11,#3 + ld r11,r5 + ldl rr12,rr6 + dec r11,#1 + cp r11,#0 + jpr lt,L10003 + cp r11,#20 + jpr ge,L10003 + ldl rr2,#1 + sdal rr2,r11 + ldl rr4,rr12 + inc r5,#6 + ldl rr6,@rr4 + or r6,r2 + or r7,r3 + ldl @rr4,rr6 + cpb @rr12,#1 + jpr ne,L10003 + ldb rl2,rr12(#2) + cpb rl2,#25 + jpr le,L10003 + cpb rl2,#50 + jpr le,L104 + ldl rr2,rr12 + inc r3,#2 + ldb @rr2,#50 +L104: + ldl rr6,rr12 + callr _setrun +L10003: + ldm r11,_stkseg+6(fp),#3 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 12 + } /* _psignal */ + +.psec data +.data + +/*~~issig:*/ + +.psec +.code + +_issig:: +{ + dec fp,#~L2 + ldm _stkseg+4(fp),r8,#6 + ldl rr10,_u+32 + jpr L108 +L20003: + ldl rr2,_u+330 + ldk r2,#0 + and r3,#1 + testl rr2 + jpr eq,L112 + ldl rr8,#_proc+36 +L115: + ld r3,_Nproc + mult rr2,#36 + ldl rr4,#_proc + add r5,r3 + cpl rr8,rr4 + jpr uge,L120 + ldl rr2,rr8 + inc r3,#16 + ld r4,rr10(#14) + cp r4,@rr2 + jpr ne,L113 + cpb @rr8,#5 + jpr ne,L113 + ldl rr6,rr8 + sub r5,r5 + callr _freeproc +L113: + add r9,#36 + jpr L115 +L112: + ldl rr2,_u+330 + test r3 + jpr ne,L20004 + jpr L120 +L20006: + ldl rr6,rr10 + callr _fsig + ld r13,r2 + cp r2,#18 + jpr eq,L20003 + dec r2,#1 + sla r2,#2 + ldl rr4,_u+262(r2) + ldk r4,#0 + and r5,#1 + testl rr4 + jpr eq,L20004 + ldb rl2,rr10(#1) + extsb r2 + bit r2,#4 + jpr eq,L120 +L20004: + ld r2,r13 + jpr L10007 +L120: + ld r2,r13 + dec r2,#1 + ldl rr4,#1 + sdal rr4,r2 + com r4 + com r5 + ldl rr2,rr10 + inc r3,#6 + ldl rr6,@rr2 + and r6,r4 + and r7,r5 + ldl @rr2,rr6 +L108: + ldl rr2,rr10(#6) + testl rr2 + jpr ne,L20006 + sub r2,r2 +L10007: + ldm r8,_stkseg+4(fp),#6 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 16 + } /* _issig */ + +.psec data +.data + +/*~~stop:*/ + +.psec +.code + +_stop:: +{ + dec fp,#~L2 + ldm _stkseg+2(fp),r10,#4 + jpr L124 +L20010: + ldl rr6,rr12 + callr _wakeup + ldb @rr10,#6 + callr _swtch + ldb rl2,rr10(#1) + extsb r2 + and r2,#16 + test r2 + jpr eq,L10011 + callr _procxmt + test r2 + jpr ne,L10011 +L124: + ldl rr10,_u+32 + ld r2,rr10(#16) + cp r2,#1 + jpr eq,L125 + ldl rr12,#_proc + jpr L128 +L20008: + ldl rr2,rr10 + inc r3,#16 + ld r4,rr12(#14) + cp r4,@rr2 + jpr eq,L20010 + add r13,#36 +L128: + ld r3,_Nproc + mult rr2,#36 + ldl rr4,#_proc + add r5,r3 + cpl rr12,rr4 + jpr ult,L20008 +L125: + ldl rr6,_u+32 + callr _fsig + ld |_stkseg+~L1|(fp),r2 + ld r7,r2 + callr _exit +L10011: + ldm r10,_stkseg+2(fp),#4 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 10 + } /* _stop */ + +.psec data +.data + +.even +/*~~psig:*/ + +.psec +.code + +_psig:: +{ + .psec data + .data + .even +L156: + .long L152 + .long L152 + .long L152 + .long L152 + .long L152 + .long L152 + .long L142 + .long L152 + .long L152 + .long L152 + .psec + .code + dec fp,#~L2 + ldm _stkseg+4(fp),r10,#4 + ldl rr10,_u+32 + ldb rl2,rr10(#1) + extsb r2 + bit r2,#4 + jpr eq,L137 + callr _stop +L137: + ldl rr6,rr10 + callr _fsig + ld r13,r2 + test r2 + jpr eq,L10015 + dec r2,#1 + ldl rr4,#1 + sdal rr4,r2 + com r4 + com r5 + ldl rr2,rr10 + inc r3,#6 + ldl rr6,@rr2 + and r6,r4 + and r7,r5 + ldl @rr2,rr6 + ld r2,r13 + dec r2,#1 + sla r2,#2 + ldl rr4,_u+262(r2) + ldl |_stkseg+~L1|(fp),rr4 + testl rr4 + jpr eq,L139 + clrb _u+21 + cp r13,#4 + jpr eq,L140 + cp r13,#5 + jpr eq,L140 + ld r2,r13 + dec r2,#1 + sla r2,#2 + ldl rr4,#_u+262 + add r5,r2 + subl rr2,rr2 + ldl @rr4,rr2 +L140: + ldl rr6,|_stkseg+~L1|(fp) + ld r5,r13 + callr _sendsig + jpr L10015 +L139: + ld r2,r13 + dec r2,#3 + cp r2,#9 + jpr ugt,L142 + rl r2,#2 + ldl rr4,L156(r2) + jp @rr4 +L152: + callr _core + test r2 + jpr eq,L142 + add r13,#128 +L142: + ld r7,r13 + callr _exit +L10015: + ldm r10,_stkseg+4(fp),#4 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 12 + } /* _psig */ + +.psec data +.data + +/*~~fsig:*/ + +.psec +.code + +_fsig:: +{ + dec fp,#~L2 + ld _stkseg+10(fp),r13 + ldl |_stkseg+~L1+0|(fp),rr6 + ldl rr2,rr6 + ldl rr4,rr2(#6) + ldl |_stkseg+~L1+4|(fp),rr4 + ldk r13,#1 +L20012: + ldl rr2,|_stkseg+~L1+4|(fp) + ldk r2,#0 + and r3,#1 + testl rr2 + jpr eq,L161 + ld r2,r13 + jpr L10018 +L161: + ldl rr2,|_stkseg+~L1+4|(fp) + sral rr2,#1 + ldl |_stkseg+~L1+4|(fp),rr2 + inc r13,#1 + cp r13,#20 + jpr lt,L20012 + sub r2,r2 +L10018: + ld r13,_stkseg+10(fp) + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 12 + } /* _fsig */ + +.psec data +.data + +L165: +.byte %63,%6f,%72,%65,%0 +.even +/*~~core:*/ + +.psec +.code + +_core:: +{ + dec fp,#~L2 + ldm _stkseg+4(fp),r11,#3 + ld r2,_u+24 + cp r2,_u+28 + jpr eq,L164 +L20015: + sub r2,r2 + jpr L10021 +L164: + clrb _u+21 + ldl rr2,#L165 + ldl _u+78,rr2 + ldl rr6,#_schar + ldk r5,#1 + callr _namei + ldl rr12,rr2 + testl rr2 + jpr ne,L166 + testb _u+21 + jpr ne,L20015 + ld r7,#438 + callr _maknode + ldl rr12,rr2 + testl rr2 + jpr eq,L20015 +L166: + ldl rr6,rr12 + ld r5,#128 + callr _access + test r2 + jpr ne,L170 + ld r2,rr12(#6) + and r2,#61440 + cp r2,#32768 + jpr ne,L170 + ldl rr6,rr12 + callr _itrunc + subl rr2,rr2 + ldl _u+50,rr2 + ldl rr2,#_u + ldl _u+44,rr2 + ld _u+48,#2560 + ldb _u+20,#1 + ld r2,_umemory + inc r2,#1 + sra r2,#1 + ld r5,r2 + exts rr4 + ldl _u+1242,rr4 + ldl rr6,rr12 + callr _writei + clrb _u+20 + testb _u+544 + jpr ne,L173 + ldl rr2,_u+32 + ld r4,rr2(#20) + dec r4,#10 + ld r11,r4 + sub r7,r7 + ld r6,r4 + sub r5,r5 + ldk r4,#1 + callr _estabur + ld _u+44,#16128 + clr _u+46 + ld r2,r11 + ldb rh2,rl2 + clrb rl2 + ld _u+48,r2 +L20017: + ldl rr6,rr12 + callr _writei + jpr L180 +L173: + clrb |_stkseg+~L1+1|(fp) + jpr L178 +L20014: + ldb rl3,|_stkseg+~L1+1|(fp) + extsb r3 + ldb rl4,_u+1062(r3) + extsb r4 + bit r4,#7 + jpr ne,L176 + ldb rl2,|_stkseg+~L1+1|(fp) + extsb r2 + ldb rl3,_u+1062(r2) + extsb r3 + and r3,#127 + ldb rh3,rl3 + clrb rl3 + ld _u+44,r3 + clr _u+46 + ldb rl2,|_stkseg+~L1+1|(fp) + extsb r2 + sla r2,#2 + ldb rl3,_u+552(r2) + subb rh3,rh3 + inc r3,#1 + ldb rh3,rl3 + clrb rl3 + ld _u+48,r3 + ldl rr6,rr12 + callr _writei +L176: + incb |_stkseg+~L1+1|(fp),#1 +L178: + ldb rl2,|_stkseg+~L1+1|(fp) + cpb rl2,_u+1190 + jpr lt,L20014 + ld r2,_u+1390 + ldb rh2,rl2 + clrb rl2 + ld _u+44,r2 + ldk r2,#0 + ldb rl2,_u+1060 + ldb rh2,rl2 + clrb rl2 + ld _u+46,r2 + ldk r2,#0 + ldb rl2,_u+1060 + ld r3,r2 + neg r3 + add r3,#256 + ldb rh3,rl3 + clrb rl3 + ld _u+48,r3 + jpr L20017 +L170: + ldb _u+21,#13 +L180: + ldl rr6,rr12 + callr _iput + cpb _u+21,#0 + ldk r2,#0 + tcc eq,r2 + extsb r2 +L10021: + ldm r11,_stkseg+4(fp),#3 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 10 + } /* _core */ + +.psec data +.data + +/*~~grow:*/ + +.psec +.code + +_grow:: +{ + dec fp,#~L2 + ldm _stkseg+4(fp),r8,#6 + ld |_stkseg+~L1+0|(fp),r7 + ld r6,_u+220 + dec r6,#1 + ld r2,r6 + neg r2 + add r2,#256 + ldb rh2,rl2 + clrb rl2 + cp r2,r7 + jpr ugt,L184 +L20024: + sub r2,r2 + jpr L10025 +L184: + ldk r13,#6 + jpr L187 +L20019: + ld r2,_u+220 + inc r2,#10 + add r2,r12 + add r2,_u+218 + cp r2,#256 + jpr ge,L187 + ld r5,_u+220 + add r5,r12 + ld r6,_u+218 + ld r7,_u+216 + ldk r4,#1 + callr _estabur + test r2 + jpr eq,L197 +L187: + ld r2,r13 + dec r2,#1 + ld r13,r2 + test r2 + jpr eq,L20024 + ldk r2,#0 + ld r3,|_stkseg+~L1|(fp) + addl rr2,#255 + sral rr2,#8 + ld r2,r3 + neg r2 + add r2,#256 + sub r2,_u+220 + add r2,r13 + ld r12,r2 + cp r2,#0 + jpr le,L187 + testb _u+544 + jpr eq,L20019 + ld r2,_u+220 + add r2,r12 + cp r2,#256 + jpr gt,L187 + ld r2,_u+220 + add r2,r12 + ld r3,r2 + neg r3 + add r3,#256 + ldb _u+1060,rl3 +L197: + ldl rr8,_u+32 + ld r7,rr8(#20) + add r7,r12 + callr _expand + ld r2,rr8(#18) + ldl rr4,rr8 + add r5,#20 + add r2,@rr4 + ld r10,r2 + ld r11,_u+220 + jpr L198 +L20023: + dec r10,#1 + ld r7,r10 + sub r7,r12 + ld r6,r10 + callr _copyseg + dec r11,#1 +L198: + test r11 + jpr ne,L20023 + ld r11,r12 + jpr L202 +L20021: + dec r10,#1 + ld r7,r10 + callr _clearseg + dec r11,#1 +L202: + test r11 + jpr ne,L20021 + ld r2,_u+220 + add r2,r12 + ld _u+220,r2 + ldk r2,#1 +L10025: + ldm r8,_stkseg+4(fp),#6 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 16 + } /* _grow */ + +.psec data +.data + +/*~~ptrace:*/ + +.psec +.code + +_ptrace:: +{ + dec fp,#~L2 + ldm _stkseg+0(fp),r10,#4 + ldl rr10,_u+36 + cp @rr10,#0 + jpr gt,L206 + ldl rr2,_u+32 + inc r3,#1 + setb @rr2,#4 + jpr L10028 +L206: + ldl rr12,#_proc + jpr L209 +L20026: + cpb @rr12,#6 + jpr ne,L207 + ldl rr2,rr10 + inc r3,#2 + ld r4,rr12(#14) + cp r4,@rr2 + jpr ne,L207 + ldl rr2,_u+32 + inc r3,#14 + ld r4,rr12(#16) + cp r4,@rr2 + jpr eq,L212 +L207: + add r13,#36 +L209: + ld r3,_Nproc + mult rr2,#36 + ldl rr4,#_proc + add r5,r3 + cpl rr12,rr4 + jpr ult,L20026 + ldb _u+21,#3 + jpr L10028 +L212: + test _ipc + jpr eq,L213 + ldl rr6,#_ipc + ld r5,#25 + callr _sleep + jpr L212 +L213: + ld r2,rr12(#14) + ld _ipc,r2 + ld r2,rr10(#8) + ld _ipc+8,r2 + ldl rr2,rr10(#4) + ldl rr4,rr2 + and r4,#32512 + ldl _ipc+4,rr4 + ld r2,@rr10 + ld _ipc+2,r2 + ldl rr4,rr12 + inc r5,#1 + resb @rr4,#5 + ldl rr6,rr12 + callr _setrun + jpr L215 +L20028: + ldl rr6,#_ipc + ld r5,#25 + callr _sleep +L215: + cp _ipc+2,#0 + jpr gt,L20028 + ld r2,_ipc+8 + ld _u+40,r2 + cp _ipc+2,#0 + jpr ge,L217 + ldb _u+21,#5 +L217: + clr _ipc + ldl rr6,#_ipc + callr _wakeup +L10028: + ldm r10,_stkseg+0(fp),#4 + inc fp,#~L2 + ret + ~L1 := 0 + ~L2 := 8 + } /* _ptrace */ + +.psec data +.data + +.even +/*~~procxmt:*/ + +.psec +.code + +_procxmt:: +{ + .psec data + .data + .even +L265: + .long L224 + .long L229 + .long L232 + .long L234 + .long L247 + .long L249 + .long L259 + .long L263 + .long L258 + .psec + .code + sub fp,#~L2 + ldm _stkseg+6(fp),r8,#6 + ldl rr2,_u+32 + inc r3,#14 + ld r4,_ipc + cp r4,@rr2 + jpr eq,L219 +L20031: + sub r2,r2 + jpr L10031 +L219: + ld r13,_ipc+2 + clr _ipc+2 + ldl rr6,#_ipc + callr _wakeup + testb _u+544 + jpr ne,L220 + ld r7,_ipc+6 + callr _nsseg + ld _ipc+4,r2 +L220: + ld r2,r13 + dec r2,#1 + cp r2,#8 + jpr ugt,L228 + rl r2,#2 + ldl rr4,L265(r2) + jp @rr4 +L224: + testb _u+544 + jpr ne,L229 + ld r7,_ipc+6 + ldl rr4,#_ipc+8 + callr _fuiword + test r2 + jpr eq,L20031 + jpr L228 +L229: + ldl rr6,_ipc+4 + ldl rr4,#_ipc+8 + callr _fuword + test r2 + jpr eq,L20031 + jpr L228 +L232: + ld r13,_ipc+6 + cp r13,#0 + jpr lt,L228 + cp r13,#2560 + jpr uge,L228 + ld r2,r13 + sra r2,#1 + add r2,r2 + ld r3,_u(r2) + ld _ipc+8,r3 + jpr L20031 +L234: + ldl rr2,_u+32 + ldl rr4,rr2(#26) + ldl rr8,rr4 + testl rr4 + jpr eq,L235 + ldb rl4,rr8(#10) + cpb rl4,#1 + jpr ne,L228 + ldl rr4,rr8(#6) + ld r6,rr4(#6) + bit r6,#9 + jpr ne,L228 + ldl rr2,rr4 + resb @rr2,#5 +L235: + testb _u+544 + jpr eq,L237 + testb _u+484 + jpr eq,L238 + ldb rl7,_ipc+4 + ldb rh7,#0 + ld r6,#-1 + ld r5,r6 + sub r4,r4 + callr _ldsdr +L238: + ldl rr6,_ipc+4 + ld r5,_ipc+8 + callr _suword + test r2 + jpr ne,L228 + testb _u+484 + jpr eq,L243 + ldb rl7,_ipc+4 + ldb rh7,#0 + ld r6,#-1 + ld r5,r6 + ldk r4,#1 + callr _ldsdr + jpr L243 +L237: + ld r7,_u+216 + ld r6,_u+218 + ld r5,_u+220 + sub r4,r4 + callr _estabur + ld r7,_ipc+6 + ld r6,_ipc+8 + callr _suiword + test r2 + jpr ne,L228 + ld r7,_u+216 + ld r6,_u+218 + ld r5,_u+220 + ldk r4,#1 + callr _estabur +L243: + testl rr8 + jpr eq,L20031 + ldl rr2,rr8 + inc r3,#12 + setb @rr2,#1 + jpr L20031 +L247: + ldl rr6,_ipc+4 + ld r5,_ipc+8 + callr _suword + test r2 + jpr ne,L228 + jpr L20031 +L249: + ld r13,_ipc+6 + ld r2,r13 + sra r2,#1 + add r2,r2 + ldl rr4,#_u + add r5,r2 + ldl rr10,rr4 + ldk r13,#0 +L20030: + ld r2,r13 + add r2,r13 + ldl rr4,_u+362 + add r5,r2 + cpl rr10,rr4 + jpr eq,L254 + inc r13,#1 + cp r13,#15 + jpr lt,L20030 + ldl rr2,_u+362 + add r3,#30 + cpl rr10,rr2 + jpr eq,L254 + ldl rr2,_u+362 + add r3,#38 + cpl rr10,rr2 + jpr eq,L254 + ldl rr2,_u+362 + add r3,#34 + cpl rr10,rr2 + jpr ne,L228 + ldl rr2,_u+362 + ld r4,rr2(#34) + and r4,#65280 + ld r5,_ipc+8 + and r5,#255 + or r5,r4 + ld _ipc+8,r5 +L254: + ld r2,_ipc+8 + ld @rr10,r2 + jpr L20031 +L258: + ldl rr2,_u+362 + add r3,#34 + set @rr2,#0 +L259: + cp _ipc+6,#1 + jpr eq,L260 + testb _u+544 + jpr eq,L261 + ldl rr2,_u+362 + add r3,#36 + ld r4,_ipc+4 + ld @rr2,r4 +L261: + ldl rr2,_u+362 + add r3,#38 + ld r4,_ipc+6 + ld @rr2,r4 +L260: + ldl rr2,_u+32 + inc r3,#6 + subl rr4,rr4 + ldl @rr2,rr4 + test _ipc+8 + jpr eq,L262 + ldl rr6,_u+32 + ld r5,_ipc+8 + callr _psignal +L262: + ldk r2,#1 + jpr L10031 +L263: + ldl rr6,_u+32 + callr _fsig + ld |_stkseg+~L1+4|(fp),r2 + ld r7,r2 + callr _exit +L228: + ld _ipc+2,#-1 + jpr L20031 +L10031: + ldm r8,_stkseg+6(fp),#6 + add fp,#~L2 + ret + ~L1 := 0 + ~L2 := 18 + } /* _procxmt */ + +.psec data +.data +