summaryrefslogtreecommitdiff
path: root/sys/src/cmd/1a
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2014-05-08 18:48:51 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2014-05-08 18:48:51 +0200
commit87fd5240f091d901fb3e6c03e85b63ff2a5b9352 (patch)
treece3bb27a5d66fba038fa6c0965e4b2c556c344f6 /sys/src/cmd/1a
parent47d131c0881c1285bd39121c1467a674239e499d (diff)
remove old copies of kernels l.s from cmd/?a
Diffstat (limited to 'sys/src/cmd/1a')
-rw-r--r--sys/src/cmd/1a/l.s479
1 files changed, 0 insertions, 479 deletions
diff --git a/sys/src/cmd/1a/l.s b/sys/src/cmd/1a/l.s
deleted file mode 100644
index 6f3cca3a4..000000000
--- a/sys/src/cmd/1a/l.s
+++ /dev/null
@@ -1,479 +0,0 @@
-
-/*
- * Memory and machine-specific definitions. Used in C and assembler.
- */
-
-/*
- * Sizes
- */
-
-#define BI2BY 8 /* bits per byte */
-#define BI2WD 32 /* bits per word */
-#define BY2WD 4 /* bytes per word */
-#define BY2PG 8192 /* bytes per page */
-#define WD2PG (BY2PG/BY2WD) /* words per page */
-#define PGSHIFT 13 /* log(BY2PG) */
-#define PGROUND(s) (((s)+(BY2PG-1))&~(BY2PG-1))
-#define ICACHESIZE 0
-#define MB4 (4*1024*1024) /* Lots of things are 4Mb in size */
-
-#define MAXMACH 1 /* max # cpus system can run */
-
-/*
- * Time
- */
-#define HZ (60) /* clock frequency */
-#define MS2HZ (1000/HZ) /* millisec per clock tick */
-#define TK2SEC(t) ((t)/HZ) /* ticks to seconds */
-#define TK2MS(t) ((((ulong)(t))*1000)/HZ) /* ticks to milliseconds */
-#define MS2TK(t) ((((ulong)(t))*HZ)/1000) /* milliseconds to ticks */
-
-/*
- * SR bits
- */
-#define SUPER 0x2000
-#define SPL(n) (n<<8)
-
-/*
- * CACR
- */
-#define CCLEAR 0x08
-#define CENABLE 0x01
-
-/*
- * Magic registers (unused in current system)
- */
-
-#define MACH A5 /* A5 is m-> */
-#define USER A4 /* A4 is u-> */
-
-/*
- * Fundamental addresses
- */
-
-#define USERADDR 0x80000000
-/* assuming we're in a syscall, this is the address of the Ureg structure */
-#define UREGVARSZ (23*BY2WD) /* size of variable part of Ureg */
-#define UREGADDR (USERADDR+BY2PG-(UREGVARSZ+2+4+2+(8+8+1+1)*BY2WD))
-
-/*
- * Devices poked during bootstrap
- */
-#define TACADDR 0x40600000
-#define MOUSE 0x40200000
-
-/*
- * MMU
- */
-
-#define VAMASK 0xCFFFFFFF /* clear balu bits in address */
-#define KUSEG 0x00000000
-#define KSEG 0x80000000
-
-/*
- * MMU entries
- */
-#define PTEVALID (1<<13)
-#define PTEWRITE 0
-#define PTERONLY (1<<14)
-#define PTEKERNEL (1<<15)
-#define PTEUNCACHED 0
-#define INVALIDPTE 0
-#define PTEMAPMEM (1024*1024)
-#define PTEPERTAB (PTEMAPMEM/BY2PG)
-#define SEGMAPSIZE 16
-
-#define PPN(pa) ((pa>>13)&0x1FFF)
-
-#define KMAP ((unsigned long *)0xD0000000)
-#define UMAP ((unsigned long *)0x50000000)
-
-/*
- * Virtual addresses
- */
-#define VTAG(va) ((va>>22)&0x03F)
-#define VPN(va) ((va>>13)&0x1FF)
-
-#define PARAM ((char*)0x40500000)
-#define TLBFLUSH_ 0x01
-
-/*
- * Address spaces
- */
-
-#define UZERO KUSEG /* base of user address space */
-#define UTZERO (UZERO+BY2PG) /* first address in user text */
-#define TSTKTOP 0x10000000 /* end of new stack in sysexec */
-#define TSTKSIZ 100
-#define USTKTOP (TSTKTOP-TSTKSIZ*BY2PG) /* byte just beyond user stack */
-#define KZERO KSEG /* base of kernel address space */
-#define KTZERO (KZERO+BY2PG) /* first address in kernel text */
-#define USTKSIZE (4*1024*1024) /* size of user stack */
-
-#define MACHSIZE 4096
-
-
-#define isphys(p) ((((ulong)(p))&0xF0000000) == KSEG)
-#define DBMAGIC 0xBADC0C0A
-
-/*
- * Boot first processor
- */
-TEXT start(SB), $-4
-
- MOVW $(SUPER|SPL(7)), SR
- MOVL $a6base(SB), A6
- MOVL $0, R0
- MOVL R0, CACR
- MOVL R0, TACADDR /* zero tac counter (cause an intr?) */
-
- MOVL $mach0(SB), A0
- MOVL A0, m(SB)
- MOVL $0, 0(A0)
- MOVL A0, A7
- ADDL $(MACHSIZE-4), A7 /* start stack under machine struct */
- MOVL $0, u(SB)
-
- MOVL $vectors(SB), A0
- MOVL A0, VBR
-
- BSR main(SB)
- /* never returns */
-dead:
- BRA dead
-
-/*
- * Take first processor into user mode. Leave enough room on the stack
- * for a full-sized Ureg (including long bus error format) to fit
- */
-
-TEXT touser(SB), $-4
-
- MOVL $(USERADDR+BY2PG-UREGVARSZ), A7
- MOVW $0, -(A7)
- MOVL $(UTZERO+32), -(A7) /* header is in text */
- MOVW $0, -(A7)
- MOVL $(USTKTOP-6*BY2WD), A0 /* MAXSYSARG=6 */
- MOVL A0, USP
- MOVW $(SUPER|SPL(0)), SR
- MOVL $8, R0
- MOVL R0, CACR
- RTE
-
-TEXT firmware(SB), $0
-
- MOVL $0x40000090, A0
- JMP (A0)
-
-TEXT splhi(SB), $0
-
- MOVL m(SB), A0
- MOVL (A7), 4(A0)
- MOVL $0, R0
- MOVW SR, R0
- MOVW $(SUPER|SPL(7)), SR
- RTS
-
-TEXT splduart(SB), $0
-
- MOVL $0, R0
- MOVW SR, R0
- MOVW $(SUPER|SPL(5)), SR
- RTS
-
-TEXT spllo(SB), $0
-
- MOVL $0, R0
- MOVW SR, R0
- MOVW $(SUPER|SPL(0)), SR
- RTS
-
-TEXT splx(SB), $0
-
- MOVL sr+0(FP), R0
- MOVW R0, SR
- RTS
-
-TEXT spldone(SB), $0
-
- RTS
-
-TEXT spl1(SB), $0
-
- MOVL $0, R0
- MOVW SR, R0
- MOVW $(SUPER|SPL(1)), SR
- RTS
-
-TEXT flushcpucache(SB), $0
-
- MOVL $(CCLEAR|CENABLE), R0
- MOVL R0, CACR
- RTS
-
-TEXT cacrtrap(SB), $0 /* user entry point to control cache, e.g. flush */
-
- MOVL R0, CACR
- RTE
-
-TEXT setlabel(SB), $0
-
- MOVL sr+0(FP), A0
- MOVL A7, (A0)+ /* stack pointer */
- MOVL (A7), (A0)+ /* pc of caller */
- MOVW SR, (A0)+ /* status register */
- CLRL R0 /* ret 0 => not returning */
- RTS
-
-TEXT gotolabel(SB), $0
-
- MOVL p+0(FP), A0
- MOVW $(SUPER|SPL(7)), SR
- MOVL (A0)+, A7 /* stack pointer */
- MOVL (A0)+, (A7) /* pc; stuff into stack frame */
- MOVW (A0)+, R0 /* status register */
- MOVW R0, SR
- MOVL $1, R0 /* ret 1 => returning */
- RTS
-
-/*
- * Test and set, as a subroutine
- */
-
-TEXT tas(SB), $0
-
- MOVL $0, R0
- MOVL a+0(FP), A0
- TAS (A0)
- BEQ tas_1
- MOVL $1, R0
-tas_1:
- RTS
-
-/*
- * Floating point
- */
-
-TEXT fpsave(SB), $0
-
- FSAVE (fp+0(FP))
- RTS
-
-TEXT fprestore(SB), $0
-
- FRESTORE (fp+0(FP))
- RTS
-
-TEXT fpregsave(SB), $0
-
- FMOVEM $0xFF, (3*4)(fr+0(FP))
- FMOVEMC $0x7, (fr+0(FP))
- RTS
-
-TEXT fpregrestore(SB), $0
-
- FMOVEMC (fr+0(FP)), $0x7
- FMOVEM (3*4)(fr+0(FP)), $0xFF
- RTS
-
-TEXT fpcr(SB), $0
-
- MOVL new+0(FP), R1
- MOVL FPCR, R0
- MOVL R1, FPCR
- RTS
-
-
-TEXT rfnote(SB), $0
-
- MOVL uregp+0(FP), A7
- MOVL ((8+8)*BY2WD)(A7), A0
- MOVL A0, USP
- MOVEM (A7), $0x7FFF
- ADDL $((8+8+1+1)*BY2WD), A7
- RTE
-
-TEXT illegal(SB), $0
-
- MOVL $DBMAGIC, -(A7)
- SUBL $((8+8+1)*BY2WD), A7
- MOVEM $0x7FFF, (A7)
- MOVL $a6base(SB), A6
- MOVL USP, A0
- MOVL A0, ((8+8)*BY2WD)(A7)
- MOVL A7, -(A7)
- BSR trap(SB)
- ADDL $4, A7
- MOVL ((8+8)*BY2WD)(A7), A0
- MOVL A0, USP
- MOVEM (A7), $0x7FFF
- ADDL $((8+8+1)*BY2WD+BY2WD), A7
- RTE
-
-TEXT systrap(SB), $0
-
- MOVL $DBMAGIC, -(A7)
- SUBL $((8+8+1)*BY2WD), A7
- MOVL A6, ((8+6)*BY2WD)(A7)
- MOVL R0, (A7)
- MOVL $a6base(SB), A6
- MOVL USP, A0
- MOVL A0, ((8+8)*BY2WD)(A7)
- MOVL A7, -(A7)
- BSR syscall(SB)
- MOVL ((1+8+8)*BY2WD)(A7), A0
- MOVL A0, USP
- MOVL ((1+8+6)*BY2WD)(A7), A6
- ADDL $((1+8+8+1)*BY2WD+BY2WD), A7
- RTE
-
-TEXT buserror(SB), $0
-
- MOVL $DBMAGIC, -(A7)
- SUBL $((8+8+1)*BY2WD), A7
- MOVEM $0x7FFF, (A7)
- MOVL $a6base(SB), A6
- MOVL USP, A0
- MOVL A0, ((8+8)*BY2WD)(A7)
- PEA ((8+8+1+3)*BY2WD)(A7)
- PEA 4(A7)
- BSR fault68020(SB)
- ADDL $8, A7
- MOVL ((8+8)*BY2WD)(A7), A0
- MOVL A0, USP
- MOVEM (A7), $0x7FFF
- ADDL $((8+8+1)*BY2WD+BY2WD), A7
- RTE
-
-TEXT tacintr(SB), $0 /* level 1 */
-
- MOVL R0, -(A7)
- MOVL TACADDR, R0
- MOVL (A7)+, R0
- RTE
-
-TEXT portintr(SB), $0 /* level 2 */
-
- MOVL $DBMAGIC, -(A7)
- SUBL $((8+8+1)*BY2WD), A7
- MOVEM $0x7FFF, (A7)
- MOVL $a6base(SB), A6
- MOVL USP, A0
- MOVL A0, ((8+8)*BY2WD)(A7)
- MOVL A7, -(A7)
- BSR devportintr(SB)
- BRA retintr
-
-TEXT dkintr(SB), $0 /* level 3 */
-
- MOVL $DBMAGIC, -(A7)
- SUBL $((8+8+1)*BY2WD), A7
- MOVEM $0x7FFF, (A7)
- MOVL $a6base(SB), A6
- MOVL USP, A0
- MOVL A0, ((8+8)*BY2WD)(A7)
- MOVL A7, -(A7)
- BSR inconintr(SB)
- BRA retintr
-
-TEXT mouseintr(SB), $0 /* level 4 */
-
- MOVEM $0x80C2, -(A7) /* D0, A0, A1, A6 */
- MOVL $a6base(SB), A6
- MOVL $15, R0 /* mask off hex switch */
- ANDB MOUSE,R0 /* clears quadrature interrupt */
- LEA mousetab(SB)(R0.W*8), A0
- LEA mouse(SB), A1
- MOVL (A0)+, R0
- ADDL R0, (A1)+ /* dx */
- MOVL (A0), R0
- ADDL R0, (A1)+ /* dy */
- ADDL $1, (A1) /* track */
- MOVEM (A7)+, $0x4301
- RTE
-
-TEXT uartintr(SB), $0 /* level 5 */
-
- MOVL $DBMAGIC, -(A7)
- SUBL $((8+8+1)*BY2WD), A7
- MOVEM $0x7FFF, (A7)
- MOVL $a6base(SB), A6
- MOVL USP, A0
- MOVL A0, ((8+8)*BY2WD)(A7)
- MOVL A7, -(A7)
- BSR duartintr(SB)
- BRA retintr
-
-TEXT syncintr(SB), $0 /* level 6 */
-
- MOVL $DBMAGIC, -(A7)
- SUBL $((8+8+1)*BY2WD), A7
- MOVEM $0x7FFF, (A7)
- MOVL $a6base(SB), A6
- MOVL USP, A0
- MOVL A0, ((8+8)*BY2WD)(A7)
- MOVL A7, -(A7)
- BSR clock(SB)
- /* fall through */
-retintr:
- BSR mousetry(SB)
- ADDL $4, A7
- MOVL ((8+8)*BY2WD)(A7), A0
- MOVL A0, USP
- MOVEM (A7), $0x7FFF
- ADDL $((8+8+1)*BY2WD+BY2WD), A7
- RTE
-
-GLOBL duarttimer+0(SB),$4
-
-TEXT duartreadtimer+0(SB), $0
- MOVW SR, R1 /* spl7() */
- MOVW $0x2700, SR
- MOVL $0x40100000, A0
- CLRL R0
- TSTB 15(A0) /* stop timer */
- MOVW 6(A0), R0 /* read hi,lo */
- TSTB 14(A0) /* restart timer */
- NOTW R0 /* timer counts down from 0xffff */
- ADDL duarttimer(SB), R0
- MOVL R0, duarttimer(SB)
- MOVW R1, SR
- RTS
-
-GLOBL mousetab(SB), $128
-DATA mousetab+ 0(SB)/4, -1 /* x down, */
-DATA mousetab+ 4(SB)/4, 1 /* y up */
-DATA mousetab+ 8(SB)/4, 0 /* x - */
-DATA mousetab+ 12(SB)/4, 1 /* y up */
-DATA mousetab+ 16(SB)/4, 1 /* x up */
-DATA mousetab+ 20(SB)/4, 1 /* y up */
-DATA mousetab+ 24(SB)/4, 0 /* x - */
-DATA mousetab+ 28(SB)/4, 1 /* y up */
-DATA mousetab+ 32(SB)/4, -1 /* x down */
-DATA mousetab+ 36(SB)/4, 0 /* y - */
-DATA mousetab+ 40(SB)/4, 0 /* x - */
-DATA mousetab+ 44(SB)/4, 0 /* y - */
-DATA mousetab+ 48(SB)/4, 1 /* x up, */
-DATA mousetab+ 52(SB)/4, 0 /* y - */
-DATA mousetab+ 56(SB)/4, 0 /* x - */
-DATA mousetab+ 60(SB)/4, 0 /* y - */
-DATA mousetab+ 64(SB)/4, -1 /* x down */
-DATA mousetab+ 68(SB)/4, -1 /* y down */
-DATA mousetab+ 72(SB)/4, 0 /* x - */
-DATA mousetab+ 76(SB)/4, -1 /* y down */
-DATA mousetab+ 80(SB)/4, 1 /* x up */
-DATA mousetab+ 84(SB)/4, -1 /* y down */
-DATA mousetab+ 88(SB)/4, 0 /* x - */
-DATA mousetab+ 92(SB)/4, -1 /* y down */
-DATA mousetab+ 96(SB)/4, -1 /* x down */
-DATA mousetab+100(SB)/4, 0 /* y - */
-DATA mousetab+104(SB)/4, 0 /* x - */
-DATA mousetab+108(SB)/4, 0 /* y - */
-DATA mousetab+112(SB)/4, 1 /* x up */
-DATA mousetab+116(SB)/4, 0 /* y - */
-DATA mousetab+120(SB)/4, 0 /* x - */
-DATA mousetab+124(SB)/4, 0 /* y - */
-
-GLOBL mach0+0(SB), $MACHSIZE
-GLOBL u(SB), $4
-GLOBL m(SB), $4