1 // runtime library definitions
2 if objtype=="mips2" then objtype="mips";
4 include("/sys/src/alef/lib/"+objtype+"/acid");
14 print("Sender waiting: buffer ", addr.sva, "\n");
19 print("Receiver waiting: buffer ", addr.rva, "\n");
21 print("No receiver\n");
30 print("Async channel\n\t", n\D, " messsages queued\n\t");
36 print(n\D, " free buffers\n");
43 print("In select ", l, ": task ", addr.selt\X, "\n");
53 // Private proc tdb pointer
56 0xbfff5000 }[match(objtype, {"mips", "sparc", "386"})];
60 print("tdb ", ta.ntask, " tasks:");
67 print("current task ", ta.ctask, "\n");
71 print("proc is idle\n");
77 print("Tasks ready to run:\n");
79 print("Task(", tq, ")\n");
94 print("No select pending\n");
98 print("pchan(", c\X, ")\n");
111 print("QLock is under modification\n");
112 if addr.used == 0 then
115 print("QLock is held\n");
119 print("No tasks waiting\n");
122 print("Tasks waiting:\n");
124 print("Task(", t, ")\n");
131 "/sys/src/alef/lib/port/",
132 "/sys/src/alef/lib/p9/",
133 "/sys/src/alef/lib/"+objtype+"/"
138 if objtype == "386" then
139 _stk(ALEF_switch, *l, linkreg(0), 0);
141 _stk(*(l+4), *l, linkreg(0), 0);
144 print("/sys/lib/acid/alef");
146 include("/sys/src/alef/lib/port/acid."+objtype);
147 include("/sys/src/alef/lib/p9/acid."+objtype);