mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-20 15:29:07 +00:00
Kernel 0.93
This commit is contained in:
parent
88f07d1457
commit
c061f48838
Binary file not shown.
51
BIN/PS.S.txt
51
BIN/PS.S.txt
@ -13,7 +13,9 @@ NEW
|
|||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
ZS.START
|
ZS.START
|
||||||
ZPPSPtr .BS 2
|
ZPPSPtr .BS 2
|
||||||
|
ZPSessionPtr .BS 2
|
||||||
ZPArgV .BS 2
|
ZPArgV .BS 2
|
||||||
|
Index .BS 1
|
||||||
ZS.END
|
ZS.END
|
||||||
.ED
|
.ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -79,20 +81,18 @@ CS.RUN lda #1
|
|||||||
>LDYA L.MSG0
|
>LDYA L.MSG0
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
>LDA.G PS.Index
|
ldx Index
|
||||||
|
|
||||||
.1 tax
|
.1 lda PS.Table.hPS,x
|
||||||
beq .2 PS0
|
|
||||||
|
|
||||||
lda PS.Table.PID,x
|
|
||||||
beq .7
|
beq .7
|
||||||
|
|
||||||
.2 jsr CS.RUN.DUMP
|
jsr CS.RUN.DUMP
|
||||||
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
|
|
||||||
.7 >INC.G PS.Index
|
.7 inc Index
|
||||||
cmp #K.PS.MAX
|
ldx Index
|
||||||
|
cpx #K.PS.MAX
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
.8 lda #0 tell Kernel that all done ok, but
|
.8 lda #0 tell Kernel that all done ok, but
|
||||||
@ -103,33 +103,41 @@ CS.RUN lda #1
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.DUMP phx
|
CS.RUN.DUMP >SYSCALL GetMemPtr
|
||||||
|
|
||||||
lda PS.Table.hPS,x
|
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>STYA ZPPSPtr
|
>STYA ZPPSPtr
|
||||||
|
|
||||||
ldy #S.PS.PPID
|
|
||||||
lda (ZPPSPtr),y
|
|
||||||
>PUSHA Parent PID
|
|
||||||
|
|
||||||
ldy #S.PS.hSID
|
ldy #S.PS.hSID
|
||||||
lda (ZPPSPtr),y
|
lda (ZPPSPtr),y
|
||||||
|
tax
|
||||||
|
lda S.Table.hSession-1,x
|
||||||
|
>SYSCALL GetMemPtr
|
||||||
|
>STYA ZPSessionPtr
|
||||||
|
|
||||||
|
ldy #S.SESSION.UID
|
||||||
|
lda (ZPSessionPtr),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
|
|
||||||
jsr CS.RUN.DecodeFlags
|
jsr CS.RUN.DecodeFlags
|
||||||
|
|
||||||
>PUSHEA.G PS.FLAGS
|
>PUSHEA.G PS.FLAGS
|
||||||
|
|
||||||
plx
|
ldx Index
|
||||||
lda PS.Table.Stats,x
|
lda PS.Table.Stats,x
|
||||||
|
|
||||||
>PUSHA CPU%
|
>PUSHA CPU%
|
||||||
|
|
||||||
ldy #S.PS.PID
|
ldy #S.PS.PPID
|
||||||
lda (ZPPSPtr),y
|
lda (ZPPSPtr),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHBI 6
|
|
||||||
|
iny S.PS.PID
|
||||||
|
lda (ZPPSPtr),y
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
lda PS.Table.hPS,x
|
||||||
|
>PUSHA
|
||||||
|
|
||||||
|
>PUSHBI 7
|
||||||
>LDYA L.MSG1
|
>LDYA L.MSG1
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
bcs .9
|
bcs .9
|
||||||
@ -200,8 +208,8 @@ CS.QUIT clc
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
MSG0 .AZ "\e[7lID CPU\% Flags UID PID Command Line\r\n"
|
MSG0 .AZ "\e[7lhPS ID PID CPU\% Flags UID Command Line\r\n"
|
||||||
MSG1 .AZ "%03d %3d\% %s %03d %03d"
|
MSG1 .AZ "%3d %3d %3d %3d\% %s %3d"
|
||||||
MSG2 .AZ " %s"
|
MSG2 .AZ " %s"
|
||||||
MSG3 .AZ "\r\n"
|
MSG3 .AZ "\r\n"
|
||||||
MSG.FLAGS .AS "IRQDHSEN"
|
MSG.FLAGS .AS "IRQDHSEN"
|
||||||
@ -209,7 +217,6 @@ MSG.FLAGS .AS "IRQDHSEN"
|
|||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
DS.START
|
DS.START
|
||||||
PS.Index .BS 1
|
|
||||||
PS.FLAGS .BS 9
|
PS.FLAGS .BS 9
|
||||||
DS.END
|
DS.END
|
||||||
.ED
|
.ED
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Mem.Table .EQ $0800
|
Mem.Table .EQ $0800
|
||||||
|
@ -510,7 +510,7 @@ SKT.GetDataFromSktIn
|
|||||||
ora #S.TCP.OPTIONS.ACK
|
ora #S.TCP.OPTIONS.ACK
|
||||||
sta (ZPPtrSKT),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
* jsr TCP.OUT.I SKT.GetTCB already called, Try to ACK read DATA
|
jsr TCP.OUT.I SKT.GetTCB already called, Try to ACK read DATA
|
||||||
|
|
||||||
>LDYA ZPTmpPtr3
|
>LDYA ZPTmpPtr3
|
||||||
clc
|
clc
|
||||||
|
@ -402,7 +402,8 @@ TCP.IN.SetDataInPtrAndLen
|
|||||||
|
|
||||||
.2 sta ZPDataInPtr
|
.2 sta ZPDataInPtr
|
||||||
stx ZPDataInPtr+1
|
stx ZPDataInPtr+1
|
||||||
rts
|
|
||||||
|
TCP.IN.RTS rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.OUT jsr SKT.GetTCB
|
TCP.OUT jsr SKT.GetTCB
|
||||||
|
|
||||||
@ -431,16 +432,18 @@ TCP.OUT.I lda SKT.Cache+S.SOCKET.TCP.OUTTOSEND+1
|
|||||||
>LDYAI K.TCP.MSS yes send only MSS
|
>LDYAI K.TCP.MSS yes send only MSS
|
||||||
|
|
||||||
.2 jsr TCP.NewFrame
|
.2 jsr TCP.NewFrame
|
||||||
bcs TCP.OUT.9
|
bcs TCP.IN.RTS
|
||||||
|
|
||||||
jsr SKT.GetDataFromSktOut
|
jsr SKT.GetDataFromSktOut
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.O
|
ldy #S.SOCKET.TCP.O
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
ora #S.TCP.OPTIONS.ACK+S.TCP.OPTIONS.PSH
|
ora #S.TCP.OPTIONS.ACK+S.TCP.OPTIONS.PSH
|
||||||
jsr TCP.OUT.SendOptA.1
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
bcs TCP.OUT.9
|
jsr TCP.OUT.Send
|
||||||
|
|
||||||
|
bcs TCP.IN.RTS
|
||||||
|
|
||||||
lda SKT.Cache+S.SOCKET.TCP.OUTNEXTSEQ+3
|
lda SKT.Cache+S.SOCKET.TCP.OUTNEXTSEQ+3
|
||||||
clc
|
clc
|
||||||
@ -456,21 +459,23 @@ TCP.OUT.I lda SKT.Cache+S.SOCKET.TCP.OUTTOSEND+1
|
|||||||
inc SKT.Cache+S.SOCKET.TCP.OUTNEXTSEQ
|
inc SKT.Cache+S.SOCKET.TCP.OUTNEXTSEQ
|
||||||
|
|
||||||
.80 jmp SKT.StoreTCB exits with CC
|
.80 jmp SKT.StoreTCB exits with CC
|
||||||
TCP.OUT.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.OUT.SendOptA
|
TCP.OUT.SendOptA
|
||||||
sta .1+1
|
ldy #S.SOCKET.TCP.O
|
||||||
|
ora (ZPPtrSKT),y
|
||||||
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
>LDYAI 0
|
>LDYAI 0
|
||||||
jsr TCP.NewFrame
|
jsr TCP.NewFrame
|
||||||
bcs TCP.OUT.9
|
bcs TCP.IN.RTS
|
||||||
|
|
||||||
.1 lda #$ff
|
TCP.OUT.Send ldy #S.SOCKET.TCP.O
|
||||||
|
lda (ZPPtrSKT),y
|
||||||
TCP.OUT.SendOptA.1
|
|
||||||
ldy #S.TCP.OPTIONS
|
ldy #S.TCP.OPTIONS
|
||||||
sta (ZPFrameOutPtr),y
|
sta (ZPFrameOutPtr),y
|
||||||
|
|
||||||
bit #S.TCP.OPTIONS.ACK
|
bit #S.TCP.OPTIONS.ACK
|
||||||
beq .10
|
beq .2
|
||||||
|
|
||||||
ldx #3
|
ldx #3
|
||||||
ldy #S.TCP.ACKNUM+3
|
ldy #S.TCP.ACKNUM+3
|
||||||
@ -481,14 +486,14 @@ TCP.OUT.SendOptA.1
|
|||||||
dex
|
dex
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
.10 ldx #3
|
.2 ldx #3
|
||||||
ldy #S.TCP.SEQNUM+3
|
ldy #S.TCP.SEQNUM+3
|
||||||
|
|
||||||
.2 lda SKT.Cache+S.SOCKET.TCP.OUTNEXTSEQ,x
|
.3 lda SKT.Cache+S.SOCKET.TCP.OUTNEXTSEQ,x
|
||||||
sta (ZPFrameOutPtr),y
|
sta (ZPFrameOutPtr),y
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bpl .2
|
bpl .3
|
||||||
|
|
||||||
ldy #S.TCP.WINDOW
|
ldy #S.TCP.WINDOW
|
||||||
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
|
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
|
||||||
|
@ -368,7 +368,7 @@ FD.DSOCK .DA #S.FD.T.DSOCK
|
|||||||
.DA #0 S.FD.HANDLER
|
.DA #0 S.FD.HANDLER
|
||||||
.BS 1 S.FD.DSOCK.IOHANDLER
|
.BS 1 S.FD.DSOCK.IOHANDLER
|
||||||
.DA #0 S.FD.DSOCK.OPEN
|
.DA #0 S.FD.DSOCK.OPEN
|
||||||
.DA #0 S.FD.DSOCK.CLOSE
|
.DA #LIBTCPIP.shutdown
|
||||||
.DA #LIBTCPIP.Recv
|
.DA #LIBTCPIP.Recv
|
||||||
.DA #LIBTCPIP.Send
|
.DA #LIBTCPIP.Send
|
||||||
.DA #0 S.FD.DSOCK.STATUS
|
.DA #0 S.FD.DSOCK.STATUS
|
||||||
@ -382,7 +382,7 @@ FD.SSOCK .DA #S.FD.T.SSOCK
|
|||||||
.DA #0 S.FD.HANDLER
|
.DA #0 S.FD.HANDLER
|
||||||
.BS 1 S.FD.SSOCK.IOHANDLER
|
.BS 1 S.FD.SSOCK.IOHANDLER
|
||||||
.DA #0 S.FD.SSOCK.OPEN
|
.DA #0 S.FD.SSOCK.OPEN
|
||||||
.DA #0 S.FD.SSOCK.CLOSE
|
.DA #LIBTCPIP.shutdown
|
||||||
.DA #LIBTCPIP.Read
|
.DA #LIBTCPIP.Read
|
||||||
.DA #LIBTCPIP.Write
|
.DA #LIBTCPIP.Write
|
||||||
.DA #LIBTCPIP.EOF
|
.DA #LIBTCPIP.EOF
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
NEW
|
NEW
|
||||||
PREFIX
|
AUTO 3,1
|
||||||
AUTO 4,1
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CORE.Run stz CORE.PSIndex
|
CORE.Run stz CORE.PSIndex
|
||||||
|
|
||||||
@ -201,7 +200,7 @@ CORE.GetEvents lda #Evt.Table
|
|||||||
sta IRQ.Mode
|
sta IRQ.Mode
|
||||||
|
|
||||||
ldx A2osX.ASCREEN
|
ldx A2osX.ASCREEN
|
||||||
cpx #1 /DEV/CONSOLE
|
dex devID 1 is /DEV/CONSOLE
|
||||||
bne .22
|
bne .22
|
||||||
|
|
||||||
sta SYS.BASL0+38
|
sta SYS.BASL0+38
|
||||||
@ -538,10 +537,10 @@ CORE.PSFree sta .10+1 Save PS ID
|
|||||||
|
|
||||||
.2 cmp PS.Table.PID,x
|
.2 cmp PS.Table.PID,x
|
||||||
beq .3
|
beq .3
|
||||||
|
|
||||||
inx
|
inx
|
||||||
cpx CORE.PSCount
|
cpx CORE.PSCount
|
||||||
bne .2
|
bne .2
|
||||||
beq *
|
|
||||||
|
|
||||||
.3 stz PS.Table.PID,x
|
.3 stz PS.Table.PID,x
|
||||||
lda PS.TABLE.hPS,x
|
lda PS.TABLE.hPS,x
|
||||||
|
@ -1057,7 +1057,6 @@ PwdMgrInit >LDYAI MSG.PWD
|
|||||||
PwdMgr.ROOT .DA #S.SESSION.P.ROOT
|
PwdMgr.ROOT .DA #S.SESSION.P.ROOT
|
||||||
.DA #0 UID
|
.DA #0 UID
|
||||||
.DA #0 GID
|
.DA #0 GID
|
||||||
.BS 17 PASSWD
|
|
||||||
.AZ "ROOT" NAME
|
.AZ "ROOT" NAME
|
||||||
.AZ "Root User" GECOS
|
.AZ "Root User" GECOS
|
||||||
.AZ "${ROOT}ROOT/" DIR
|
.AZ "${ROOT}ROOT/" DIR
|
||||||
|
@ -247,12 +247,26 @@ IO.CLOSE.DIR ldy #S.FD.REG.REF
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.CLOSE.CDEV
|
IO.CLOSE.CDEV
|
||||||
IO.CLOSE.BDEV
|
IO.CLOSE.BDEV
|
||||||
|
clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.CLOSE.DSOCK
|
IO.CLOSE.DSOCK
|
||||||
IO.CLOSE.SSOCK
|
IO.CLOSE.SSOCK
|
||||||
|
ldy #S.FD.SSOCK.CLOSE
|
||||||
|
lda (pFD),y
|
||||||
|
tax Function Offset in LIB
|
||||||
|
|
||||||
clc
|
ldy #S.FD.SSOCK.IOHANDLER
|
||||||
rts
|
lda (pFD),y
|
||||||
|
jsr K.GetMemPtr
|
||||||
|
>STYA .1+1
|
||||||
|
|
||||||
|
lda IO.hFD
|
||||||
|
|
||||||
|
.1 jsr $FFFF SELF MODIFIED
|
||||||
|
|
||||||
|
lda IO.hFD
|
||||||
|
jmp K.FreeMem
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.CLOSE.PIPE ldy #S.FD.PIPE.S
|
IO.CLOSE.PIPE ldy #S.FD.PIPE.S
|
||||||
|
|
||||||
|
@ -175,11 +175,13 @@ PS.CreateChild ldx #0
|
|||||||
cpy #S.PS.hStdErr+1
|
cpy #S.PS.hStdErr+1
|
||||||
bne .81
|
bne .81
|
||||||
|
|
||||||
|
ldy #S.PS.hSID
|
||||||
|
lda (pPs),y
|
||||||
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
ldy #S.PS.PID
|
ldy #S.PS.PID
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
|
|
||||||
ldy #S.PS.PPID
|
|
||||||
sta (PS.NewPSPtr),y
|
|
||||||
bra .5
|
bra .5
|
||||||
|
|
||||||
.80 lda #1 /DEV/CONSOLE
|
.80 lda #1 /DEV/CONSOLE
|
||||||
@ -191,8 +193,12 @@ PS.CreateChild ldx #0
|
|||||||
cpy #S.PS.hStdErr+1
|
cpy #S.PS.hStdErr+1
|
||||||
bne .83
|
bne .83
|
||||||
|
|
||||||
.5 ldy #S.PS.hSID
|
dec SID = PPID = 0, KERNEL
|
||||||
lda (pPs),y
|
|
||||||
|
ldy #S.PS.hSID
|
||||||
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
|
.5 ldy #S.PS.PPID
|
||||||
sta (PS.NewPSPtr),y
|
sta (PS.NewPSPtr),y
|
||||||
|
|
||||||
lda #S.PS.F.HOLD
|
lda #S.PS.F.HOLD
|
||||||
|
Loading…
x
Reference in New Issue
Block a user