Browse Source

Plan 9 from Bell Labs 2005-04-27

David du Colombier 19 years ago
parent
commit
b1072d94a4
4 changed files with 240 additions and 30 deletions
  1. 16 30
      dist/replica/_plan9.db
  2. 1 0
      dist/replica/plan9.db
  3. 1 0
      dist/replica/plan9.log
  4. 222 0
      sys/lib/acid/sparc64

+ 16 - 30
dist/replica/_plan9.db

@@ -19,7 +19,7 @@
 386/bin/8l - 775 sys sys 1107835553 115728
 386/bin/9660srv - 775 sys sys 1113794389 103976
 386/bin/aan - 775 sys sys 1108354539 130710
-386/bin/acid - 775 sys sys 1114225965 357187
+386/bin/acid - 775 sys sys 1114484867 389719
 386/bin/acme - 775 sys sys 1111637282 428512
 386/bin/ape - 20000000775 sys sys 1016944144 0
 386/bin/ape/basename - 775 sys sys 1087442501 132681
@@ -38,7 +38,7 @@
 386/bin/ape/tar - 775 sys sys 1104121958 61903
 386/bin/ape/uname - 775 sys sys 1087442505 132510
 386/bin/aquarela - 775 sys sys 1064598027 319170
-386/bin/ar - 775 sys sys 1104121958 107438
+386/bin/ar - 775 sys sys 1114484868 110847
 386/bin/archfs - 775 sys sys 1108354542 140779
 386/bin/ascii - 775 sys sys 1104121959 64668
 386/bin/astro - 775 sys sys 1104121959 138803
@@ -117,7 +117,7 @@
 386/bin/aux/mklatinkbd - 775 sys sys 1104121979 64179
 386/bin/aux/mnihongo - 775 sys sys 1106799170 138512
 386/bin/aux/mouse - 775 sys sys 1104121979 44026
-386/bin/aux/ms2 - 775 sys sys 1108008332 81689
+386/bin/aux/ms2 - 775 sys sys 1114484868 84166
 386/bin/aux/msexceltables - 775 sys sys 1106453225 80995
 386/bin/aux/mswordstrings - 775 sys sys 1104121980 65317
 386/bin/aux/na - 775 sys sys 1113794390 154186
@@ -147,7 +147,7 @@
 386/bin/aux/tr2post - 775 sys sys 1104121987 176578
 386/bin/aux/trampoline - 775 sys sys 1104121988 83293
 386/bin/aux/typepasswd - 775 sys sys 1104121988 69503
-386/bin/aux/vga - 775 sys sys 1114453635 309981
+386/bin/aux/vga - 775 sys sys 1114484868 309981
 386/bin/aux/vmmousepoll - 775 sys sys 1032480572 41434
 386/bin/aux/vmware - 775 sys sys 1049428256 453
 386/bin/aux/vmwarefs - 775 sys sys 1095563640 99117
@@ -187,7 +187,7 @@
 386/bin/cpu - 775 sys sys 1108354550 137694
 386/bin/crop - 775 sys sys 1104121998 115763
 386/bin/date - 775 sys sys 1104121998 43261
-386/bin/db - 775 sys sys 1114225965 303621
+386/bin/db - 775 sys sys 1114484869 336153
 386/bin/dc - 775 sys sys 1104121999 99028
 386/bin/dd - 775 sys sys 1104121999 45347
 386/bin/deroff - 775 sys sys 1104122000 74244
@@ -224,7 +224,7 @@
 386/bin/faces - 775 sys sys 1106799174 192579
 386/bin/factor - 775 sys sys 1104122008 61475
 386/bin/fcp - 775 sys sys 1110859785 82162
-386/bin/file - 775 sys sys 1113361802 112820
+386/bin/file - 775 sys sys 1114484869 118706
 386/bin/fmt - 775 sys sys 1104122009 65301
 386/bin/fortune - 775 sys sys 1104122009 67136
 386/bin/fossil - 20000000775 sys sys 1042005470 0
@@ -308,8 +308,8 @@
 386/bin/join - 775 sys sys 1113794393 114091
 386/bin/jpg - 775 sys sys 1108960009 174528
 386/bin/kbmap - 775 sys sys 1106799176 142498
