|
|
1.1 root 1: /*
2: * coswitch
3: */
4: coswitch(old_cs, new_cs, first)
5: int *old_cs, *new_cs;
6: int first;
7: {
8: asm(" movw 0(%ap),%r0");
9: asm(" movw 4(%ap),%r1");
10: asm(" movw %sp,0(%r0)");
11: asm(" movw %fp,4(%r0)");
12: asm(" movw %ap,8(%r0)");
13: asm(" movw %r3,12(%r0)");
14: asm(" movw %r4,16(%r0)");
15: asm(" movw %r5,20(%r0)");
16: asm(" movw %r6,24(%r0)");
17: asm(" movw %r7,28(%r0)");
18: asm(" movw %r8,32(%r0)");
19: if (first == 0) { /* this is first activation */
20: asm(" movw 0(%r1),%sp");
21: asm(" movw &0,%fp");
22: asm(" movw &0,%ap");
23: interp(0, 0);
24: syserr("interp() returned in coswitch");
25: }
26: else {
27: asm(" movw 0(%r1),%sp");
28: asm(" movw 4(%r1),%fp");
29: asm(" movw 8(%r1),%ap");
30: asm(" movw 12(%r1),%r3");
31: asm(" movw 16(%r1),%r4");
32: asm(" movw 20(%r1),%r5");
33: asm(" movw 24(%r1),%r6");
34: asm(" movw 28(%r1),%r7");
35: asm(" movw 32(%r1),%r8");
36: }
37: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.