Mercurial > hg > Members > kono > nitros9-code
annotate level2/modules/kernel/ccbfnproc.asm @ 3195:6eb2edad80d8
L2: Introduce symbol KrnBlk to define kernel block number
This is the block number that the kernel is loaded into. This is
platform-specific, a function of the behaviour of the platform MMU/DAT.
CRCs are unaffected by this change.
author | Neal Crook <foofoobedoo@gmail.com> |
---|---|
date | Thu, 01 Jun 2017 22:13:49 +0100 |
parents | 039ddb7c8ad7 |
children |
rev | line source |
---|---|
3015
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
1 ************************************************** |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
2 * System Call: F$NProc |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
3 * |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
4 * Function: Start the next process in the active queue |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
5 * |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
6 * Input: None |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
7 * |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
8 * Output: Control does not return to the caller |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
9 * |
3123
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
10 FNProc |
3015
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
11 IFGT Level-1 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
12 ldx <D.SysPrc get system process descriptor |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
13 stx <D.Proc save it as current |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
14 lds <D.SysStk get system stack pointer |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
15 andcc #^IntMasks re-enable IRQ's (to allow pending one through) |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
16 ELSE |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
17 clra |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
18 clrb |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
19 std <D.Proc |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
20 ENDC |
3123
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
21 fcb $8C skip the next 2 bytes |
3015
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
22 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
23 L0D91 cwai #^IntMasks re-enable IRQ's and wait for one |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
24 L0D93 orcc #IntMasks Shut off interrupts again |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
25 lda #Suspend get suspend suspend state flag |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
26 ldx #D.AProcQ-P$Queue For start of loop, setup to point to current process |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
27 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
28 * Loop to find next active process that is not Suspended |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
29 L0D9A leay ,x Point y to previous link (process dsc. ptr) |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
30 ldx P$Queue,y Get process dsc. ptr for next active process |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
31 beq L0D91 None, allow any pending IRQ thru & try again |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
32 bita P$State,x There is one, is it Suspended? |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
33 bne L0D9A Yes, skip it & try next one |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
34 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
35 * Found a process in line ready to be started |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
36 ldd P$Queue,x Get next process dsc. ptr in line after found one |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
37 std P$Queue,y Save the next one in line in previous' next ptr |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
38 stx <D.Proc Make new process dsc. the current one |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
39 lbsr L0C58 Go check or make a task # for the found process |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
40 bcs L0D83 Couldn't get one, go to next process in line |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
41 lda <D.TSlice Reload # ticks this process can run |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
42 sta <D.Slice Save as new tick counter for process |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
43 ldu P$SP,x get the process stack pointer |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
44 lda P$State,x get it's state |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
45 lbmi L0E29 If in System State, switch to system task (0) |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
46 L0DB9 bita #Condem Was it condemned by a deadly signal? |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
47 bne L0DFD Yes, go exit with Error=the signal code # |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
48 lbsr TstImg do a F$SetTsk if the ImgChg flag is set |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
49 L0DBD ldb <P$Signal,x any signals? |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
50 beq L0DF7 no, go on |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
51 decb is it a wake up signal? |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
52 beq L0DEF yes, go wake it up |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
53 leas -R$Size,s make a register buffer on stack |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
54 leau ,s point to it |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
55 lbsr L02CB copy the stack from process to our copy of it |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
56 lda <P$Signal,x get last signal |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
57 sta R$B,u save it to process' B |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
58 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
59 ldd <P$SigVec,x any intercept trap? |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
60 beq L0DFD no, go force the process to F$Exit |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
61 std R$PC,u save vector to it's PC |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
62 ldd <P$SigDat,x get pointer to intercept data area |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
63 std R$U,u save it to it's U |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
64 ldd P$SP,x get it's stack pointer |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
65 subd #R$Size take off register stack |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
66 std P$SP,x save updated SP |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
67 lbsr L02DA Copy modified stack back overtop process' stack |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
68 leas R$Size,s purge temporary stack |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
69 L0DEF clr <P$Signal,x clear the signal |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
70 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
71 * No signals go here |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
72 L0DF7 equ * |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
73 IFNE H6309 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
74 oim #$01,<D.Quick |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
75 ELSE |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
76 ldb <D.Quick |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
77 orb #$01 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
78 stb <D.Quick |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
79 ENDC |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
80 BackTo1 equ * |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
81 L0DF2 ldu <D.UsrSvc Get current User's system call service routine ptr |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
82 stu <D.XSWI2 Save as SWI2 service routine ptr |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
83 ldu <D.UsrIRQ Get IRQ entry point for user state |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
84 stu <D.XIRQ Save as IRQ service routine ptr |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
85 |
3123
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
86 ldb P$Task,x get task number |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
87 lslb 2 bytes per entry in D.TskIpt |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
88 ldy P$SP,x get stack pointer |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
89 lbsr L0E8D re-map the DAT image, if necessary |
3015
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
90 |
3123
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
91 ldb <D.Quick get quick return flag |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
92 lbra L0E4C Go switch GIME over to new process & run |
3015
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
93 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
94 * Process a signal (process had no signal trap) |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
95 L0DFD equ * |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
96 IFNE H6309 |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
97 oim #SysState,P$State,x Put process into system state |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
98 ELSE |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
99 ldb P$State,x |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
100 orb #SysState |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
101 stb P$State,x |
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
102 ENDC |
3123
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
103 leas >P$Stack,x Point SP to process' stack |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
104 andcc #^IntMasks Turn interrupts on |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
105 ldb <P$Signal,x Get signal that process received |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
106 clr <P$Signal,x Clear out the one in process dsc. |
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
107 os9 F$Exit Exit with signal # being error code |
3015
c00d5f495d43
[PATCH 2/3] ccbkrn: Use new ccbfnproc.asm instead of fnproc.asm
Brett Gordon <beretta42@gmail.com>
parents:
diff
changeset
|
108 |
3123
039ddb7c8ad7
l2 kernel: Remove tabs and trailing whitespace, align comments
Neal Crook <foofoobedoo@gmail.com>
parents:
3015
diff
changeset
|
109 S.SvcIRQ jmp [>D.Poll] Call IOMAN for IRQ polling |