-386/bin/kprof - 775 sys sys 1108960009 99723
-386/bin/ktrace - 775 sys sys 1108960009 113674
+386/bin/kprof - 775 sys sys 1114484870 102284
+386/bin/ktrace - 775 sys sys 1114484870 116436
 386/bin/lens - 775 sys sys 1104122032 124095
 386/bin/lex - 775 sys sys 1104122033 98664
 386/bin/lnfs - 775 sys sys 1108354557 99449
@@ -342,7 +342,7 @@
 386/bin/netstat - 775 sys sys 1104122040 84385
 386/bin/news - 775 sys sys 1104122041 71653
 386/bin/nfs - 775 sys sys 1108354559 315389
-386/bin/nm - 775 sys sys 1108960010 115737
+386/bin/nm - 775 sys sys 1114484870 121630
 386/bin/nntpfs - 775 sys sys 1108354560 160898
 386/bin/ns - 775 sys sys 1104122042 65260
 386/bin/p - 775 sys sys 1108268390 64990
@@ -360,7 +360,7 @@
 386/bin/ppm - 775 sys sys 1108960012 149347
 386/bin/pr - 775 sys sys 1104122046 77408
 386/bin/primes - 775 sys sys 1104122046 38793
-386/bin/prof - 775 sys sys 1108960012 104466
+386/bin/prof - 775 sys sys 1114484870 106950
 386/bin/proof - 775 sys sys 1106799178 177605
 386/bin/ps - 775 sys sys 1104122047 65805
 386/bin/pwd - 775 sys sys 1104122047 36897
@@ -389,10 +389,10 @@
 386/bin/sed - 775 sys sys 1104122054 89523
 386/bin/seq - 775 sys sys 1104122054 38206
 386/bin/sha1sum - 775 sys sys 1104122054 61133
-386/bin/size - 775 sys sys 1108008334 74340
+386/bin/size - 775 sys sys 1114484871 76817
 386/bin/sleep - 775 sys sys 1085077097 3413
-386/bin/snap - 775 sys sys 1114225966 271015
-386/bin/snapfs - 775 sys sys 1114225967 339869
+386/bin/snap - 775 sys sys 1114484871 303547
+386/bin/snapfs - 775 sys sys 1114484872 372401
 386/bin/sniffer - 775 sys sys 1038443185 99028
 386/bin/snoopy - 775 sys sys 1108354563 157546
 386/bin/sort - 775 sys sys 1104122056 82285
@@ -425,7 +425,7 @@
 386/bin/topng - 775 sys sys 1108872012 138083
 386/bin/toppm - 775 sys sys 1104122065 164905
 386/bin/touch - 775 sys sys 1104122066 63763
-386/bin/tprof - 775 sys sys 1114225968 256583
+386/bin/tprof - 775 sys sys 1114484873 289115
 386/bin/tr - 775 sys sys 1104122066 61851
 386/bin/trace - 775 sys sys 1106799181 180728
 386/bin/troff - 775 sys sys 1094040114 357714
@@ -549,7 +549,7 @@
 386/lib/libhttpd.a - 664 sys sys 1108268398 99488
 386/lib/libip.a - 664 sys sys 1108268398 35602
 386/lib/libl.a - 664 sys sys 1108268398 5384
-386/lib/libmach.a - 664 sys sys 1114459829 834000
+386/lib/libmach.a - 664 sys sys 1114484874 755168
 386/lib/libmemdraw.a - 664 sys sys 1110946101 283198
 386/lib/libmemlayer.a - 664 sys sys 1108699740 47360
 386/lib/libmp.a - 664 sys sys 1108268401 79532
@@ -3998,6 +3998,7 @@ sys/lib/acid/pool - 664 sys sys 1063858105 4898
 sys/lib/acid/port - 664 sys sys 1049580489 8902
 sys/lib/acid/power - 664 sys sys 969499633 3058
 sys/lib/acid/sparc - 664 sys sys 944955986 5339
