From 4a8bb339f47d7ec42336fe4aa7a89578b098c9db Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 18 Sep 1990 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1990-09-18 --- gnot/boot.c | 17 +- gnot/boot.h | 2185 ++++++++++++++++++++++++------------------------ gnot/dat.h | 1 + gnot/devcons.c | 27 +- gnot/fault.c | 1 - gnot/main.c | 5 + gnot/sysfile.c | 10 +- gnot/sysproc.c | 34 +- port/sysfile.c | 10 +- 9 files changed, 1190 insertions(+), 1100 deletions(-) diff --git a/gnot/boot.c b/gnot/boot.c index e631be3d19727a24b8b81bc9d3ee73cb9e0c159f..c4f23f638f534ca117d0d26a24f44d27fed13428 100644 --- a/gnot/boot.c +++ b/gnot/boot.c @@ -7,6 +7,7 @@ Fcall hdr; char buf[100]; char bootline[64]; char bootdevice; +char bootserver[64]; void error(char*); void sendmsg(int, char*); @@ -14,7 +15,7 @@ void sendmsg(int, char*); main(int argc, char *argv[]) { int cfd, fd, n, fu, f; - char buf[NAMELEN]; + char buf[256]; int p[2]; open("#c/cons", OREAD); @@ -26,12 +27,17 @@ main(int argc, char *argv[]) read(fd, bootline, sizeof bootline); close(fd); } - fd = open("#e/bootdevice", OREAD); if(fd >= 0){ read(fd, &bootdevice, 1); close(fd); } + fd = open("#e/bootserver", OREAD); + if(fd >= 0){ + read(fd, bootserver, 64); + close(fd); + } else + strcpy(bootserver, "nfs"); switch(bootdevice){ case 'a': @@ -88,8 +94,9 @@ main(int argc, char *argv[]) cfd = open("#k/2/ctl", 2); if(cfd < 0) error("opening #k/2/ctl"); - sendmsg(cfd, "connect nfs"); - print("connected to helix.bootfs\n"); + sprint(buf, "connect %s", bootserver); + sendmsg(cfd, buf); + print("connected to %s\n", bootserver); close(cfd); /* @@ -101,6 +108,8 @@ main(int argc, char *argv[]) if(write(fd, buf, n) != n) error("write nop"); n = read(fd, buf, sizeof buf); + if(n==2 && buf[0]=='O' && buf[1]=='K') + n = read(fd, buf, sizeof buf); if(n <= 0) error("read nop"); if(convM2S(buf, &hdr, n) == 0) { diff --git a/gnot/boot.h b/gnot/boot.h index 68fc407c2fdfecae1d85b051c2d3ddb092cbe1db..e1d7aebd74555f7cbdcd7a802a80206f1a7d10b8 100644 --- a/gnot/boot.h +++ b/gnot/boot.h @@ -1,8 +1,8 @@ ulong bootcode[]={ 0x000000107, - 0x000002356, - 0x00000043c, - 0x000000170, + 0x0000023f4, + 0x000000444, + 0x0000001b0, 0x000000000, 0x000002020, 0x000000000, @@ -13,313 +13,348 @@ ulong bootcode[]={ 0x000142f2f, 0x00014610c, 0x02f006100, - 0x005604fef, + 0x005ec4fef, 0x0001c4e75, - 0x04fefffc8, + 0x04feffee4, 0x042a7486e, - 0x081366100, - 0x023124878, + 0x081166100, + 0x023b04878, 0x00001486e, - 0x0813e6100, - 0x023064878, + 0x0811e6100, + 0x023a44878, 0x00001486e, - 0x081466100, - 0x022fa42a7, - 0x0486e814e, - 0x0610022f0, + 0x081266100, + 0x0239842a7, + 0x0486e812e, + 0x06100238e, 0x04a806d1e, 0x048780040, - 0x0486e856e, + 0x0486e85b6, 0x02f002f40, - 0x0005c6100, - 0x022e02f2f, - 0x0005c6100, - 0x022ae4fef, + 0x001406100, + 0x0237e2f2f, + 0x001406100, + 0x0234c4fef, 0x0001042a7, - 0x0486e815a, - 0x0610022c4, - 0x024006d1e, + 0x0486e813a, + 0x061002362, + 0x04a806d1e, 0x048780001, 0x0486e8002, - 0x02f022f42, - 0x000646100, - 0x022b42f2f, - 0x000646100, - 0x022824fef, - 0x00010102e, - 0x0800249c0, - 0x04fef0028, - 0x07261b200, - 0x0670003de, - 0x048780002, - 0x0486e819a, - 0x061002284, - 0x02f40003c, - 0x04aaf003c, - 0x0508f6c0a, - 0x0486e81a1, - 0x061000428, - 0x0588f486e, - 0x081b02f2f, - 0x000386100, - 0x003ea486e, - 0x081bb2f2f, - 0x000406100, - 0x003de6100, - 0x022464fef, - 0x0001072ff, - 0x0b2806700, - 0x003904281, - 0x0b2806700, - 0x0037a2f2f, - 0x000346100, - 0x02212588f, + 0x02f002f40, + 0x001486100, + 0x023522f2f, + 0x001486100, + 0x023204fef, + 0x0001042a7, + 0x0486e8148, + 0x061002336, + 0x04a806d00, + 0x004944878, + 0x00040486e, + 0x084ca2f00, + 0x02f400150, + 0x061002324, + 0x02f2f0150, + 0x0610022f2, + 0x0102e8002, + 0x049c04fef, + 0x000407261, + 0x0b2006700, + 0x0042e4878, + 0x00002486e, + 0x0818c6100, + 0x022f82f40, + 0x001204aaf, + 0x00120508f, + 0x06c0a486e, + 0x081936100, + 0x0048a588f, + 0x0486e81a2, + 0x02f2f011c, + 0x06100044c, + 0x0486e81ad, + 0x02f2f0124, + 0x061000440, + 0x0610022ba, + 0x04fef0010, + 0x072ffb280, + 0x0670003e0, + 0x04281b280, + 0x0670003ca, + 0x02f2f0118, + 0x061002286, + 0x0588f4878, + 0x00002486e, + 0x081c36100, + 0x0229c4a80, + 0x042e72f40, + 0x0011e44df, + 0x06c0a486e, + 0x081cd6100, + 0x0042e588f, 0x048780002, - 0x0486e81d1, - 0x061002228, + 0x0486e81df, + 0x06100227a, 0x04a8042e7, - 0x02f40003a, + 0x02f40012a, 0x044df6c0a, - 0x0486e81db, - 0x0610003cc, - 0x0588f4878, - 0x00002486e, - 0x081ed6100, - 0x022062f40, - 0x000444aaf, - 0x000446c0a, - 0x0486e81f6, - 0x0610003ac, + 0x0486e81e8, + 0x06100040c, 0x0588f486e, - 0x082072f2f, - 0x000486100, - 0x0036e486e, - 0x082136100, - 0x004662f2f, - 0x000506100, - 0x021b2486e, - 0x0822e6100, - 0x00456422e, - 0x08526486f, - 0x0002c486e, - 0x085266100, - 0x012222f00, - 0x02f40005c, - 0x0486f0038, - 0x02f2f0064, - 0x0610021be, - 0x0b0af0064, + 0x084ca486e, + 0x081f9486f, + 0x000206100, + 0x0059a486f, + 0x000242f2f, + 0x001386100, + 0x003be486e, + 0x084ca486e, + 0x082046100, + 0x004b22f2f, + 0x001446100, + 0x02210486e, + 0x082156100, + 0x004a2422e, + 0x0856e486f, + 0x0003c486e, + 0x0856e6100, + 0x012802f00, + 0x02f400150, + 0x0486f0048, + 0x02f2f0158, + 0x06100221c, + 0x0b0af0158, 0x0670a486e, - 0x082356100, - 0x00356588f, - 0x04878001c, - 0x0486f0044, - 0x02f2f0070, - 0x061002192, - 0x02f400070, - 0x04aaf0070, - 0x06e0a486e, - 0x0823f6100, - 0x00332588f, - 0x02f2f0070, - 0x0486e8526, + 0x0821c6100, + 0x003a2588f, + 0x048780100, 0x0486f0054, - 0x061001972, - 0x04a806638, - 0x0102f005b, - 0x049c02f00, - 0x0102f005e, - 0x049c02f00, - 0x0102f0061, - 0x049c02f00, - 0x0102f0064, - 0x049c02f00, - 0x02f2f008c, - 0x0486e8248, - 0x0610003c0, - 0x0486e826b, - 0x0610002e8, - 0x04fef001c, - 0x00c2e0001, - 0x08526670a, - 0x0486e8276, - 0x0610002d4, - 0x0588f486e, - 0x0827f6100, - 0x0039a1d7c, - 0x000028526, - 0x01d7c0076, - 0x08530486f, - 0x0005c486e, - 0x085266100, - 0x0115e2f00, - 0x02f40008c, - 0x0486f0068, - 0x02f2f0094, - 0x0610020fa, - 0x0b0af0094, - 0x0670a486e, - 0x0828a6100, - 0x00292588f, - 0x04878001c, - 0x0486f0074, - 0x02f2f00a0, - 0x0610020ce, - 0x02f4000a0, - 0x04aaf00a0, - 0x06e0a486e, - 0x082986100, - 0x0026e588f, - 0x02f2f00a0, - 0x0486e8526, - 0x0486f0084, - 0x0610018ae, - 0x04a80660a, - 0x0486e82a5, - 0x061000250, - 0x0588f0c2e, - 0x000038526, + 0x02f2f0164, + 0x0610021f0, + 0x024007002, + 0x0b082660a, + 0x00c2f004f, + 0x0005c6700, + 0x002cc4a82, + 0x042e72f42, + 0x0016644df, + 0x06e0e486e, + 0x082266100, + 0x0036a242f, + 0x00168588f, + 0x02f02486e, + 0x0856e486f, + 0x000646100, + 0x019ba4a80, + 0x06638102f, + 0x0006b49c0, + 0x02f00102f, + 0x0006e49c0, + 0x02f00102f, + 0x0007149c0, + 0x02f00102f, + 0x0007449c0, + 0x02f002f2f, + 0x00180486e, + 0x0822f6100, + 0x003f6486e, + 0x082526100, + 0x0031e4fef, + 0x0001c0c2e, + 0x00001856e, 0x0670a486e, - 0x082b46100, - 0x0023e588f, - 0x04a6e852a, - 0x0671c302e, - 0x0852a48c0, - 0x02f00486e, - 0x082c16100, - 0x002f6486e, - 0x082cb6100, - 0x0021e4fef, - 0x0000c486e, - 0x082d86100, - 0x002e2486e, - 0x082e6486e, - 0x082e0486f, + 0x0825d6100, + 0x0030a588f, + 0x0486e8266, + 0x0610003d0, + 0x01d7c0002, + 0x0856e1d7c, + 0x000768578, + 0x0486f006c, + 0x0486e856e, + 0x0610011a6, + 0x02f002f40, + 0x00180486f, + 0x000782f2f, + 0x001886100, + 0x02142b0af, + 0x00188670a, + 0x0486e8271, + 0x0610002c8, + 0x0588f4878, + 0x00100486f, + 0x000842f2f, + 0x001946100, + 0x021162f40, + 0x001944aaf, + 0x001946e0a, + 0x0486e827f, + 0x0610002a4, + 0x0588f2f2f, + 0x00194486e, + 0x0856e486f, 0x000946100, - 0x003a24878, - 0x001b64878, - 0x00001486f, - 0x000a06100, - 0x0201c4a80, - 0x042e72f40, - 0x000c244df, - 0x06c0a486e, - 0x082ed6100, - 0x001de588f, - 0x02f2f00cc, - 0x0486e82f4, - 0x0486f00ac, - 0x06100036c, - 0x0486f00b0, - 0x061001052, - 0x0588f2f00, - 0x0486f00b4, - 0x02f2f00d4, - 0x06100200e, - 0x02f00486f, - 0x000c06100, - 0x01038588f, - 0x0221fb280, - 0x0670a486e, - 0x082f76100, - 0x0019a588f, - 0x02f2f00d8, - 0x061001fb4, - 0x0486e8303, - 0x0486e82fd, - 0x0486f00c8, - 0x061000320, + 0x018f64a80, + 0x0660a486e, + 0x0828c6100, + 0x00286588f, + 0x00c2e0003, + 0x0856e670a, + 0x0486e829b, + 0x061000274, + 0x0588f4a6e, + 0x08572671c, + 0x0302e8572, + 0x048c02f00, + 0x0486e82a8, + 0x06100032c, + 0x0486e82b2, + 0x061000254, + 0x04fef000c, + 0x0486e82bf, + 0x061000318, + 0x0486e82cd, + 0x0486e82c7, + 0x0486f00a4, + 0x0610003d8, 0x0487801b6, 0x048780001, - 0x0486e830a, - 0x061001f9a, + 0x0486f00b0, + 0x061002064, 0x04a8042e7, - 0x02f4000f6, + 0x02f4001b6, 0x044df6c0a, - 0x0486e8312, - 0x06100015c, + 0x0486e82d4, + 0x061000214, 0x0588f2f2f, - 0x00100486e, - 0x08319486f, - 0x000e06100, - 0x002ea486f, - 0x000e46100, - 0x00fd0588f, + 0x001c0486e, + 0x082db486f, + 0x000bc6100, + 0x003a2486f, + 0x000c06100, + 0x0109a588f, 0x02f00486f, - 0x000e82f2f, - 0x001086100, - 0x01f8c2f00, - 0x0486f00f4, - 0x061000fb6, + 0x000c42f2f, + 0x001c86100, + 0x020562f00, + 0x0486f00d0, + 0x061001080, 0x0588f221f, 0x0b280670a, - 0x0486e831c, - 0x061000118, + 0x0486e82de, + 0x0610001d0, 0x0588f2f2f, - 0x0010c6100, - 0x01f32486e, - 0x083226100, - 0x001d642a7, - 0x0486e832d, - 0x0486e832b, - 0x061000f9e, - 0x04a806c0a, - 0x0486e832f, - 0x0610000ec, - 0x0588f486e, - 0x083364878, - 0x00006486e, - 0x083342f2f, - 0x001386100, - 0x01f184a80, + 0x001cc6100, + 0x01ffc486e, + 0x082ea486e, + 0x082e4486f, + 0x000d86100, + 0x003564878, + 0x001b64878, + 0x00001486e, + 0x082f16100, + 0x01fe24a80, + 0x042e72f40, + 0x001ea44df, 0x06c0a486e, - 0x083376100, - 0x000ca588f, - 0x0486e833d, - 0x061000190, - 0x048780020, - 0x0486e856e, - 0x061000f1c, - 0x04a806720, - 0x042a7486e, - 0x08357486e, - 0x08352486e, - 0x083466100, - 0x00e66486e, - 0x0836b6100, - 0x000964fef, - 0x001644e75, + 0x082f96100, + 0x00192588f, + 0x02f2f01f4, + 0x0486e8300, + 0x0486f00f0, + 0x061000320, + 0x0486f00f4, + 0x061001018, + 0x0588f2f00, + 0x0486f00f8, + 0x02f2f01fc, + 0x061001fd4, + 0x02f00486f, + 0x001046100, + 0x00ffe588f, + 0x0221fb280, + 0x0670a486e, + 0x083036100, + 0x0014e588f, + 0x02f2f0200, + 0x061001f7a, + 0x0486e8309, + 0x06100020c, 0x042a7486e, - 0x08366486e, - 0x0835a6100, - 0x00e4a598f, - 0x060e04879, - 0x00000ea60, - 0x061001ec8, - 0x0588f60f2, - 0x06000fc82, - 0x048780002, - 0x0486e8168, - 0x061001ea8, - 0x02f40003c, - 0x04aaf003c, - 0x06c08486e, - 0x08174614e, + 0x08314486e, + 0x083126100, + 0x00fe64a80, + 0x06c0a486e, + 0x083166100, + 0x00122588f, + 0x0486e831d, + 0x048780006, + 0x0486e831b, + 0x02f2f022c, + 0x061001f60, + 0x04a806c0a, + 0x0486e831e, + 0x061000100, 0x0588f486e, - 0x081882f2f, - 0x000406112, - 0x0486e818f, - 0x02f2f0048, - 0x061084fef, - 0x000186000, - 0x0fc0e598f, + 0x083246100, + 0x001c64878, + 0x00020486e, + 0x085b66100, + 0x00f524a80, + 0x0672042a7, + 0x0486e833e, + 0x0486e8339, + 0x0486e832d, + 0x061000e9c, + 0x0486e8352, + 0x0610000cc, + 0x04fef0258, + 0x04e7542a7, + 0x0486e834d, + 0x0486e8341, + 0x061000e80, + 0x0598f60e0, + 0x00c2f004b, + 0x0005d6600, + 0x0fd2e4878, + 0x00100486f, + 0x000602f2f, + 0x001706100, + 0x01efa2400, + 0x04fef000c, + 0x06000fd14, + 0x048790000, + 0x0ea606100, + 0x01eec588f, + 0x060f26000, + 0x0fc324878, + 0x00002486e, + 0x0815a6100, + 0x01ecc2f40, + 0x001204aaf, + 0x001206c08, + 0x0486e8166, + 0x06160588f, + 0x0486e817a, + 0x02f2f0124, + 0x06124486e, + 0x081812f2f, + 0x0012c611a, + 0x04fef0018, + 0x06000fbbe, + 0x0486e8156, + 0x0486e84ca, + 0x061000ec6, + 0x0518f6000, + 0x0fb78598f, 0x02f2f000c, - 0x061000eb6, + 0x061000ec8, 0x02f002f40, 0x000082f2f, 0x000142f2f, 0x000146100, - 0x01e70b0af, + 0x01e82b0af, 0x000106708, 0x02f2f001c, 0x06108588f, @@ -327,10 +362,10 @@ ulong bootcode[]={ 0x04e754fef, 0x0ffc04857, 0x042a76100, - 0x01e26486f, + 0x01e38486f, 0x000082f2f, 0x00050486e, - 0x083774878, + 0x0835e4878, 0x000026100, 0x0011a42a7, 0x061744fef, @@ -338,10 +373,10 @@ ulong bootcode[]={ 0x0598f4281, 0x07021b081, 0x06f1e4ab6, - 0x01d20843e, + 0x01d208446, 0x0660e2daf, 0x000081d20, - 0x0843e7001, + 0x084467001, 0x0588f4e75, 0x052817021, 0x0b0816ee2, @@ -351,30 +386,30 @@ ulong bootcode[]={ 0x042827021, 0x0b0826f18, 0x020362d20, - 0x0843eb088, + 0x08446b088, 0x0660642b6, - 0x02d20843e, + 0x02d208446, 0x052827021, 0x0b0826ee8, 0x0588f4e75, 0x04aaf0004, 0x0660642a7, 0x0610c588f, - 0x0486e8426, + 0x0486e838e, 0x06104588f, 0x04e75518f, 0x072204a81, 0x06d222eb6, - 0x01d20843e, + 0x01d208446, 0x04a976712, 0x02f410004, 0x042b61d20, - 0x0843e4eb7, + 0x084464eb7, 0x00151222f, 0x000045381, 0x04a816cde, 0x02f2f000c, - 0x061001d56, + 0x061001d68, 0x04fef000c, 0x04e754fef, 0x0eff841ef, @@ -390,7 +425,7 @@ ulong bootcode[]={ 0x092882f01, 0x0486f001c, 0x048780001, - 0x061001d52, + 0x061001d64, 0x0240042e7, 0x02f40001e, 0x044df6c1a, @@ -416,7 +451,7 @@ ulong bootcode[]={ 0x092882f01, 0x0486f001c, 0x02f2f1024, - 0x061001cea, + 0x061001cfc, 0x0240042e7, 0x02f40001e, 0x044df6c1a, @@ -689,7 +724,7 @@ ulong bootcode[]={ 0x070012640, 0x060d4518f, 0x02f2f000c, - 0x0610008da, + 0x0610008ec, 0x0262f0014, 0x0266f0010, 0x0246f0018, @@ -1210,7 +1245,7 @@ ulong bootcode[]={ 0x000045888, 0x02f082f2f, 0x000086100, - 0x01060508f, + 0x01072508f, 0x04e75518f, 0x0f22f543a, 0x0000cf293, @@ -1256,76 +1291,31 @@ ulong bootcode[]={ 0x04e754a18, 0x066fc2008, 0x053804e75, - 0x0226f0004, - 0x04a19670c, - 0x024494a19, - 0x066fc93ca, - 0x020094e75, - 0x070004e75, - 0x070024e40, - 0x04e75598f, + 0x0246f0004, 0x0226f0008, - 0x0206f000c, - 0x010d11011, - 0x049c04201, - 0x0b0016d00, - 0x005f07227, - 0x0b0016e00, - 0x005e83036, - 0x00b208386, - 0x04efb0000, - 0x0200890af, - 0x0000c588f, - 0x04e753029, - 0x000021080, - 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054883029, - 0x000041080, - 0x030290004, - 0x048c0e080, - 0x011400001, - 0x054882029, - 0x0000a1080, - 0x02029000a, - 0x0e0801140, - 0x000015488, - 0x060ba3029, - 0x000021080, - 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054882029, - 0x000061080, - 0x020290006, - 0x0e0801140, - 0x000012029, - 0x000067210, - 0x0e2a01140, - 0x000022029, - 0x000067218, - 0x0e2a01140, - 0x000034228, - 0x000044228, - 0x000054228, - 0x000064228, - 0x000075088, - 0x02029000a, - 0x010802029, - 0x0000ae080, - 0x011400001, - 0x054885288, - 0x02f29000a, - 0x02f29000e, - 0x02f082f48, - 0x0000c6100, - 0x00df2206f, - 0x0000c2037, - 0x001620014, - 0x0000ad1c0, - 0x04fef000c, - 0x06000ff32, + 0x014d966fc, + 0x0202f0004, + 0x04e75226f, + 0x000044a19, + 0x0670c2449, + 0x04a1966fc, + 0x093ca2009, + 0x04e757000, + 0x04e757002, + 0x04e404e75, + 0x0598f226f, + 0x00008206f, + 0x0000c10d1, + 0x0101149c0, + 0x04201b001, + 0x06d0005f0, + 0x07227b001, + 0x06e0005e8, + 0x030360b20, + 0x083a64efb, + 0x000002008, + 0x090af000c, + 0x0588f4e75, 0x030290002, 0x010803029, 0x0000248c0, @@ -1340,17 +1330,7 @@ ulong bootcode[]={ 0x010802029, 0x0000ae080, 0x011400001, - 0x054885288, - 0x02f29000a, - 0x02f29000e, - 0x02f082f48, - 0x0000c6100, - 0x00d8e206f, - 0x0000c2037, - 0x001620014, - 0x0000ad1c0, - 0x04fef000c, - 0x06000fece, + 0x0548860ba, 0x030290002, 0x010803029, 0x0000248c0, @@ -1375,37 +1355,67 @@ ulong bootcode[]={ 0x02029000a, 0x0e0801140, 0x000015488, - 0x06000fe6a, + 0x052882f29, + 0x0000a2f29, + 0x0000e2f08, + 0x02f48000c, + 0x061000df2, + 0x0206f000c, + 0x020370162, + 0x00014000a, + 0x0d1c04fef, + 0x0000c6000, + 0x0ff323029, + 0x000021080, 0x030290002, - 0x010803029, - 0x0000248c0, - 0x0e0801140, - 0x000015488, + 0x048c0e080, + 0x011400001, + 0x054883029, + 0x000041080, 0x030290004, - 0x010803029, - 0x0000448c0, + 0x048c0e080, + 0x011400001, + 0x054882029, + 0x0000a1080, + 0x02029000a, 0x0e0801140, 0x000015488, - 0x04878001c, - 0x048690006, - 0x02f082f48, - 0x0000c6100, - 0x00cda206f, - 0x0000c701c, + 0x052882f29, + 0x0000a2f29, + 0x0000e2f08, + 0x02f48000c, + 0x061000d8e, + 0x0206f000c, + 0x020370162, + 0x00014000a, 0x0d1c04fef, 0x0000c6000, - 0x0fe203029, + 0x0fece3029, 0x000021080, 0x030290002, 0x048c0e080, 0x011400001, - 0x054883029, + 0x054882029, 0x000061080, - 0x030290006, - 0x048c0e080, + 0x020290006, + 0x0e0801140, + 0x000012029, + 0x000067210, + 0x0e2a01140, + 0x000022029, + 0x000067218, + 0x0e2a01140, + 0x000034228, + 0x000044228, + 0x000054228, + 0x000064228, + 0x000075088, + 0x02029000a, + 0x010802029, + 0x0000ae080, 0x011400001, 0x054886000, - 0x0fdf43029, + 0x0fe6a3029, 0x000021080, 0x030290002, 0x048c0e080, @@ -1416,25 +1426,25 @@ ulong bootcode[]={ 0x048c0e080, 0x011400001, 0x054884878, - 0x000404869, + 0x0001c4869, 0x000062f08, 0x02f48000c, - 0x061000c64, + 0x061000cda, 0x0206f000c, - 0x07040d1c0, + 0x0701cd1c0, 0x04fef000c, - 0x06000fdaa, + 0x06000fe20, 0x030290002, 0x010803029, 0x0000248c0, 0x0e0801140, 0x000015488, - 0x030290004, + 0x030290006, 0x010803029, - 0x0000448c0, + 0x0000648c0, 0x0e0801140, 0x000015488, - 0x06000fd7e, + 0x06000fdf4, 0x030290002, 0x010803029, 0x0000248c0, @@ -1445,21 +1455,26 @@ ulong bootcode[]={ 0x0000448c0, 0x0e0801140, 0x000015488, - 0x06000fd52, - 0x030290002, - 0x010803029, - 0x0000248c0, - 0x0e0801140, - 0x000015488, 0x048780040, 0x048690006, 0x02f082f48, 0x0000c6100, - 0x00bd6206f, + 0x00c64206f, 0x0000c7040, 0x0d1c04fef, 0x0000c6000, - 0x0fd1c3029, + 0x0fdaa3029, + 0x000021080, + 0x030290002, + 0x048c0e080, + 0x011400001, + 0x054883029, + 0x000041080, + 0x030290004, + 0x048c0e080, + 0x011400001, + 0x054886000, + 0x0fd7e3029, 0x000021080, 0x030290002, 0x048c0e080, @@ -1469,82 +1484,82 @@ ulong bootcode[]={ 0x030290004, 0x048c0e080, 0x011400001, + 0x054886000, + 0x0fd523029, + 0x000021080, + 0x030290002, + 0x048c0e080, + 0x011400001, 0x054884878, 0x000404869, 0x000062f08, 0x02f48000c, - 0x061000b8c, + 0x061000bd6, 0x0206f000c, 0x07040d1c0, 0x04fef000c, - 0x06000fcd2, + 0x06000fd1c, 0x030290002, 0x010803029, 0x0000248c0, 0x0e0801140, 0x000015488, - 0x06000fcba, - 0x06000ff3a, - 0x030290002, + 0x030290004, 0x010803029, - 0x0000248c0, + 0x0000448c0, 0x0e0801140, 0x000015488, - 0x04878001c, - 0x04869000a, + 0x048780040, + 0x048690006, 0x02f082f48, 0x0000c6100, - 0x00b3a206f, - 0x0000c701c, + 0x00b8c206f, + 0x0000c7040, 0x0d1c04fef, 0x0000c6000, - 0x0fc8060c4, - 0x060aa6000, - 0x0fc823029, + 0x0fcd23029, 0x000021080, 0x030290002, 0x048c0e080, 0x011400001, - 0x054882029, - 0x000061080, - 0x020290006, + 0x054886000, + 0x0fcba6000, + 0x0ff3a3029, + 0x000021080, + 0x030290002, + 0x048c0e080, + 0x011400001, + 0x054884878, + 0x0001c4869, + 0x0000a2f08, + 0x02f48000c, + 0x061000b3a, + 0x0206f000c, + 0x0701cd1c0, + 0x04fef000c, + 0x06000fc80, + 0x060c460aa, + 0x06000fc82, + 0x030290002, + 0x010803029, + 0x0000248c0, 0x0e0801140, - 0x000012029, - 0x000067210, - 0x0e2a01140, - 0x000022029, - 0x000067218, - 0x0e2a01140, - 0x000034228, - 0x000044228, - 0x000054228, - 0x000064228, - 0x000075088, - 0x02029000a, + 0x000015488, + 0x020290006, 0x010802029, - 0x0000ae080, - 0x011400001, - 0x054882f29, - 0x0000a2f29, - 0x0000e2f08, - 0x02f48000c, - 0x061000ab0, - 0x0206f000c, - 0x020370162, - 0x00014000a, - 0x0d1c04fef, - 0x0000c6000, - 0x0fbf03029, - 0x000021080, - 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054883029, - 0x000041080, - 0x030290004, - 0x048c0e080, + 0x00006e080, 0x011400001, - 0x054882029, + 0x020290006, + 0x07210e2a0, + 0x011400002, + 0x020290006, + 0x07218e2a0, + 0x011400003, + 0x042280004, + 0x042280005, + 0x042280006, + 0x042280007, + 0x050882029, 0x0000a1080, 0x02029000a, 0x0e0801140, @@ -1553,13 +1568,12 @@ ulong bootcode[]={ 0x02f29000e, 0x02f082f48, 0x0000c6100, - 0x00a4e206f, + 0x00ab0206f, 0x0000c2037, 0x001620014, 0x0000ad1c0, 0x04fef000c, - 0x06000fb8e, - 0x06000fcbe, + 0x06000fbf0, 0x030290002, 0x010803029, 0x0000248c0, @@ -1570,206 +1584,272 @@ ulong bootcode[]={ 0x0000448c0, 0x0e0801140, 0x000015488, - 0x02029000c, + 0x02029000a, 0x010802029, - 0x0000ce088, - 0x011400001, - 0x02029000c, - 0x07210e2a8, - 0x011400002, - 0x02029000c, - 0x07218e2a8, - 0x011400003, - 0x058886000, - 0x0fb343029, - 0x000021080, - 0x030290002, - 0x048c0e080, + 0x0000ae080, 0x011400001, - 0x054884878, - 0x0001c4869, - 0x0000a2f08, + 0x054882f29, + 0x0000a2f29, + 0x0000e2f08, 0x02f48000c, - 0x0610009b8, - 0x0226f0014, + 0x061000a4e, 0x0206f000c, - 0x0701cd1c0, - 0x020290006, - 0x010802029, - 0x00006e080, - 0x011400001, - 0x020290006, - 0x07210e2a0, - 0x011400002, - 0x020290006, - 0x07218e2a0, - 0x011400003, - 0x0588810e9, - 0x000264fef, + 0x020370162, + 0x00014000a, + 0x0d1c04fef, 0x0000c6000, - 0x0facc6000, - 0x0ff403029, + 0x0fb8e6000, + 0x0fcbe3029, 0x000021080, 0x030290002, 0x048c0e080, 0x011400001, - 0x0548810e9, - 0x000266000, - 0x0faac60de, - 0x06000fdf2, - 0x06000fe24, + 0x054883029, + 0x000041080, + 0x030290004, + 0x048c0e080, + 0x011400001, + 0x054882029, + 0x0000c1080, + 0x02029000c, + 0x0e0881140, + 0x000012029, + 0x0000c7210, + 0x0e2a81140, + 0x000022029, + 0x0000c7218, + 0x0e2a81140, + 0x000035888, + 0x06000fb34, 0x030290002, 0x010803029, 0x0000248c0, 0x0e0801140, 0x000015488, - 0x030290008, - 0x010803029, - 0x0000848c0, + 0x04878001c, + 0x04869000a, + 0x02f082f48, + 0x0000c6100, + 0x009b8226f, + 0x00014206f, + 0x0000c701c, + 0x0d1c02029, + 0x000061080, + 0x020290006, 0x0e0801140, - 0x000015488, - 0x06000fa76, + 0x000012029, + 0x000067210, + 0x0e2a01140, + 0x000022029, + 0x000067218, + 0x0e2a01140, + 0x000035888, + 0x010e90026, + 0x04fef000c, + 0x06000facc, + 0x06000ff40, 0x030290002, 0x010803029, 0x0000248c0, 0x0e0801140, 0x000015488, - 0x04878001c, - 0x048690006, - 0x02f082f48, - 0x0000c6100, - 0x008fa701c, - 0x0d1af000c, - 0x04878001c, - 0x048770162, - 0x000180022, - 0x02f2f0014, - 0x0610008e0, - 0x0206f0018, - 0x0701cd1c0, - 0x04fef0018, - 0x06000fa26, - 0x0101149c0, - 0x02f00486e, - 0x081166100, - 0x0ec124280, - 0x04fef000c, - 0x04e753029, - 0x000041080, - 0x030290004, + 0x010e90026, + 0x06000faac, + 0x060de6000, + 0x0fdf26000, + 0x0fe243029, + 0x000021080, + 0x030290002, + 0x048c0e080, + 0x011400001, + 0x054883029, + 0x000081080, + 0x030290008, 0x048c0e080, 0x011400001, 0x054886000, - 0x0f9f810e9, - 0x0000a6000, - 0x0f9f06000, - 0x0f9ec60fa, - 0x0598f206f, - 0x0000c4878, - 0x0001c2f2f, - 0x0000c2f08, + 0x0fa763029, + 0x000021080, + 0x030290002, + 0x048c0e080, + 0x011400001, + 0x054884878, + 0x0001c4869, + 0x000062f08, 0x02f48000c, - 0x06100087c, - 0x0226f0014, + 0x0610008fa, + 0x0701cd1af, + 0x0000c4878, + 0x0001c4877, + 0x001620018, + 0x000222f2f, + 0x000146100, + 0x008e0206f, + 0x00018701c, + 0x0d1c04fef, + 0x000186000, + 0x0fa261011, + 0x049c02f00, + 0x0486e836e, + 0x06100ec00, + 0x042804fef, + 0x0000c4e75, + 0x030290004, + 0x010803029, + 0x0000448c0, + 0x0e0801140, + 0x000015488, + 0x06000f9f8, + 0x010e9000a, + 0x06000f9f0, + 0x06000f9ec, + 0x060fa598f, 0x0206f000c, - 0x0701cd1c0, - 0x02029001c, - 0x010802029, - 0x0001ce080, - 0x011400001, - 0x02029001c, - 0x07210e2a0, - 0x011400002, + 0x04878001c, + 0x02f2f000c, + 0x02f082f48, + 0x0000c6100, + 0x0087c226f, + 0x00014206f, + 0x0000c701c, + 0x0d1c02029, + 0x0001c1080, 0x02029001c, - 0x07218e2a0, - 0x011400003, - 0x058885888, + 0x0e0801140, + 0x000012029, + 0x0001c7210, + 0x0e2a01140, + 0x000022029, + 0x0001c7218, + 0x0e2a01140, + 0x000035888, + 0x058882029, + 0x000241080, 0x020290024, + 0x0e0801140, + 0x000012029, + 0x000247210, + 0x0e2a01140, + 0x000022029, + 0x000247218, + 0x0e2a01140, + 0x000035888, + 0x020290028, 0x010802029, - 0x00024e080, + 0x00028e080, 0x011400001, - 0x020290024, + 0x020290028, 0x07210e2a0, 0x011400002, - 0x020290024, + 0x020290028, 0x07218e2a0, 0x011400003, 0x058882029, - 0x000281080, - 0x020290028, + 0x0002c1080, + 0x02029002c, 0x0e0801140, 0x000012029, - 0x000287210, + 0x0002c7210, 0x0e2a01140, 0x000022029, - 0x000287218, + 0x0002c7218, 0x0e2a01140, 0x000035888, - 0x02029002c, + 0x020290034, 0x010802029, - 0x0002ce080, + 0x00034e080, 0x011400001, - 0x02029002c, + 0x020290034, 0x07210e2a0, 0x011400002, - 0x02029002c, + 0x020290034, 0x07218e2a0, 0x011400003, - 0x058882029, - 0x000341080, - 0x020290034, - 0x0e0801140, - 0x000012029, - 0x000347210, - 0x0e2a01140, - 0x000022029, - 0x000347218, - 0x0e2a01140, - 0x000034228, - 0x000044228, - 0x000054228, - 0x000064228, - 0x000075088, + 0x042280004, + 0x042280005, + 0x042280006, + 0x042280007, + 0x050883029, + 0x000381080, 0x030290038, - 0x010803029, - 0x0003848c0, - 0x0e0801140, - 0x000015488, + 0x048c0e080, + 0x011400001, + 0x054883029, + 0x0003a1080, 0x03029003a, - 0x010803029, - 0x0003a48c0, - 0x0e0801140, - 0x000015488, + 0x048c0e080, + 0x011400001, + 0x054883029, + 0x000201080, 0x030290020, - 0x010803029, - 0x0002048c0, - 0x0e0801140, - 0x000015488, + 0x048c0e080, + 0x011400001, + 0x054883029, + 0x000221080, 0x030290022, - 0x010803029, - 0x0002248c0, - 0x0e0801140, - 0x000015488, - 0x0200890af, - 0x000184fef, - 0x000104e75, - 0x0598f226f, - 0x0000c206f, - 0x000081298, - 0x0101149c0, - 0x04201b001, - 0x06d00057e, - 0x07227b001, - 0x06e000576, - 0x030360b20, - 0x083d64efb, - 0x00000202f, - 0x00008d0af, - 0x00010b088, - 0x06608202f, - 0x00010588f, - 0x04e754280, + 0x048c0e080, + 0x011400001, + 0x054882008, + 0x090af0018, + 0x04fef0010, + 0x04e75598f, + 0x0226f000c, + 0x0206f0008, + 0x012981011, + 0x049c04201, + 0x0b0016d00, + 0x0057e7227, + 0x0b0016e00, + 0x005763036, + 0x00b2083f6, + 0x04efb0000, + 0x0202f0008, + 0x0d0af0010, + 0x0b0886608, + 0x0202f0010, 0x0588f4e75, + 0x04280588f, + 0x04e754280, + 0x010104281, + 0x012280001, + 0x0e1818081, + 0x033400002, + 0x054884280, + 0x010104281, + 0x012280001, + 0x0e1818081, + 0x033400004, + 0x054884280, + 0x010104281, + 0x012280001, + 0x0e1818081, + 0x02340000a, + 0x0548860a8, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000065088, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080812340, + 0x0000a5488, + 0x052882348, + 0x0000e2029, + 0x0000ad1c0, + 0x06000ff46, 0x042801010, 0x042811228, 0x00001e181, @@ -1785,51 +1865,51 @@ ulong bootcode[]={ 0x00001e181, 0x080812340, 0x0000a5488, - 0x060a84280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, + 0x052882348, + 0x0000e2029, + 0x0000ad1c0, + 0x06000fefa, + 0x042801010, 0x042811228, - 0x000027410, - 0x0e5a18081, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400006, - 0x050884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x02340000a, - 0x054885288, - 0x02348000e, - 0x02029000a, - 0x0d1c06000, - 0x0ff464280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400004, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x02340000a, - 0x054885288, - 0x02348000e, - 0x02029000a, - 0x0d1c06000, - 0x0fefa4280, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000065088, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080812340, + 0x0000a5488, + 0x06000fea2, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000045488, + 0x04878001c, + 0x02f082f48, + 0x000084869, + 0x000066100, + 0x0056c206f, + 0x0000c701c, + 0x0d1c04fef, + 0x0000c6000, + 0x0fe584280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1838,20 +1918,9 @@ ulong bootcode[]={ 0x010104281, 0x012280001, 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400006, - 0x050884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x02340000a, + 0x033400006, 0x054886000, - 0x0fea24280, + 0x0fe2c4280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1862,14 +1931,14 @@ ulong bootcode[]={ 0x0e1818081, 0x033400004, 0x054884878, - 0x0001c2f08, + 0x000402f08, 0x02f480008, 0x048690006, - 0x06100056c, + 0x0610004f6, 0x0206f000c, - 0x0701cd1c0, + 0x07040d1c0, 0x04fef000c, - 0x06000fe58, + 0x06000fde2, 0x042801010, 0x042811228, 0x00001e181, @@ -1879,8 +1948,8 @@ ulong bootcode[]={ 0x042811228, 0x00001e181, 0x080813340, - 0x000065488, - 0x06000fe2c, + 0x000045488, + 0x06000fdb6, 0x042801010, 0x042811228, 0x00001e181, @@ -1891,15 +1960,21 @@ ulong bootcode[]={ 0x00001e181, 0x080813340, 0x000045488, + 0x06000fd8a, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, 0x048780040, 0x02f082f48, 0x000084869, 0x000066100, - 0x004f6206f, + 0x00468206f, 0x0000c7040, 0x0d1c04fef, 0x0000c6000, - 0x0fde24280, + 0x0fd544280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1909,8 +1984,38 @@ ulong bootcode[]={ 0x012280001, 0x0e1818081, 0x033400004, - 0x054886000, - 0x0fdb64280, + 0x054884878, + 0x000402f08, + 0x02f480008, + 0x048690006, + 0x06100041e, + 0x0206f000c, + 0x07040d1c0, + 0x04fef000c, + 0x06000fd0a, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x06000fcf2, + 0x06000ff3a, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x04878001c, + 0x02f082f48, + 0x000084869, + 0x0000a6100, + 0x003cc206f, + 0x0000c701c, + 0x0d1c04fef, + 0x0000c6000, + 0x0fcb860c4, + 0x060aa6000, + 0x0fcca4280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1919,22 +2024,22 @@ ulong bootcode[]={ 0x010104281, 0x012280001, 0x0e1818081, - 0x033400004, - 0x054886000, - 0x0fd8a4280, + 0x042811228, + 0x000027410, + 0x0e5a18081, + 0x042811228, + 0x000037418, + 0x0e5a18081, + 0x023400006, + 0x050884280, 0x010104281, 0x012280001, 0x0e1818081, - 0x033400002, - 0x054884878, - 0x000402f08, - 0x02f480008, - 0x048690006, - 0x061000468, - 0x0206f000c, - 0x07040d1c0, - 0x04fef000c, - 0x06000fd54, + 0x02340000a, + 0x054882348, + 0x0000e2029, + 0x0000ad1c0, + 0x06000fc4e, 0x042801010, 0x042811228, 0x00001e181, @@ -1945,22 +2050,38 @@ ulong bootcode[]={ 0x00001e181, 0x080813340, 0x000045488, - 0x048780040, - 0x02f082f48, - 0x000084869, - 0x000066100, - 0x0041e206f, - 0x0000c7040, - 0x0d1c04fef, - 0x0000c6000, - 0x0fd0a4280, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080812340, + 0x0000a5488, + 0x02348000e, + 0x02029000a, + 0x0d1c06000, + 0x0fc046000, + 0x0fd084280, 0x010104281, 0x012280001, 0x0e1818081, 0x033400002, - 0x054886000, - 0x0fcf26000, - 0x0ff3a4280, + 0x054884280, + 0x010104281, + 0x012280001, + 0x0e1818081, + 0x033400004, + 0x054884280, + 0x010104281, + 0x012280001, + 0x0e1818081, + 0x042811228, + 0x000027410, + 0x0e5a18081, + 0x042811228, + 0x000037418, + 0x0e5a18081, + 0x02340000c, + 0x058886000, + 0x0fba84280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1969,18 +2090,10 @@ ulong bootcode[]={ 0x0001c2f08, 0x02f480008, 0x04869000a, - 0x0610003cc, + 0x061000286, + 0x0226f0018, 0x0206f000c, 0x0701cd1c0, - 0x04fef000c, - 0x06000fcb8, - 0x060c460aa, - 0x06000fcca, - 0x042801010, - 0x042811228, - 0x00001e181, - 0x080813340, - 0x000025488, 0x042801010, 0x042811228, 0x00001e181, @@ -1991,16 +2104,21 @@ ulong bootcode[]={ 0x012280003, 0x07418e5a1, 0x080812340, - 0x000065088, + 0x000065888, + 0x013580026, + 0x04fef000c, + 0x06000fb3e, + 0x06000ff3c, 0x042801010, 0x042811228, 0x00001e181, - 0x080812340, - 0x0000a5488, - 0x02348000e, - 0x02029000a, - 0x0d1c06000, - 0x0fc4e4280, + 0x080813340, + 0x000025488, + 0x013580026, + 0x06000fb1e, + 0x060de6000, + 0x0fe2c6000, + 0x0fe5e4280, 0x010104281, 0x012280001, 0x0e1818081, @@ -2009,49 +2127,50 @@ ulong bootcode[]={ 0x010104281, 0x012280001, 0x0e1818081, - 0x033400004, - 0x054884280, + 0x033400008, + 0x054886000, + 0x0fae84280, 0x010104281, 0x012280001, 0x0e1818081, - 0x02340000a, - 0x054882348, - 0x0000e2029, - 0x0000ad1c0, - 0x06000fc04, - 0x06000fd08, - 0x042801010, - 0x042811228, - 0x00001e181, - 0x080813340, - 0x000025488, + 0x033400002, + 0x054884878, + 0x0001c2f08, + 0x02f480008, + 0x048690006, + 0x0610001c6, + 0x0701cd1af, + 0x0000c4878, + 0x0001c2f2f, + 0x000104877, + 0x001620020, + 0x000226100, + 0x001ac206f, + 0x00018701c, + 0x0d1c04fef, + 0x000186000, + 0x0fa981011, + 0x049c02f00, + 0x0486e837c, + 0x06100e4cc, + 0x042804fef, + 0x0000c4e75, 0x042801010, 0x042811228, 0x00001e181, 0x080813340, 0x000045488, - 0x042801010, - 0x042811228, - 0x00001e181, - 0x080814281, - 0x012280002, - 0x07410e5a1, - 0x080814281, - 0x012280003, - 0x07418e5a1, - 0x080812340, - 0x0000c5888, - 0x06000fba8, - 0x042801010, - 0x042811228, - 0x00001e181, - 0x080813340, - 0x000025488, + 0x06000fa6a, + 0x01358000a, + 0x06000fa62, + 0x06000fa5e, + 0x060fa598f, + 0x0206f0008, 0x04878001c, 0x02f082f48, - 0x000084869, - 0x0000a6100, - 0x00286226f, + 0x000082f2f, + 0x000146100, + 0x00148226f, 0x00018206f, 0x0000c701c, 0x0d1c04280, @@ -2064,76 +2183,41 @@ ulong bootcode[]={ 0x042811228, 0x000037418, 0x0e5a18081, - 0x023400006, - 0x058881358, - 0x000264fef, - 0x0000c6000, - 0x0fb3e6000, - 0x0ff3c4280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054881358, - 0x000266000, - 0x0fb1e60de, - 0x06000fe2c, - 0x06000fe5e, + 0x02340001c, + 0x058885888, 0x042801010, 0x042811228, 0x00001e181, - 0x080813340, - 0x000025488, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000245888, 0x042801010, 0x042811228, 0x00001e181, - 0x080813340, - 0x000085488, - 0x06000fae8, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000285888, 0x042801010, 0x042811228, 0x00001e181, - 0x080813340, - 0x000025488, - 0x04878001c, - 0x02f082f48, - 0x000084869, - 0x000066100, - 0x001c6701c, - 0x0d1af000c, - 0x04878001c, - 0x02f2f0010, - 0x048770162, - 0x000200022, - 0x0610001ac, - 0x0206f0018, - 0x0701cd1c0, - 0x04fef0018, - 0x06000fa98, - 0x0101149c0, - 0x02f00486e, - 0x081246100, - 0x0e4de4280, - 0x04fef000c, - 0x04e754280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400004, - 0x054886000, - 0x0fa6a1358, - 0x0000a6000, - 0x0fa626000, - 0x0fa5e60fa, - 0x0598f206f, - 0x000084878, - 0x0001c2f08, - 0x02f480008, - 0x02f2f0014, - 0x061000148, - 0x0226f0018, - 0x0206f000c, - 0x0701cd1c0, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x0002c5888, 0x042801010, 0x042811228, 0x00001e181, @@ -2144,146 +2228,100 @@ ulong bootcode[]={ 0x012280003, 0x07418e5a1, 0x080812340, - 0x0001c5888, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400024, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400028, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, + 0x000345088, + 0x042801010, 0x042811228, - 0x000027410, - 0x0e5a18081, + 0x00001e181, + 0x080813340, + 0x000385488, + 0x042801010, 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x02340002c, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, + 0x00001e181, + 0x080813340, + 0x0003a5488, + 0x042801010, 0x042811228, - 0x000027410, - 0x0e5a18081, + 0x00001e181, + 0x080813340, + 0x000205488, + 0x042801010, 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400034, - 0x050884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400038, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x03340003a, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400020, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400022, - 0x054882008, - 0x090af0014, - 0x04fef0010, - 0x04e75202f, - 0x0000c6f4c, - 0x0246f0004, - 0x0226f0008, - 0x0b5c96246, + 0x00001e181, + 0x080813340, + 0x000225488, + 0x0200890af, + 0x000144fef, + 0x000104e75, + 0x0202f000c, + 0x06f4c246f, + 0x00004226f, + 0x00008b5c9, + 0x062462209, + 0x0c2bc0000, + 0x000036710, + 0x053806d32, + 0x014d92209, + 0x0c2bc0000, + 0x0000366f0, + 0x090bc0000, + 0x000106d10, + 0x024d924d9, + 0x024d924d9, + 0x090bc0000, + 0x000106cf0, + 0x0d0bc0000, + 0x0000f6d06, + 0x014d95380, + 0x06cfa202f, + 0x000044e75, + 0x0d3c0d5c0, 0x02209c2bc, 0x000000003, 0x067105380, - 0x06d3214d9, + 0x06de81521, 0x02209c2bc, 0x000000003, 0x066f090bc, 0x000000010, - 0x06d1024d9, - 0x024d924d9, - 0x024d990bc, + 0x06d102521, + 0x025212521, + 0x0252190bc, 0x000000010, 0x06cf0d0bc, 0x00000000f, - 0x06d0614d9, - 0x053806cfa, - 0x0202f0004, - 0x04e75d3c0, - 0x0d5c02209, - 0x0c2bc0000, - 0x000036710, - 0x053806de8, - 0x015212209, - 0x0c2bc0000, - 0x0000366f0, - 0x090bc0000, - 0x000106d10, - 0x025212521, - 0x025212521, - 0x090bc0000, - 0x000106cf0, - 0x0d0bc0000, - 0x0000f6dbc, - 0x015215380, - 0x06db660f8, - 0x070084e40, - 0x04e757004, + 0x06dbc1521, + 0x053806db6, + 0x060f87008, 0x04e404e75, - 0x070164e40, - 0x04e757006, + 0x070044e40, + 0x04e757016, 0x04e404e75, - 0x070074e40, - 0x04e757009, + 0x070064e40, + 0x04e757007, 0x04e404e75, - 0x0700d4e40, - 0x04e75700e, + 0x070094e40, + 0x04e75700d, 0x04e404e75, - 0x0700f4e40, - 0x04e757011, + 0x0700e4e40, + 0x04e75700f, + 0x04e404e75, + 0x070114e40, + 0x04e757014, 0x04e404e75, - 0x070144e40, - 0x04e750000, - 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, - 0x000070000, - 0x02b740000, - 0x02bfc0000, - 0x028b80000, - 0x02c4e0000, - 0x02ba20000, - 0x02bc80000, - 0x02be20000, 0x000000000, + 0x000000007, + 0x000002c00, + 0x000002c88, + 0x000002944, + 0x000002cda, + 0x000002c2e, + 0x000002c54, + 0x000002c6e, 0x000000000, 0x000000000, 0x000000000, @@ -2314,50 +2352,48 @@ ulong bootcode[]={ 0x000000000, 0x000000000, 0x000000000, - 0x000010006, 0x000000000, - 0x000010001, + 0x000000001, + 0x000060000, + 0x000000001, + 0x000010000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, 0x000000000, - 0x000000003, - 0x000030000, + 0x000030003, 0x000000000, 0x000000000, 0x000000000, - 0x000000200, 0x000000000, + 0x002000000, 0x000000000, - 0x000040203, - 0x003030100, - 0x000000100, - 0x000020000, - 0x000050001, - 0x000000200, + 0x000000004, + 0x002030303, + 0x001000000, + 0x001000002, + 0x000000005, + 0x000010000, + 0x002000000, 0x000000000, - 0x000006261, - 0x064207479, - 0x070653a20, - 0x025640a00, - 0x062616420, - 0x074797065, - 0x03a202564, - 0x00a000000, - 0x000002363, - 0x02f636f6e, - 0x073002363, - 0x02f636f6e, - 0x073002363, - 0x02f636f6e, - 0x073002365, - 0x02f626f6f, - 0x0746c696e, + 0x023632f63, + 0x06f6e7300, + 0x023632f63, + 0x06f6e7300, + 0x023632f63, + 0x06f6e7300, + 0x023652f62, + 0x06f6f746c, + 0x0696e6500, + 0x023652f62, + 0x06f6f7464, + 0x065766963, 0x065002365, 0x02f626f6f, - 0x074646576, - 0x069636500, + 0x074736572, + 0x076657200, + 0x06e667300, 0x023632f72, 0x073323332, 0x063746c00, @@ -2399,147 +2435,152 @@ ulong bootcode[]={ 0x02f322f63, 0x0746c0063, 0x06f6e6e65, - 0x06374206e, - 0x066730063, - 0x06f6e6e65, - 0x063746564, - 0x020746f20, - 0x068656c69, - 0x0782e626f, - 0x06f746673, - 0x00a006e6f, - 0x0702e2e2e, - 0x000777269, - 0x07465206e, - 0x06f700072, - 0x065616420, + 0x063742025, + 0x07300636f, + 0x06e6e6563, + 0x074656420, + 0x0746f2025, + 0x0730a006e, + 0x06f702e2e, + 0x02e007772, + 0x069746520, 0x06e6f7000, - 0x06e203d20, - 0x025643b20, - 0x062756620, - 0x03d20252e, - 0x032782025, + 0x072656164, + 0x0206e6f70, + 0x0006e203d, + 0x02025643b, + 0x020627566, + 0x0203d2025, 0x02e327820, 0x0252e3278, 0x020252e32, - 0x0780a0066, - 0x06f726d61, - 0x074206e6f, - 0x070006e6f, - 0x07420526e, - 0x06f700073, - 0x065737369, - 0x06f6e2e2e, - 0x02e007772, - 0x069746520, + 0x07820252e, + 0x032780a00, + 0x0666f726d, + 0x06174206e, + 0x06f70006e, + 0x06f742052, + 0x06e6f7000, 0x073657373, - 0x0696f6e00, - 0x072656164, + 0x0696f6e2e, + 0x02e2e0077, + 0x072697465, 0x020736573, 0x073696f6e, - 0x000666f72, - 0x06d617420, - 0x073657373, - 0x0696f6e00, - 0x06e6f7420, - 0x052736573, + 0x000726561, + 0x064207365, + 0x07373696f, + 0x06e00666f, + 0x0726d6174, + 0x020736573, 0x073696f6e, - 0x000657272, - 0x06f722025, - 0x0643b0072, - 0x0656d6f74, - 0x065206572, - 0x0726f7200, - 0x0706f7374, - 0x02e2e2e00, - 0x023732f25, - 0x07300626f, - 0x06f746573, - 0x000637265, - 0x061746500, - 0x025640077, - 0x072697465, + 0x0006e6f74, + 0x020527365, + 0x07373696f, + 0x06e006572, + 0x0726f7220, + 0x025643b00, + 0x072656d6f, + 0x074652065, + 0x072726f72, + 0x000706f73, + 0x0742e2e2e, 0x00023732f, 0x025730062, 0x06f6f7465, - 0x073002373, - 0x02f626f6f, - 0x074006372, + 0x073006372, 0x065617465, 0x000256400, 0x077726974, - 0x065006d6f, - 0x0756e742e, - 0x02e2e002f, - 0x0002f0062, - 0x0696e6400, - 0x02f00006d, + 0x065002373, + 0x02f257300, + 0x0626f6f74, + 0x065730023, + 0x0732f626f, + 0x06f740063, + 0x072656174, + 0x065002564, + 0x000777269, + 0x07465006d, 0x06f756e74, - 0x000737563, - 0x063657373, - 0x00a002f36, - 0x038303230, - 0x02f696e69, - 0x07400696e, - 0x06974002d, - 0x06d002f36, - 0x038303230, - 0x02f696e69, - 0x07400696e, - 0x06974002f, + 0x02e2e2e00, + 0x02f002f00, + 0x062696e64, + 0x0002f0000, + 0x06d6f756e, + 0x074007375, + 0x063636573, + 0x0730a002f, + 0x036383032, + 0x0302f696e, + 0x069740069, + 0x06e697400, + 0x02d6d002f, 0x036383032, 0x0302f696e, - 0x069740062, - 0x06f6f743a, - 0x02025733a, - 0x02025730a, - 0x000000618, - 0x00614060c, - 0x005f405de, + 0x069740069, + 0x06e697400, + 0x02f363830, + 0x032302f69, + 0x06e697400, + 0x0626f6f74, + 0x03a202573, + 0x03a202573, + 0x00a000000, + 0x062616420, + 0x074797065, + 0x03a202564, + 0x00a006261, + 0x064207479, + 0x070653a20, + 0x025640a00, + 0x000000000, + 0x06e6f6e2d, + 0x07a65726f, + 0x020657869, + 0x074207374, + 0x061747573, + 0x000000000, + 0x006180614, + 0x0060c05f4, + 0x005de05de, 0x005de05de, 0x005de05de, - 0x005de058e, - 0x005580562, - 0x0055e055a, - 0x00558053c, - 0x0053804d0, - 0x0047a0476, - 0x00414038c, - 0x003880386, - 0x00384034e, - 0x0034a0332, - 0x002e802b2, - 0x00286025a, - 0x0021001e4, - 0x0019a0136, - 0x000d20048, - 0x0000c05a6, - 0x005a2059a, - 0x00582056c, + 0x0058e0558, + 0x00562055e, + 0x0055a0558, + 0x0053c0538, + 0x004d0047a, + 0x004760414, + 0x0038c0388, + 0x003860384, + 0x0034e034a, + 0x0033202e8, + 0x002b20286, + 0x0025a0210, + 0x001e4019a, + 0x0013600d2, + 0x00048000c, + 0x005a605a2, + 0x0059a0582, 0x0056c056c, 0x0056c056c, - 0x0056c051c, - 0x004e604f0, - 0x004ec04e8, - 0x004e604ca, - 0x004c6045c, - 0x004040400, - 0x003b60354, - 0x00350034e, - 0x0034c0316, - 0x0031202fa, - 0x002b0027a, - 0x0024e0222, - 0x001d801ac, - 0x00162010a, - 0x000be005a, - 0x0001c6e6f, - 0x06e2d7a65, - 0x0726f2065, - 0x078697420, - 0x073746174, - 0x075730000, - 0x000000000, - 0x000027b2, + 0x0056c056c, + 0x0051c04e6, + 0x004f004ec, + 0x004e804e6, + 0x004ca04c6, + 0x0045c0404, + 0x0040003b6, + 0x003540350, + 0x0034e034c, + 0x003160312, + 0x002fa02b0, + 0x0027a024e, + 0x0022201d8, + 0x001ac0162, + 0x0010a00be, + 0x0005a001c, + 0x00002858, 0x0, }; diff --git a/gnot/dat.h b/gnot/dat.h index 70a759a9723f334f2057026e2631eccda7ae406f..0cb7c68fc0be883661ee8dbe6c7f7974ae7b9a82 100644 --- a/gnot/dat.h +++ b/gnot/dat.h @@ -313,6 +313,7 @@ struct Proc int state; Page *upage; /* BUG: should be unlinked from page list */ Seg seg[NSEG]; + ulong bssend; /* initial top of bss seg */ ulong pid; Lock kidlock; /* access to kid and sib */ Proc *pop; /* some ascendant */ diff --git a/gnot/devcons.c b/gnot/devcons.c index 21330f6d1195f1959cfd61c4838e57a675066310..b9caaeadca3bad1b083cfc0f3434a6400e845d3e 100644 --- a/gnot/devcons.c +++ b/gnot/devcons.c @@ -285,16 +285,31 @@ void echo(int c) { char ch; + static int ctrlt; /* * ^t hack BUG */ - if(c == 0x14) - DEBUG(); - if(c == 0x16) - dumpqueues(); - if(c == 0x1A) - mntdump(); + if(ctrlt == 2){ + ctrlt = 0; + switch(c){ + case 0x14: + break; /* pass it on */ + case 'p': + DEBUG(); + return; + case 'q': + dumpqueues(); + return; + case 'm': + mntdump(); + return; + } + }else if(c == 0x14){ + ctrlt++; + return; + } + ctrlt = 0; if(raw.ref) return; if(c == 0x15) diff --git a/gnot/fault.c b/gnot/fault.c index f7486786c7d41e5ae5822f199601c1d33cd9a64b..5f23f4c50a805a8dff8d7a15d15780a015c9acb9 100644 --- a/gnot/fault.c +++ b/gnot/fault.c @@ -173,7 +173,6 @@ fault(Ureg *ur, FFrame *f) if((*devtab[o->chan->type].read)(o->chan, l, n) != n) error(0, Eioload); qunlock(o->chan); - /* BUG: if was first page of bss, move to data */ if(nuser, NAMELEN); memcpy(bootline, BOOT->line, 64); + memcpy(bootserver, BOOT->server, 64); bootdevice[0] = BOOT->device; } @@ -111,6 +113,9 @@ init0(void) c = namec("#e/bootline", Acreate, OWRITE, 0600); (*devtab[c->type].write)(c, bootline, 64); close(c); + c = namec("#e/bootserver", Acreate, OWRITE, 0600); + (*devtab[c->type].write)(c, bootserver, 64); + close(c); c = namec("#e/bootdevice", Acreate, OWRITE, 0600); (*devtab[c->type].write)(c, bootdevice, 2); close(c); diff --git a/gnot/sysfile.c b/gnot/sysfile.c index c6417fd5dc5a884f5a78982efc9950a6c3930972..25d4d64c4891ebe921e8572d48c4e7540e9dceac 100644 --- a/gnot/sysfile.c +++ b/gnot/sysfile.c @@ -321,6 +321,8 @@ bindmount(ulong *arg, int ismount) Chan *c0, *c1; ulong flag; long ret; + char *p; + int t; struct{ Chan *chan; char *spec; @@ -331,8 +333,12 @@ bindmount(ulong *arg, int ismount) error(0, Ebadarg); if(ismount){ bogus.chan = fdtochan(arg[0], 2); -/*BUG: check validaddr for ALL of arg[3]!! */ - validaddr(arg[3], 1, 0); + p = (char*)arg[3]; + t = BY2PG-((ulong)p&(BY2PG-1)); + while(vmemchr(p, 0, t) == 0){ + p += t; + t = BY2PG; + } bogus.spec = (char*)arg[3]; ret = devno('M', 0); c0 = (*devtab[ret].attach)((char*)&bogus); diff --git a/gnot/sysproc.c b/gnot/sysproc.c index e5c061ca509f64153d333910025fcba0a6f2f32c..6c76c2bca961311f8bc90c24fbea7f2eb18428d7 100644 --- a/gnot/sysproc.c +++ b/gnot/sysproc.c @@ -163,7 +163,7 @@ sysexec(ulong *arg) char *a, *charp, *file; long fpnull = 0; char *progarg[sizeof(Exec)/2+1], elem[NAMELEN]; - ulong ssize, spage, nargs, nbytes, n; + ulong ssize, spage, nargs, nbytes, n, bssend; ulong *sp; int indir; Exec exec; @@ -218,11 +218,9 @@ sysexec(ulong *arg) Binary: t = (UTZERO+sizeof(Exec)+exec.text+(BY2PG-1)) & ~(BY2PG-1); - /* - * Last partial page of data goes into BSS. - */ - d = (t + exec.data) & ~(BY2PG-1); - b = (t + exec.data + exec.bss + (BY2PG-1)) & ~(BY2PG-1); + d = (t + exec.data + (BY2PG-1)) & ~(BY2PG-1); + bssend = t + exec.data + exec.bss; + b = (bssend + (BY2PG-1)) & ~(BY2PG-1); if((t|d|b) & KZERO) error(0, Ebadexec); @@ -323,7 +321,7 @@ sysexec(ulong *arg) if(o == 0){ o = neworig(t, (d-t)>>PGSHIFT, OWRPERM|OPURE|OCACHED, tc); o->minca = p->seg[TSEG].o->maxca; - o->maxca = o->minca + (exec.data & ~(BY2PG-1)); + o->maxca = o->minca + exec.data; } s->o = o; s->minva = t; @@ -331,15 +329,13 @@ sysexec(ulong *arg) s->mod = 0; /* - * BSS. Created afresh, starting with last page of data. - * BUG: should pick up the last page of data, which should be cached in the - * data segment. + * BSS. Created afresh. */ s = &p->seg[BSEG]; s->proc = p; - o = neworig(d, (b-d)>>PGSHIFT, OWRPERM, tc); - o->minca = p->seg[DSEG].o->maxca; - o->maxca = o->minca + (exec.data & (BY2PG-1)); + o = neworig(d, (b-d)>>PGSHIFT, OWRPERM, 0); + o->minca = 0; + o->maxca = 0; s->o = o; s->minva = d; s->maxva = b; @@ -347,6 +343,8 @@ sysexec(ulong *arg) close(tc); + p->bssend = bssend; + /* * Move the stack */ @@ -529,7 +527,17 @@ sysnoted(ulong *arg) long sysbrk_(ulong *arg) { + ulong addr; + Seg *s; + + addr = arg[0]; + if(addr < u->p->bssend) + error(0, Esegaddr); + if(addr <= ((u->p->bssend+(BY2PG-1))&~(BY2PG-1))) /* still in DSEG */ + goto Return; if(segaddr(&u->p->seg[BSEG], u->p->seg[BSEG].minva, arg[0]) == 0) error(0, Esegaddr); + Return: + u->p->bssend = addr; return 0; } diff --git a/port/sysfile.c b/port/sysfile.c index c6417fd5dc5a884f5a78982efc9950a6c3930972..25d4d64c4891ebe921e8572d48c4e7540e9dceac 100644 --- a/port/sysfile.c +++ b/port/sysfile.c @@ -321,6 +321,8 @@ bindmount(ulong *arg, int ismount) Chan *c0, *c1; ulong flag; long ret; + char *p; + int t; struct{ Chan *chan; char *spec; @@ -331,8 +333,12 @@ bindmount(ulong *arg, int ismount) error(0, Ebadarg); if(ismount){ bogus.chan = fdtochan(arg[0], 2); -/*BUG: check validaddr for ALL of arg[3]!! */ - validaddr(arg[3], 1, 0); + p = (char*)arg[3]; + t = BY2PG-((ulong)p&(BY2PG-1)); + while(vmemchr(p, 0, t) == 0){ + p += t; + t = BY2PG; + } bogus.spec = (char*)arg[3]; ret = devno('M', 0); c0 = (*devtab[ret].attach)((char*)&bogus);