+sys/lib/acid/sparc64 - 664 sys sys 1114524607 5441
 sys/lib/acid/syscall - 664 sys sys 1016926088 5353
 sys/lib/acid/thread - 664 sys sys 1063858106 5979
 sys/lib/acid/transcript - 775 sys sys 954614670 752
@@ -12973,18 +12974,3 @@ usr/glenda/lib/profile - 664 glenda glenda 1105128663 890
 usr/glenda/readme.acme - 664 glenda glenda 1019860628 4753
 usr/glenda/readme.rio - 664 glenda glenda 1019860628 6370
 usr/glenda/tmp - 20000000775 glenda glenda 1018802620 0
-386/bin/acid - 775 sys sys 1114484867 389719
-386/bin/ar - 775 sys sys 1114484868 110847
-386/bin/db - 775 sys sys 1114484869 336153
-386/bin/snap - 775 sys sys 1114484871 303547
-386/bin/snapfs - 775 sys sys 1114484872 372401
-386/bin/file - 775 sys sys 1114484869 118706
-386/bin/kprof - 775 sys sys 1114484870 102284
-386/bin/ktrace - 775 sys sys 1114484870 116436
-386/bin/nm - 775 sys sys 1114484870 121630
-386/bin/prof - 775 sys sys 1114484870 106950
-386/bin/size - 775 sys sys 1114484871 76817
-386/bin/aux/ms2 - 775 sys sys 1114484868 84166
-386/bin/aux/vga - 775 sys sys 1114484868 309981
-386/bin/tprof - 775 sys sys 1114484873 289115
-386/lib/libmach.a - 664 sys sys 1114484874 755168

+ 1 - 0
dist/replica/plan9.db

@@ -3998,6 +3998,7 @@ sys/lib/acid/pool - 664 sys sys 1063858105 4898
 sys/lib/acid/port - 664 sys sys 1049580489 8902
 sys/lib/acid/power - 664 sys sys 969499633 3058
 sys/lib/acid/sparc - 664 sys sys 944955986 5339
+sys/lib/acid/sparc64 - 664 sys sys 1114524607 5441
 sys/lib/acid/syscall - 664 sys sys 1016926088 5353
 sys/lib/acid/thread - 664 sys sys 1063858106 5979
 sys/lib/acid/transcript - 775 sys sys 954614670 752

+ 1 - 0
dist/replica/plan9.log

@@ -14809,3 +14809,4 @@
 1114486320 12 c 386/bin/aux/vga - 775 sys sys 1114484868 309981
 1114486320 13 c 386/bin/tprof - 775 sys sys 1114484873 289115
 1114486320 14 c 386/lib/libmach.a - 664 sys sys 1114484874 755168
+1114525929 0 a sys/lib/acid/sparc64 - 664 sys sys 1114524607 5441

+ 222 - 0
sys/lib/acid/sparc64

@@ -0,0 +1,222 @@
+// Sparc64 support
+
+defn acidinit()			// Called after all the init modules are loaded
+{
+	bplist = {};
+	bpfmt = 'X';
+
+	srcpath = {
+		"./",
+		"/sys/src/libc/port/",
+		"/sys/src/libc/9sys/",
+		"/sys/src/libc/sparc64/"
+	};
+
+	srcfiles = {};		// list of loaded files
+	srctext = {};		// the text of the files
+}
+
+defn linkreg(addr)
+{
+	complex Ureg addr;
+	return addr.r15\X;
+}
+
+defn stk()			// trace
+{
+	_stk(*PC, *SP, linkreg(0), 0);
+}
+
+defn lstk()			// trace with locals
+{
+	_stk(*PC, *SP, linkreg(0), 1);
+}
+
+defn gpr()			// print general purpose registers
+{
+	print("SP\t", *SP, "R2\t", *R2, "R3\t", *R3, "\n");
+	print("R4\t", *R4, "R5\t", *R5, "R6\t", *R6, "\n");
+	print("R7\t", *R7, "R8\t", *R8, "R9\t", *R9, "\n");
+	print("R10\t", *R10, "R11\t", *R11, "R12\t", *R12, "\n");
+	print("R13\t", *R13, "R14\t", *R14, "R15\t", *R15, "\n");
+	print("R16\t", *R16, "R17\t", *R17, "R18\t", *R18, "\n");
+	print("R19\t", *R19, "R20\t", *R20, "R21\t", *R21, "\n");
+	print("R22\t", *R22, "R23\t", *R23, "R24\t", *R24, "\n");
+	print("R25\t", *R25, "R26\t", *R26, "R27\t", *R27, "\n");
+	print("R28\t", *R28, "R29\t", *R29, "R30\t", *R30, "\n");
+	print("R31\t", *R31, "\n");
+}
+
+defn spr()				// print special processor registers
+{
+	local pc;
+	local link;
+	local cause;
+
+	pc = *PC;
+	npc = *NPC;
+	print("PC\t", pc, " ", fmt(pc, 'a'), "  ");
+	pfl(pc);
+	print("NPC\t", npc, " ", fmt(npc, 'a'), "  ");
+	pfl(npc);
+	print("PSTATE\t", *PSTATE, "\n");
+
+	link = *R15;
+	print("SP\t", *SP, "\tLINK\t\t", link, " ", fmt(link, 'a'));
+	pfl(link);
+
+	cause = *TT;
+	print("Y\t", *Y, "\tCAUSE\t", cause, " ", reason(cause), "\n");
+}
+
+defn Fpr()
+{
+	print("F0\t",  *fmt(F0, 'G'),  "\tF2\t",  *fmt(F2, 'G'), "\n");
+	print("F4\t",  *fmt(F4, 'G'),  "\tF6\t",  *fmt(F6, 'G'), "\n");
+	print("F8\t",  *fmt(F8, 'G'),  "\tF10\t", *fmt(F10, 'G'), "\n");
+	print("F12\t", *fmt(F12, 'G'), "\tF14\t", *fmt(F14, 'G'), "\n");
+	print("F16\t", *fmt(F16, 'G'), "\tF18\t", *fmt(F18, 'G'), "\n");
+	print("F20\t", *fmt(F20, 'G'), "\tF22\t", *fmt(F22, 'G'), "\n");
+	print("F24\t", *fmt(F24, 'G'), "\tF26\t", *fmt(F26, 'G'), "\n");
+	print("F28\t", *fmt(F28, 'G'), "\tF30\t", *fmt(F30, 'G'), "\n");
+}
+
+defn fpr()
+{
+	print("F0\t",  *fmt(F0, 'g'),  "\tF1\t",  *fmt(F1, 'g'), "\n");
+	print("F2\t",  *fmt(F2, 'g'),  "\tF3\t",  *fmt(F3, 'g'), "\n");
+	print("F4\t",  *fmt(F4, 'g'),  "\tF5\t",  *fmt(F5, 'g'), "\n");
+	print("F6\t",  *fmt(F6, 'g'),  "\tF7\t",  *fmt(F7, 'g'), "\n");
+	print("F8\t",  *fmt(F8, 'g'),  "\tF9\t",  *fmt(F9, 'g'), "\n");
+	print("F10\t", *fmt(F10, 'g'), "\tF11\t", *fmt(F11, 'g'), "\n");
+	print("F12\t", *fmt(F12, 'g'), "\tF13\t", *fmt(F13, 'g'), "\n");
+	print("F14\t", *fmt(F14, 'g'), "\tF15\t", *fmt(F15, 'g'), "\n");
+	print("F16\t", *fmt(F16, 'g'), "\tF17\t", *fmt(F17, 'g'), "\n");
+	print("F18\t", *fmt(F18, 'g'), "\tF19\t", *fmt(F19, 'g'), "\n");
+	print("F20\t", *fmt(F20, 'g'), "\tF21\t", *fmt(F21, 'g'), "\n");
+	print("F22\t", *fmt(F22, 'g'), "\tF23\t", *fmt(F23, 'g'), "\n");
+	print("F24\t", *fmt(F24, 'g'), "\tF25\t", *fmt(F25, 'g'), "\n");
+	print("F26\t", *fmt(F26, 'g'), "\tF27\t", *fmt(F27, 'g'), "\n");
+	print("F28\t", *fmt(F28, 'g'), "\tF29\t", *fmt(F29, 'g'), "\n");
+	print("F30\t", *fmt(F30, 'g'), "\tF31\t", *fmt(F31, 'g'), "\n");
+}
+
+defn regs()				// print all registers
+{
+	spr();
+	gpr();
+}
+
+defn pstop(pid)
+{
+	local l;
+	local pc;
+
+	pc = *PC;
+
+	print(pid,": ", reason(*TT), "\t");
+	print(fmt(pc, 'a'), "\t", fmt(pc, 'i'), "\n");
+
+	if notes then {
+		if notes[0] != "sys: breakpoint" then {
+			print("Notes pending:\n");
+			l = notes;
+			while l do {
+				print("\t", head l, "\n");
+				l = tail l;
+			}
+		}
+	}
+}
+
+aggr Ureg
+{
+	'U' 0 r0;
+	{
+	'U' 4 sp;
+	'U' 4 usp;
+	'U' 4 r1;
+	};
+	'U' 8 r2;
+	'U' 12 r3;
+	'U' 16 r4;
+	'U' 20 r5;
+	'U' 24 r6;
+	'U' 28 r7;
+	'U' 32 r8;
+	'U' 36 r9;
+	'U' 40 r10;
+	'U' 44 r11;
+	'U' 48 r12;
+	'U' 52 r13;
+	'U' 56 r14;
+	'U' 60 r15;
+	'U' 64 r16;
+	'U' 68 r17;
+	'U' 72 r18;
+	'U' 76 r19;
+	'U' 80 r20;
+	'U' 84 r21;
+	'U' 88 r22;
+	'U' 92 r23;
+	'U' 96 r24;
+	'U' 100 r25;
+	'U' 104 r26;
+	'U' 108 r27;
+	'U' 112 r28;
+	'U' 116 r29;
+	'U' 120 r30;
+	'U' 124 r31;
+	'U' 128 y;
+	'U' 132 tt;
+	'U' 136 pstate;
+	'U' 140 npc;
+	'U' 144 pc;
+	'U' 148 pad;
+};
+
+defn
+Ureg(addr) {
+	complex Ureg addr;
+	print("	r0	", addr.r0, "\n");
+	print("	sp	", addr.sp, "\n");
+	print("	r2	", addr.r2, "\n");
+	print("	r3	", addr.r3, "\n");
+	print("	r4	", addr.r4, "\n");
+	print("	r5	", addr.r5, "\n");
+	print("	r6	", addr.r6, "\n");
+	print("	r7	", addr.r7, "\n");
+	print("	r8	", addr.r8, "\n");
+	print("	r9	", addr.r9, "\n");
+	print("	r10	", addr.r10, "\n");
+	print("	r11	", addr.r11, "\n");
+	print("	r12	", addr.r12, "\n");
+	print("	r13	", addr.r13, "\n");
+	print("	r14	", addr.r14, "\n");
+	print("	r15	", addr.r15, "\n");
+	print("	r16	", addr.r16, "\n");
+	print("	r17	", addr.r17, "\n");
+	print("	r18	", addr.r18, "\n");
+	print("	r19	", addr.r19, "\n");
+	print("	r20	", addr.r20, "\n");
+	print("	r21	", addr.r21, "\n");
+	print("	r22	", addr.r22, "\n");
+	print("	r23	", addr.r23, "\n");
+	print("	r24	", addr.r24, "\n");
+	print("	r25	", addr.r25, "\n");
+	print("	r26	", addr.r26, "\n");
+	print("	r27	", addr.r27, "\n");
+	print("	r28	", addr.r28, "\n");
+	print("	r29	", addr.r29, "\n");
+	print("	r30	", addr.r30, "\n");
+	print("	r31	", addr.r31, "\n");
+	print("	y	", addr.y, "\n");
+	print("	tt	", addr.tt, "\n");
+	print("	pstate	", addr.pstate, "\n");
+	print("	npc	", addr.npc, "\n");
+	print("	pc	", addr.pc, "\n");
+	print("	pad	", addr.pad, "\n");
+};
+sizeofUreg = 152;
+
+print("/sys/lib/acid/sparc64");