From b02f37fe0b2146f4bf9c3b9390e2b463e3d04276 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Fri, 27 Sep 1991 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1991-09-27 --- gnot/boot.c | 832 ------ gnot/boot.h | 6583 +++++++++++++++++++++++++++--------------------- gnot/dat.h | 27 +- gnot/fns.h | 14 +- gnot/main.c | 24 +- pc/devfloppy.c | 3 + pc/main.c | 8 +- pc/vga.c | 64 +- port/devenv.c | 15 + port/devscsi.c | 333 ++- port/devwren.c | 105 +- port/fault.c | 19 +- port/portfns.h | 1 + power/main.c | 4 +- ss/main.c | 8 +- 15 files changed, 4069 insertions(+), 3971 deletions(-) delete mode 100644 gnot/boot.c diff --git a/gnot/boot.c b/gnot/boot.c deleted file mode 100644 index dfe886b344f35342368deb563913fcec16b3a9bf..0000000000000000000000000000000000000000 --- a/gnot/boot.c +++ /dev/null @@ -1,832 +0,0 @@ -#include -#include -#include - -#define DEFSYS "Nfs" - -enum -{ - CtrlD = 4, - Cr = 13, -}; - -char *net; -char *netdev; - -Fcall hdr; -char *scmd; -char bootdevice; -int authenticated; - -char bootline[64]; -char bootuser[NAMELEN]; -char password[NAMELEN]; -char username[NAMELEN]; -char sys[NAMELEN]; -char buf[4*1024]; - -int format; -int manual; - -/* - * predeclared - */ -void bootparams(void); -int outin(char *, char *, int); -void prerror(char *); -void error(char *); -int dkdial(char *); -void nop(int); -void session(int); -int cache(int); -void sendmsg(int, char *); -void connect(int); -void kill(int); -void passwd(void); -int authenticate(int); -void termtype(char*); -void setuser(char*); -int fileserver(void); -int inconfs(void); -int asyncfs(char*); -int localfs(int); -void dkconfig(int); -void srvcreate(char*, int); -void settime(int); - -/* - * Ethernet type stations boot over ether or use dk via RS232. - */ -main(int argc, char *argv[]) -{ - int fd; - int fromserver; - - open("#c/cons", OREAD); - open("#c/cons", OWRITE); - open("#c/cons", OWRITE); - termtype("at&t gnot 1"); - - /* - * get parameters passed by boot rom to kernel - */ - bootparams(); - - /* - * prompt for user if the boot rom didn't authenticate - */ - if(!authenticated){ - strcpy(username, "none"); - outin("user", username, sizeof(username)); - } else { - strcpy(username, bootuser); - } - setuser(username); - - /* - * make the root a union - */ - if(bind("/", "/", MREPL) < 0) - error("bind"); - - /* - * connect to file systems - */ - switch(fileserver()){ - case 'a': - asyncfs("B19200"); - localfs(0); - fromserver = 1; - break; - case 'A': - asyncfs("B9600"); - localfs(0); - fromserver = 1; - break; - case 'i': - inconfs(); - localfs(0); - fromserver = 1; - break; - default: - localfs(1); - fromserver = 0; - break; - } - settime(fromserver); - - /* - * put a default net into the name space - */ - if(netdev){ - sprint(buf, "/net/%s", net); - bind(netdev, buf, MREPL); - bind(netdev, "/net/net", MREPL); - } - if(net){ - sprint(buf, "/lib/netaddr.%s", net); - bind(buf, "/lib/netaddr.net", MREPL); - } - - if(manual) - execl("/68020/init", "init", "-m", 0); - else - execl("/68020/init", "init", 0); - error("/68020/init"); -} - -/* - * read arguments passed by kernel as - * environment variables - */ -void -bootparams(void) -{ - int f; - char *cp; - - format = 0; - manual = 0; - f = open("#e/bootline", OREAD); - if(f >= 0){ - read(f, bootline, sizeof(bootline)-1); - close(f); - cp = bootline; - while(cp = strchr(cp, ' ')){ - if(*++cp != '-') - continue; - while(*cp && *cp!=' ') - switch(*cp++){ - case 'f': - format = 1; - break; - case 'm': - manual = 1; - break; - } - } - } - f = open("#e/bootdevice", OREAD); - if(f >= 0){ - read(f, &bootdevice, 1); - close(f); - } - f = open("#e/bootuser", OREAD); - if(f >= 0){ - read(f, &bootuser, sizeof(bootuser)); - close(f); - } - f = open("#e/bootserver", OREAD); - if(f >= 0){ - read(f, sys, sizeof(sys)); - close(f); - } else - strcpy(sys, DEFSYS); - if(bootdevice != 's') - authenticated = 1; -} - -/* - * set flavor of terminal - */ -void -termtype(char *t) -{ - int fd; - - fd = create("#e/terminal", 1, 0666); - if(fd < 0) - error("terminal"); - if(write(fd, t, strlen(t)) < 0) - error("terminal"); - close(fd); -} - -/* - * get user and password if the - * boot rom didn't authenticate - */ -void -setuser(char *name) -{ - int fd; - - /* - * set user id - */ - fd = open("#c/user", OWRITE|OTRUNC); - if(fd >= 0){ - write(fd, username, strlen(username)); - close(fd); - } -} - -#define FS "remote fs is (9)600 serial, (1)9200 serial, (n)ot used" -/* - * if we've booted off the disk, figure out where to get the - * file service from - */ -int -fileserver(void) -{ - char reply[4]; - - if(bootdevice != 's') - return bootdevice; - - for(;;){ - strcpy(reply, "n"); - strcpy(sys, DEFSYS); - outin(FS, reply, sizeof(reply)); - switch(reply[0]){ - case 'i': - return 'i'; - case 'n': - return 'n'; - case '1': - return 'a'; - case '9': - return 'A'; - } - } -} - -/* - * configure the datakit - */ -void -dkconfig(int cfd) -{ - sendmsg(cfd, "push dkmux"); - if(authenticated) - sendmsg(cfd, "config 1 16 norestart"); - else - sendmsg(cfd, "config 1 16 restart"); - - /* - * fork a process to hold the device channel open - * forever - */ - switch(fork()){ - case -1: - break; - case 0: - for(;;) - sleep(60*1000); - exit(0); - default: - close(cfd); - break; - } -} - -int -dkdial(char *arg) -{ - int fd, cfd; - int i; - long n; - - sprint(buf, "connect %s", arg); - n = strlen(buf); - - for(i = 0; ; i++){ - fd = open("#k/2/data", ORDWR); - if(fd < 0) - error("opening #k/2/data"); - cfd = open("#k/2/ctl", ORDWR); - if(cfd < 0) - error("opening #k/2/ctl"); - - if(write(cfd, buf, n)==n && authenticate(fd)==0) - break; - if(i == 5) - return -1; - close(fd); - close(cfd); - sleep(500); - } - sendmsg(cfd, "init"); - close(cfd); - net = "dk"; - netdev = "#k"; - return fd; -} - -/* - * connect to a file system over the serial line - */ -int -asyncfs(char *baud) -{ - int fd, cfd, dfd; - char reply[4]; - - if(!authenticated){ - passwd(); - outin("server", sys, sizeof(sys)); - } - - cfd = open("#t/tty0ctl", ORDWR); - if(cfd < 0) - error("opening #t/tty0ctl"); - sendmsg(cfd, baud); - - dfd = open("#t/tty0", ORDWR); - if(dfd < 0) - error("opening #t/tty0"); - connect(dfd); - close(dfd); - sendmsg(cfd, "push async"); - - dkconfig(cfd); - for(;;){ - fd = dkdial(sys); - if(fd >= 0) - break; - print("can't connect, retrying...\n"); - sleep(1000); - } - - nop(fd); - session(fd); - fd = cache(fd); - srvcreate(sys, fd); - srvcreate("boot", fd); - if(mount(fd, "/", MAFTER|MCREATE, "", "") < 0) - error("mount"); - close(fd); - - return 0; -} - -/* - * connect to a file system over the incon - */ -int -inconfs(void) -{ - int fd, cfd, dfd; - char reply[4]; - - if(!authenticated){ - passwd(); - outin("server", sys, sizeof(sys)); - } - cfd = open("#i/ctl", ORDWR); - if(cfd < 0) - error("opening #i/ctl"); - - dkconfig(cfd); - for(;;){ - fd = dkdial(sys); - if(fd >= 0) - break; - print("can't connect, retrying...\n"); - sleep(1000); - } - - nop(fd); - session(fd); - fd = cache(fd); - srvcreate(sys, fd); - srvcreate("boot", fd); - if(mount(fd, "/", MAFTER|MCREATE, "", "") < 0) - error("mount"); - close(fd); - - return 0; -} - -/* - * plug the local file system into the name space - */ -int -localfs(int bootfs) -{ - ulong i; - int p[2]; - Dir d; - char sbuf[32]; - char rbuf[32]; - char *mtpt; - - if(dirstat("/kfs", &d) < 0) - return -1; - if(dirstat("#w/hd0fs", &d) < 0) - return -1; - - print("local\n"); - - /* - * because kfs uses /dev/time, /dev/pid, and /proc/# - */ - if(bind("#c", "/dev", MREPL) < 0) - error("bind #c"); - if(bind("#p", "/proc", MREPL) < 0) - error("bind #p"); - - if(pipe(p)<0) - error("pipe"); - switch(fork()){ - case -1: - error("fork"); - case 0: - sprint(sbuf, "%d", p[0]); - sprint(rbuf, "%d", p[1]); - execl("/kfs", "kfs", "-f", "#w/hd0fs", "-s", sbuf, rbuf, 0); - error("can't exec kfs"); - default: - break; - } - - close(p[1]); - -/* - * NEW KERNEL - these can both be MAFTER - */ - if(bootfs){ - mtpt = "/"; - if(mount(p[0], mtpt, MAFTER|MCREATE, "", "") < 0) - error("mount"); - srvcreate("boot", p[0]); - } else { - mtpt = "/n/kfs"; - if(mount(p[0], mtpt, MREPL|MCREATE, "", "") < 0) - error("mount"); - } - - close(p[0]); - - return 0; -} - -void -srvcreate(char *name, int fd) -{ - char *srvname; - int f; - - srvname = strrchr(name, '/'); - if(srvname) - srvname++; - else - srvname = name; - - sprint(buf, "#s/%s", srvname); - f = create(buf, 1, 0666); - if(f < 0) - error("create"); - sprint(buf, "%d", fd); - if(write(f, buf, strlen(buf)) != strlen(buf)) - error("write"); - close(f); -} - -/* - * set the system time - */ -void -settime(int fromserver) -{ - int n, f; - Dir dir; - char dirbuf[DIRLEN]; - char *srvname; - - print("time..."); - if(!fromserver){ - /* - * set the time from the real time clock or file system - */ - f = open("#r/rtc", ORDWR); - if(f > 0){ - if((n = read(f, dirbuf, sizeof(dirbuf)-1)) < 0) - error("reading rtc"); - dirbuf[n] = 0; - close(f); - } else - fromserver = 1; - } - if(fromserver){ - /* - * set the time from the access time of the root - * of the file server - */ - f = open("#s/boot", ORDWR); - if(f < 0) - return; - if(mount(f, "/n/boot", MREPL, "", "") < 0){ - close(f); - return; - } - close(f); - if(stat("/n/boot", dirbuf) < 0) - error("stat"); - convM2D(dirbuf, &dir); - sprint(dirbuf, "%ld", dir.atime); -/* unmount(0, "/n/boot"); /**/ - /* - * set real time clock if there is one - */ - f = open("#r/rtc", ORDWR); - if(f > 0){ - if(write(f, dirbuf, strlen(dirbuf)) < 0) - error("writing rtc"); - close(f); - } - close(f); - } - f = open("#c/time", OWRITE); - write(f, dirbuf, strlen(dirbuf)); - close(f); -} - -/* - * authenticate with r70 - */ -int -authenticate(int fd) -{ - int n; - - for(;;) { - n = read(fd, buf, sizeof(buf)); - if(n != 2){ - passwd(); - return -1; - } - buf[2] = '\0'; - if(strcmp(buf, "OK") == 0) - return 0; - else if(strcmp(buf, "CH") == 0) { - sprint(buf, "%s\n%s\n", username, password); - write(fd, buf, strlen(buf)); - } else if(strcmp(buf, "NO") == 0) { - passwd(); - sprint(buf, "%s\n%s\n", username, password); - write(fd, buf, strlen(buf)); - } - } -} - -/* - * send nop to file server - */ -void -nop(int fd) -{ - long n; - - print("nop..."); - hdr.type = Tnop; - hdr.tag = NOTAG; - n = convS2M(&hdr, buf); - 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) { - print("n = %d; buf = %#.2x %#.2x %#.2x %#.2x\n", - n, buf[0], buf[1], buf[2], buf[3]); - error("format nop"); - } - if(hdr.type != Rnop) - error("not Rnop"); -} - -/* - * send session to file server - */ -void -session(int fd) -{ - long n; - - print("session..."); - hdr.type = Tsession; - hdr.tag = NOTAG; - n = convS2M(&hdr, buf); - if(write(fd, buf, n) != n) - error("write session"); - n = read(fd, buf, sizeof buf); - if(n <= 0) - error("read session"); - if(convM2S(buf, &hdr, n) == 0) - error("format session"); - if(hdr.type == Rerror){ - print("error %s;", hdr.ename); - error(hdr.ename); - } - if(hdr.type != Rsession) - error("not Rsession"); -} - -/* - * see if we have a cache file system server in the kernel, - * and use it if we do - */ -int -cache(int fd) -{ - ulong i; - int p[2]; - Dir d; - - /* - * if there's no /cfs, just return the fd to the - * file server - */ - if(dirstat("/cfs", &d) < 0) - return fd; - if(dirstat("#w/hd0cache", &d) < 0) - return fd; - print("cfs..."); - - /* - * if we have a cfs, give it the file server as fd 0 - * and requests on fd 1 - */ - if(pipe(p)<0) - error("pipe"); - switch(fork()){ - case -1: - error("fork"); - case 0: - close(p[1]); - dup(fd, 0); - close(fd); - dup(p[0], 1); - close(p[0]); - if(format) - execl("/cfs", "bootcfs", "-fs", "-p", "#w/hd0cache", 0); - else - execl("/cfs", "bootcfs", "-s", "-p", "#w/hd0cache", 0); - break; - default: - close(p[0]); - close(fd); - fd = p[1]; - break; - } - return fd; -} - -void -sendmsg(int fd, char *msg) -{ - int n; - - n = strlen(msg); - if(write(fd, msg, n) != n) - error(msg); -} - -/* - * print error - */ -void -prerror(char *s) -{ - char buf[64]; - - errstr(buf); - fprint(2, "boot: %s: %s\n", s, buf); -} - -/* - * print error and exit - */ -void -error(char *s) -{ - char buf[64]; - - errstr(buf); - fprint(2, "boot: %s: %s\n", s, buf); - exits(0); -} - -/* - * prompt and get input - */ -int -outin(char *prompt, char *def, int len) -{ - int n; - char buf[256]; - - do{ - print("%s[%s]: ", prompt, def); - n = read(0, buf, len); - }while(n==0); - if(n < 0) - error("can't read #c/cons; please reboot"); - if(n != 1){ - buf[n-1] = 0; - strcpy(def, buf); - } - return n; -} -void -connect(int fd) -{ - char xbuf[128]; - int i, pid, n, rcons; - - print("[ctrl-d to attach fs]\n"); - - switch(pid = fork()) { - case -1: - error("fork failed"); - case 0: - for(;;) { - n = read(fd, xbuf, sizeof(xbuf)); - if(n < 0) { - errstr(xbuf); - print("[remote read error (%s)]\n", xbuf); - for(;;); - } - for(i = 0; i < n; i++) - if(xbuf[i] == Cr) - xbuf[i] = ' '; - write(1, xbuf, n); - } - default: - rcons = open("#c/rcons", OREAD); - if(rcons < 0) - error("opening rcons"); - - for(;;) { - read(rcons, xbuf, 1); - switch(xbuf[0]) { - case CtrlD: - kill(pid); - close(rcons); - return; - default: - n = write(fd, xbuf, 1); - if(n < 0) { - errstr(xbuf); - kill(pid); - close(rcons); - print("[remote write error (%s)]\n", xbuf); - } - } - } - } -} - -void -kill(int pid) -{ - char xbuf[32]; - int f; - - sprint(xbuf, "/proc/%d/note", pid); - f = open(xbuf, OWRITE); - write(f, "die", 3); - close(f); -} - -void -passwd(void) -{ - Dir d; - char c; - int i, n, fd, p[2]; - - fd = open("#c/rcons", OREAD); - if(fd < 0) - error("can't open #c/rcons; please reboot"); - Prompt: - print("password: "); - n = 0; - do{ - do{ - i = read(fd, &c, 1); - if(i < 0) - error("can't read #c/rcons; please reboot"); - }while(i == 0); - switch(c){ - case '\n': - break; - case '\b': - if(n > 0) - n--; - break; - case 'u' - 'a' + 1: /* cntrl-u */ - print("\n"); - goto Prompt; - default: - password[n++] = c; - break; - } - }while(c != '\n' && n < sizeof(password)); - password[n] = '\0'; - close(fd); - print("\n"); -} diff --git a/gnot/boot.h b/gnot/boot.h index 81ea3e8d70237134c521fe472416ac0d99ec634e..e7ddba8fea991dafe02daa81d8bf43ef8b963670 100644 --- a/gnot/boot.h +++ b/gnot/boot.h @@ -1,8 +1,8 @@ ulong bootcode[]={ 0x000000107, - 0x000003446, - 0x000000778, - 0x0000012b0, + 0x000003cbe, + 0x000000b3c, + 0x0000012e8, 0x000000000, 0x000002020, 0x000000000, @@ -10,977 +10,1170 @@ ulong bootcode[]={ 0x04feffff0, 0x02c7c0000, 0x0dffe2d40, - 0x0801e486f, + 0x08026486f, 0x000142f2f, 0x00014610c, 0x02f006100, - 0x011e24fef, + 0x0181e4fef, 0x0001c4e75, - 0x0518f42a7, - 0x0486e8122, - 0x06100141c, + 0x0598f42a7, + 0x0486e8442, + 0x061001cb2, 0x048780001, - 0x0486e812a, - 0x061001410, + 0x0486e844a, + 0x061001ca6, 0x048780001, - 0x0486e8132, - 0x061001404, - 0x0486e813a, - 0x061000298, - 0x061000164, + 0x0486e8452, + 0x061001c9a, + 0x06100018c, 0x04aae8006, - 0x066000148, - 0x0486e8146, - 0x0486e998e, - 0x061001342, + 0x066000170, + 0x0486e845a, + 0x0486e9cee, + 0x061001bac, 0x04878001c, - 0x0486e998e, - 0x0486e814b, - 0x061000e8a, - 0x0486e998e, - 0x0610002c4, + 0x0486e9cee, + 0x0486e845f, + 0x061001196, + 0x0486e9cee, + 0x06100036a, 0x042a7486e, - 0x08152486e, - 0x081506100, - 0x013884a80, + 0x08466486e, + 0x084646100, + 0x01c264a80, 0x06c0a486e, - 0x081546100, - 0x00e3e588f, - 0x0610002e8, - 0x04fef0040, + 0x084686100, + 0x0114a588f, + 0x06100038e, + 0x04fef003c, 0x07241b280, - 0x0670000e2, + 0x06700010a, 0x07261b280, - 0x0670000c4, + 0x0670000ec, 0x07269b280, - 0x0670000aa, + 0x0670000d4, + 0x0726cb280, + 0x0670000bc, 0x048780001, - 0x06100067c, - 0x04282588f, - 0x02f026100, - 0x008984aae, - 0x080326730, - 0x02f2e800a, - 0x0486e8166, - 0x0486e877a, - 0x06100123a, + 0x061000474, + 0x0588f486e, + 0x0847a6100, + 0x017bc4aae, + 0x0803e6730, + 0x02f2e800e, + 0x0486e847c, + 0x0486e8b3e, + 0x061001876, 0x042a7486e, - 0x0877a2f2e, - 0x080326100, - 0x0132442a7, - 0x0486e816e, - 0x02f2e8032, - 0x061001316, + 0x08b3e2f2e, + 0x0803e6100, + 0x01bba42a7, + 0x0486e8484, + 0x02f2e803e, + 0x061001bac, 0x04fef0024, - 0x04aae800a, + 0x04aae800e, 0x067222f2e, - 0x0800a486e, - 0x08177486e, - 0x0877a6100, - 0x0120442a7, - 0x0486e8187, - 0x0486e877a, - 0x0610012ee, + 0x0800e486e, + 0x0848d486e, + 0x08b3e6100, + 0x0184042a7, + 0x0486e849d, + 0x0486e8b3e, + 0x061001b84, 0x04fef0018, - 0x04aae802e, + 0x0486e9bd6, + 0x0486e84ae, + 0x0486e8b3e, + 0x06100181e, + 0x04aae803a, 0x0672042a7, - 0x0486e81a9, - 0x0486e81a4, - 0x0486e8198, - 0x06100120a, - 0x0486e81bd, - 0x061000d8c, - 0x04fef0020, + 0x0486e84bc, + 0x0486e84b7, + 0x0486e8b3e, + 0x061001958, + 0x0486e8b3e, + 0x061001080, + 0x04fef0028, 0x04e7542a7, - 0x0486e81b8, - 0x0486e81ac, - 0x0610011ee, - 0x0598f60e0, - 0x061000500, - 0x042a76100, - 0x005d27401, + 0x0486e84c4, + 0x0486e84bf, + 0x0486e8b3e, + 0x061001938, + 0x060de6100, + 0x005662f00, + 0x06100034e, 0x0588f6000, - 0x0ff54486e, - 0x081596100, - 0x003ca42a7, - 0x0610005bc, - 0x07401508f, - 0x06000ff3e, - 0x0486e8160, - 0x0610003b4, - 0x042a76100, - 0x005a67401, - 0x0508f6000, - 0x0ff28486e, - 0x09956486e, - 0x0998e6100, - 0x011fc4fef, + 0x0ff426100, + 0x008d42f00, + 0x06100033e, + 0x0588f6000, + 0x0ff32486e, + 0x0846d6100, + 0x00930588f, + 0x02f006100, + 0x00328588f, + 0x06000ff1c, + 0x0486e8474, + 0x06100091a, + 0x0588f2f00, + 0x061000312, + 0x0588f6000, + 0x0ff06486e, + 0x09cb6486e, + 0x09cee6100, + 0x01a3e4fef, 0x0fff46000, - 0x0fec4518f, - 0x042ae802a, - 0x042ae802e, - 0x042a7486e, - 0x081c96100, - 0x012824a80, - 0x06d744878, - 0x0003f486e, - 0x099162f00, - 0x02f400018, - 0x061001272, - 0x02f2f0018, - 0x061001240, + 0x0fe9c598f, + 0x042ae8036, + 0x042ae803a, + 0x048780040, + 0x0486e9c76, + 0x0486e84c7, + 0x061000192, + 0x04a806654, 0x0207c0000, - 0x079144878, + 0x07c744878, 0x000202f08, - 0x06100116a, + 0x0610019c0, 0x020404a80, - 0x04fef0018, - 0x067405288, - 0x00c10002d, - 0x04feffff0, - 0x066e04a10, - 0x067dc0c10, - 0x0002067d6, - 0x0101849c0, - 0x04fef0018, - 0x07266b200, - 0x06714726d, - 0x0b2006706, - 0x04fefffe8, - 0x060dc7001, - 0x02d40802e, - 0x060f27001, - 0x02d40802a, - 0x060ea42a7, - 0x0486e81d5, - 0x061001200, - 0x04a806d1e, - 0x048780001, - 0x0486e8036, - 0x02f002f40, - 0x000206100, - 0x011f02f2f, - 0x000206100, - 0x011be4fef, - 0x0001042a7, - 0x0486e81e3, - 0x0610011d4, - 0x04a806d1e, - 0x04878001c, - 0x0486e9956, - 0x02f002f40, - 0x000286100, - 0x011c42f2f, - 0x000286100, - 0x011924fef, - 0x0001042a7, - 0x0486e81ef, - 0x0610011a8, - 0x04a806d2e, + 0x0508f673c, + 0x052880c10, + 0x0002d66e6, + 0x04a1067e2, + 0x00c100020, + 0x067dc1018, + 0x049c04fef, + 0x0000c7266, + 0x0b2006714, + 0x0726db200, + 0x067064fef, + 0x0fff460dc, + 0x070012d40, + 0x0803a60f2, + 0x070012d40, + 0x0803660ea, + 0x048780002, + 0x0486e8012, + 0x0486e84d0, + 0x06100012a, + 0x04a806c00, + 0x00114486e, + 0x084e36100, + 0x019b8588f, + 0x02f00486e, + 0x084db486e, + 0x09c766100, + 0x019c04a80, + 0x0660000ca, + 0x0746c7069, + 0x0b08242e7, + 0x02d428042, + 0x044df6708, + 0x07061b082, + 0x0660000a6, + 0x070012d40, + 0x080064878, + 0x0001c486e, + 0x09cb6486e, + 0x085016100, + 0x000d84aae, + 0x080066778, 0x04878001c, - 0x0486e97f6, + 0x0486e9bba, + 0x0486e850a, + 0x0610000c2, + 0x04a806c0e, + 0x0486e8515, + 0x0486e9bba, + 0x06100193c, + 0x0508f4878, + 0x0001c486e, + 0x09bd6486e, + 0x085236100, + 0x000a04878, + 0x0001c486e, + 0x09d8a486e, + 0x0852b6100, + 0x00090207c, + 0x00000609c, + 0x04a9042e7, + 0x02d488032, + 0x044df6714, + 0x02f10486e, + 0x09d8a6100, + 0x018dc206e, + 0x080324a80, + 0x06608508f, + 0x04fef0058, + 0x04e75d1fc, + 0x000000014, + 0x0508f60d0, + 0x0486e851c, + 0x0486e9bba, + 0x0610018d8, + 0x0598f609a, + 0x07041b082, + 0x06600ff5c, + 0x06000ff52, + 0x0486e84f6, + 0x0610018d2, + 0x0588f2f00, + 0x0486e84eb, + 0x0486e9c76, + 0x0610018da, + 0x0242e8042, + 0x04a804fef, + 0x0000c6600, + 0x0ff167473, + 0x06000ff10, + 0x0102e8012, + 0x049c02400, + 0x04feffff4, + 0x06000ff00, + 0x04fefffc0, + 0x02f2f0044, + 0x0486e8534, + 0x0486f0008, + 0x0610015c6, + 0x042370161, + 0x0005442a7, + 0x0486f0010, + 0x06100193e, + 0x04a806c08, + 0x070ff4fef, + 0x000544e75, + 0x0206f0060, + 0x04868ffff, + 0x02f2f0060, 0x02f002f40, - 0x000306100, - 0x011982f2f, - 0x000306100, - 0x011660c2e, - 0x000738036, - 0x067067001, - 0x02d408006, - 0x04fef0038, - 0x04e75486e, - 0x081fd486e, - 0x097f66100, - 0x010c8518f, - 0x060dc598f, - 0x0487801b6, - 0x048780001, - 0x0486e8201, - 0x061001136, - 0x04a8042e7, - 0x02f40000e, - 0x044df6c0a, - 0x0486e820d, - 0x061000bcc, - 0x0588f2f2f, - 0x000146100, - 0x010a6588f, - 0x02f002f2f, - 0x000182f2f, + 0x0005c6100, + 0x019224a80, + 0x06d064237, + 0x009250068, + 0x02f2f005c, + 0x0610018e6, + 0x042804fef, + 0x000644e75, + 0x0598f4878, + 0x00011486e, + 0x0853a6100, + 0x018f44a80, + 0x042e72f40, + 0x0000a44df, + 0x06d24486e, + 0x09cee6100, + 0x0181c588f, + 0x02f00486e, + 0x09cee2f2f, + 0x000106100, + 0x018e82f2f, 0x000146100, - 0x0113e4a80, - 0x06c0a486e, - 0x082166100, - 0x00ba6588f, - 0x02f2f0018, - 0x0610010ec, - 0x04fef0020, - 0x04e75598f, - 0x048780011, - 0x0486e821f, - 0x0610010fc, - 0x04a8042e7, - 0x02f40000a, - 0x044df6d24, - 0x0486e998e, - 0x061001058, - 0x0588f2f00, - 0x0486e998e, - 0x02f2f0010, - 0x0610010f0, - 0x02f2f0014, - 0x0610010ac, - 0x04fef0010, - 0x04fef000c, - 0x04e75598f, - 0x0142e8036, - 0x00c020073, - 0x067081002, - 0x049c0588f, - 0x04e75486e, - 0x08227486f, - 0x000046100, - 0x01004486e, - 0x08229486e, - 0x097f66100, - 0x00ff84878, - 0x00004486f, - 0x00014486e, - 0x0822d6100, - 0x00b40102f, - 0x0001c49c0, - 0x04fef001c, - 0x07231b200, - 0x067267239, - 0x0b200671a, - 0x07269b200, - 0x0670e726e, - 0x0b2006702, - 0x060b4706e, - 0x0588f4e75, - 0x07069588f, - 0x04e757041, - 0x0588f4e75, - 0x07061588f, - 0x04e75486e, - 0x082642f2f, + 0x018a44fef, + 0x000104fef, + 0x0000c4e75, + 0x04feffefc, + 0x0242e8042, + 0x07073b082, + 0x067082002, + 0x04fef0104, + 0x04e752f36, + 0x001628032, + 0x00004486e, + 0x08542486f, 0x000086100, - 0x00a7a206f, - 0x0000c4aae, - 0x08006673a, - 0x0486e826f, - 0x02f086100, - 0x00a666100, - 0x0101e4fef, - 0x0001072ff, - 0x0b2806720, - 0x04281b280, - 0x0670c2f2f, - 0x000046100, - 0x00fee588f, - 0x04e754879, - 0x00000ea60, - 0x061001010, - 0x0588f60f2, - 0x060ee486e, - 0x082852f08, - 0x061000a2c, - 0x060c44fef, - 0x0fff02f2f, + 0x0150c1f76, + 0x001628032, + 0x00010010c, + 0x0422f010d, + 0x0486e855a, + 0x0486f0110, + 0x0610017a4, + 0x048780004, + 0x0486f0118, + 0x0486f001c, + 0x061000d8e, + 0x0102f0120, + 0x049c04fef, + 0x000207265, + 0x0b0016d28, + 0x06e08706c, + 0x04fef0104, + 0x04e757269, + 0x0b2006710, + 0x0726eb200, + 0x06702609a, + 0x042804fef, + 0x001044e75, + 0x070694fef, + 0x001044e75, + 0x07231b200, + 0x0670e7239, + 0x0b20066e2, + 0x070414fef, + 0x001044e75, + 0x070614fef, + 0x001044e75, + 0x02f2f0004, + 0x0610009d2, + 0x02f2f0008, + 0x061000ace, + 0x02f2f000c, + 0x061000b84, + 0x02f002f40, 0x00014486e, - 0x08299486e, - 0x0877a6100, - 0x00eb0486e, - 0x0877a6100, - 0x00f462f40, - 0x0001042af, - 0x000144878, - 0x00002486e, - 0x082a46100, - 0x00fc24a80, - 0x042e72f40, - 0x0002644df, - 0x06c0a486e, - 0x082ae6100, - 0x00a3a588f, - 0x048780002, - 0x0486e82c0, - 0x061000fa0, - 0x02f400028, - 0x04aaf0028, + 0x0855c6100, + 0x006be2f2f, + 0x00018486e, + 0x09bba6100, + 0x006b2486e, + 0x08564486e, + 0x085634878, + 0x00006486e, + 0x085612f2f, + 0x000306100, + 0x017c64a80, 0x06c0a486e, - 0x082c96100, - 0x00a1a588f, - 0x02f2f0020, - 0x0486e877a, - 0x02f2f0030, - 0x061000f94, - 0x0b0af002c, - 0x0660e2f2f, - 0x000386100, - 0x00606588f, - 0x04a806734, - 0x07005b0af, - 0x000306608, - 0x070ff4fef, - 0x0003c4e75, - 0x02f2f0038, - 0x061000f2c, - 0x02f2f0038, - 0x061000f24, - 0x0487801f4, - 0x061000f4c, - 0x052af003c, - 0x04fef0028, - 0x06000ff68, - 0x0486e82da, - 0x02f2f0038, - 0x061000960, - 0x02f2f003c, - 0x061000efc, - 0x02d7c0000, - 0x062dd800a, - 0x02d7c0000, - 0x062e08032, - 0x0202f0044, - 0x04fef0048, + 0x085656100, + 0x00cba588f, + 0x02f2f0034, + 0x061001792, + 0x042a76106, + 0x04fef0038, 0x04e754fef, - 0x0fff04aae, - 0x080066618, - 0x061000b76, - 0x04878001c, - 0x0486e97f6, - 0x0486e82e5, - 0x06100099e, - 0x04fef000c, - 0x048780002, - 0x0486e82ec, - 0x061000ed8, - 0x02f400010, - 0x04aaf0010, - 0x06c0a486e, - 0x082f76100, - 0x00952588f, - 0x02f2f001c, - 0x02f2f0014, - 0x0610008f0, - 0x048780002, - 0x0486e830a, - 0x061000eac, - 0x02f40001c, - 0x04aaf001c, - 0x06c0a486e, - 0x083126100, - 0x00926588f, - 0x02f2f001c, - 0x0610009aa, - 0x02f2f0020, - 0x061000e64, - 0x0486e8322, - 0x02f2f002c, - 0x0610008b4, - 0x02f2f0030, - 0x06100fe28, - 0x0486e97f6, - 0x06100fe7c, - 0x04a806d6a, - 0x02f002f40, - 0x000406100, - 0x005ca2f2f, - 0x000406100, - 0x006c62f2f, - 0x000446100, - 0x0077c2f00, - 0x02f40004c, - 0x0486e97f6, - 0x0610002b6, - 0x02f2f0050, - 0x0486e8349, - 0x0610002aa, - 0x0486e8351, - 0x0486e8350, - 0x048780006, - 0x0486e834e, - 0x02f2f0068, - 0x061000e16, - 0x04a806c0a, - 0x0486e8352, - 0x06100089c, - 0x0588f2f2f, - 0x0006c6100, - 0x00de24280, - 0x04fef0074, - 0x04e75486e, - 0x0832d6100, - 0x00bf84878, - 0x003e86100, - 0x00dfa4fef, - 0x0000c6000, - 0x0ff744fef, - 0x0fff04aae, - 0x080066618, - 0x061000a56, - 0x04878001c, - 0x0486e97f6, - 0x0486e8358, - 0x06100087e, - 0x04fef000c, - 0x048780002, - 0x0486e835f, - 0x061000db8, - 0x02f400010, - 0x04aaf0010, - 0x06c0a486e, - 0x083666100, - 0x00832588f, - 0x02f2f0010, - 0x06100fd50, - 0x0486e97f6, - 0x06100fda4, - 0x04a806d6a, - 0x02f002f40, - 0x000206100, - 0x004f22f2f, - 0x000206100, - 0x005ee2f2f, - 0x000246100, - 0x006a42f00, - 0x02f40002c, - 0x0486e97f6, - 0x0610001de, - 0x02f2f0030, - 0x0486e8391, - 0x0610001d2, - 0x0486e8399, - 0x0486e8398, - 0x048780006, - 0x0486e8396, - 0x02f2f0048, - 0x061000d3e, - 0x04a806c0a, - 0x0486e839a, - 0x0610007c4, - 0x0588f2f2f, - 0x0004c6100, - 0x00d0a4280, - 0x04fef0054, - 0x04e75486e, - 0x083756100, - 0x00b204878, - 0x003e86100, - 0x00d224fef, - 0x0000c6000, - 0x0ff744fef, - 0x0ff3c486f, - 0x00044486e, - 0x083a06100, - 0x01c544a80, + 0x0ff04486f, + 0x0007c486e, + 0x0856b6100, + 0x027724a80, 0x06c0870ff, - 0x04fef00cc, - 0x04e75486f, - 0x0004c486e, - 0x083a56100, - 0x01c3c4a80, + 0x04fef0104, + 0x04e752f36, + 0x001628032, + 0x0000c486e, + 0x08570486f, + 0x000106100, + 0x013f4486f, + 0x00090486f, + 0x000186100, + 0x027464a80, 0x06c0870ff, - 0x04fef00d4, + 0x04fef0118, 0x04e75486e, - 0x083ae6100, - 0x00ad442a7, - 0x0486e83b8, - 0x0486e83b5, - 0x061000c8e, + 0x085786100, + 0x0130442a7, + 0x0486e8584, + 0x0486e8581, + 0x061001718, 0x04a806c0a, - 0x0486e83bd, - 0x061000744, + 0x0486e8589, + 0x061000c3c, 0x0588f42a7, - 0x0486e83c8, - 0x0486e83c5, - 0x061000c72, + 0x0486e8594, + 0x0486e8591, + 0x0610016fc, 0x04a806c0a, - 0x0486e83ce, - 0x061000728, + 0x0486e859a, + 0x061000c20, 0x0588f486f, - 0x000e46100, - 0x00c624a80, + 0x001286100, + 0x016ec4a80, 0x06c0a486e, - 0x083d66100, - 0x00712588f, - 0x061000c74, - 0x04fef0030, + 0x085a26100, + 0x00c0a588f, + 0x0610016fe, + 0x04fef003c, 0x072ffb280, - 0x0670000de, + 0x0670000f0, 0x04281b280, - 0x067000084, - 0x02f2f00bc, - 0x061000c40, - 0x04aaf00cc, - 0x06746207c, - 0x00000640b, - 0x0486e8410, - 0x0486e840f, - 0x048780006, + 0x067000096, + 0x02f2f00f4, + 0x0610016ca, + 0x04aaf0104, + 0x067502f7c, + 0x0000065ce, + 0x0003c2f2f, + 0x000f4486e, + 0x085d26100, + 0x005a2486e, + 0x085d8486e, + 0x085d74878, + 0x000062f2f, + 0x000502f2f, + 0x0010c6100, + 0x016b64a80, + 0x06c0a486e, + 0x085d96100, + 0x00baa588f, + 0x042a76100, + 0x0061a2f2f, + 0x001146100, + 0x0167c4280, + 0x04fef0124, + 0x04e75207c, + 0x0000065dd, + 0x0486e85e7, + 0x0486e85e6, + 0x048780004, 0x02f082f2f, - 0x000cc6100, - 0x00c3c4a80, + 0x001046100, + 0x016764a80, 0x06c0a486e, - 0x084116100, - 0x006c2588f, - 0x02f2f00d0, - 0x0486e8417, - 0x06100009e, - 0x02f2f00d8, - 0x061000bfc, - 0x042804fef, - 0x000e84e75, - 0x0207c0000, - 0x0641a486e, - 0x08424486e, - 0x084234878, - 0x000042f08, - 0x02f2f00cc, - 0x061000bf6, - 0x04a80518f, - 0x06cce486e, - 0x084256100, - 0x0067a588f, - 0x060c22f2f, - 0x000b8486e, - 0x083e0486f, - 0x0002c6100, - 0x00aac2f2f, - 0x000c8486e, - 0x083e3486f, - 0x000186100, - 0x00a9c42a7, - 0x0486f0020, - 0x0486f0044, - 0x0486e83fb, - 0x0486e83f2, - 0x0486e83ef, - 0x0486e83eb, - 0x0486e83e6, - 0x061000aaa, - 0x0486e83fe, - 0x06100062c, - 0x04fef003c, - 0x06000ff2e, - 0x0486e83db, - 0x06100061c, - 0x0588f60a2, - 0x0518f4878, - 0x0002f2f2f, - 0x000106100, - 0x00b062400, - 0x06700008a, - 0x052822f02, - 0x0486e842b, - 0x0486e877a, - 0x061000a3a, - 0x0487801b6, + 0x085e86100, + 0x00b6a588f, 0x048780001, - 0x0486e877a, - 0x061000b3a, - 0x04a8042e7, - 0x02f400022, - 0x044df6c0a, - 0x0486e8431, - 0x0610005d0, - 0x0588f2f2f, - 0x00030486e, - 0x08438486e, - 0x0877a6100, - 0x00a04486e, - 0x0877a6100, - 0x00a9a588f, - 0x02f00486e, - 0x0877a2f2f, - 0x000346100, - 0x00b322f00, - 0x0486e877a, - 0x061000a80, - 0x0588f221f, - 0x0b280670a, - 0x0486e843b, - 0x06100058c, - 0x0588f2f2f, - 0x000386100, - 0x00ad24fef, - 0x000444e75, - 0x0242f0014, - 0x06000ff74, - 0x04fefff0c, - 0x0486e8441, - 0x0610008de, - 0x04aaf00fc, - 0x066504878, + 0x0610005d8, + 0x0518f60ba, + 0x02f2f00f0, + 0x0486e85ac, + 0x0486f0064, + 0x0610012ca, + 0x02f2f0100, + 0x0486e85af, + 0x0486f0050, + 0x0610012ba, + 0x042a7486f, + 0x00058486f, + 0x0007c486e, + 0x085be486f, + 0x00028486e, + 0x085bb486e, + 0x085b7486e, + 0x085b26100, + 0x013ea486e, + 0x085c16100, + 0x00b124fef, + 0x0003c6000, + 0x0ff1c486e, + 0x085a76100, + 0x00b02588f, + 0x060a24fef, + 0x0ffcc4aae, + 0x080066618, + 0x06100101a, + 0x04878001c, + 0x0486e9bba, + 0x0486e85ee, + 0x061000b0a, + 0x04fef000c, + 0x02ebc0000, + 0x07bb8227c, + 0x0000061b4, + 0x04a916720, + 0x02f172f11, + 0x02f490028, + 0x0610014ce, + 0x0226f0028, + 0x04a806600, + 0x001e47004, + 0x0d0892f40, + 0x00008508f, + 0x02f17486e, + 0x085f56100, + 0x01150222f, + 0x0000841ef, + 0x000242f48, + 0x0002042af, + 0x0002c7004, + 0x0b0af002c, + 0x06f087001, + 0x0b0816600, + 0x001804aae, + 0x080226600, + 0x000b24878, 0x00002486e, - 0x084496100, - 0x00aca4a80, - 0x06f000150, - 0x048780073, - 0x0486f0014, - 0x02f002f40, - 0x001046100, - 0x00ab82200, + 0x086016100, + 0x015744a80, + 0x06c10486e, + 0x0860a6100, + 0x00a3e70ff, + 0x04fef0048, + 0x04e754878, + 0x0000d486e, + 0x0861b2f00, + 0x02f40004c, + 0x061001566, + 0x0222f004c, + 0x04a806c16, + 0x02f016100, + 0x0151c486e, + 0x086296100, + 0x00a0e70ff, + 0x04fef0058, + 0x04e754878, + 0x0000c486e, + 0x086372f01, + 0x06100153a, + 0x0222f0058, + 0x04a806c16, + 0x02f016100, + 0x014f0486e, + 0x086446100, + 0x009e270ff, + 0x04fef0064, + 0x04e754878, + 0x0000c486e, + 0x086512f01, + 0x06100150e, + 0x04a806c18, + 0x02f2f0064, + 0x0610014c6, + 0x0486e865e, + 0x0610009b8, + 0x070ff4fef, + 0x000704e75, + 0x070012d40, + 0x080224fef, + 0x0002c486f, + 0x0000c486f, + 0x000286100, + 0x00a4c4a80, + 0x06c0870ff, + 0x04fef0044, + 0x04e754878, + 0x00002486e, + 0x0866b6100, + 0x014ac4a80, 0x042e72f40, - 0x0010a44df, - 0x06c0e486e, - 0x084506100, - 0x0052a222f, - 0x0010c588f, - 0x042371920, - 0x0001c2f2f, - 0x001046100, - 0x00a664fef, - 0x000184aaf, - 0x000fc6700, - 0x000d44878, + 0x0004244df, + 0x06c10486e, + 0x0867a6100, + 0x0096e70ff, + 0x04fef0050, + 0x04e754878, 0x00002486e, - 0x0845c6100, - 0x00a724a80, - 0x06c064fef, - 0x001004e75, - 0x0486e846d, - 0x0486e846c, - 0x042a7486e, - 0x084642f00, - 0x02f40010c, - 0x061000a4a, - 0x0206f010c, - 0x04a806c0c, - 0x02f086100, - 0x00a1e4fef, - 0x001184e75, + 0x086916100, + 0x014844a80, + 0x042e72f40, + 0x0004e44df, + 0x06c182f2f, + 0x000486100, + 0x0144c486e, + 0x0869f6100, + 0x0093e70ff, + 0x04fef005c, + 0x04e75486f, + 0x000246100, + 0x01394588f, + 0x02f00486f, + 0x000282f2f, + 0x000546100, + 0x014604a80, + 0x06c202f2f, + 0x000586100, + 0x014182f2f, + 0x000586100, + 0x01410486f, + 0x000386100, + 0x012ca70ff, + 0x04fef006c, + 0x04e752d7c, + 0x0000066b3, + 0x0800e2d7c, + 0x0000066b9, + 0x0803e202f, + 0x000544fef, + 0x000604e75, + 0x02f012f41, + 0x0000c6100, + 0x011be1f80, + 0x001610024, + 0x052af0024, + 0x04878002e, + 0x02f2f0010, + 0x0610012cc, + 0x052802200, + 0x052af0038, + 0x04fef000c, + 0x06000fe44, + 0x0d3fc0000, + 0x00018508f, + 0x06000fdfa, + 0x0486e86c3, + 0x02f2f0008, + 0x061000868, + 0x0206f000c, + 0x04aae8006, + 0x0673a486e, + 0x086ce2f08, + 0x061000854, + 0x06100139e, + 0x04fef0010, + 0x072ffb280, + 0x067204281, + 0x0b280670c, + 0x02f2f0004, + 0x06100136e, + 0x0588f4e75, + 0x048790000, + 0x0ea606100, + 0x01390588f, + 0x060f260ee, + 0x0486e86e4, 0x02f086100, - 0x00a12486f, - 0x00028486e, - 0x0846e6100, - 0x00a3c4a80, - 0x06c0a486e, - 0x084766100, - 0x004aa588f, - 0x0486f00a4, - 0x0486f0034, - 0x061000a34, - 0x02f2f010c, - 0x0486e847b, - 0x0486f0040, - 0x0610008d2, + 0x0081a60c4, + 0x04feffff0, + 0x02f2f0014, + 0x0486e86f8, + 0x0486e8b3e, + 0x061000fd6, + 0x0486e8b3e, + 0x061001292, + 0x02f400010, + 0x042af0014, 0x048780002, - 0x0486e847f, - 0x0610009f4, - 0x02f400134, - 0x04aaf0134, - 0x06f32486f, - 0x0004c6100, - 0x00952588f, - 0x02f00486f, - 0x000502f2f, - 0x0013c6100, - 0x009ea4a80, + 0x0486e8703, + 0x061001342, + 0x04a8042e7, + 0x02f400026, + 0x044df6c0a, + 0x0486e870d, + 0x061000828, + 0x0588f4878, + 0x00002486e, + 0x0871f6100, + 0x013202f40, + 0x000284aaf, + 0x000286c0a, + 0x0486e8728, + 0x061000808, + 0x0588f2f2f, + 0x00020486e, + 0x08b3e2f2f, + 0x000306100, + 0x01314b0af, + 0x0002c660e, + 0x02f2f0038, + 0x0610003de, + 0x0588f4a80, + 0x067347005, + 0x0b0af0030, + 0x0660870ff, + 0x04fef003c, + 0x04e752f2f, + 0x000386100, + 0x012ac2f2f, + 0x000386100, + 0x012a44878, + 0x001f46100, + 0x012cc52af, + 0x0003c4fef, + 0x000286000, + 0x0ff68486e, + 0x087392f2f, + 0x000386100, + 0x0074e2f2f, + 0x0003c6100, + 0x0127c2d7c, + 0x00000673c, + 0x0800e2d7c, + 0x00000673f, + 0x0803e202f, + 0x000444fef, + 0x000484e75, + 0x0518f4aae, + 0x080066618, + 0x061000c9e, + 0x04878001c, + 0x0486e9bba, + 0x0486e8744, + 0x06100078e, + 0x04fef000c, + 0x048780002, + 0x0486e874b, + 0x06100125a, + 0x02f400008, + 0x04aaf0008, 0x06c0a486e, - 0x084866100, - 0x00452588f, - 0x02f2f0140, - 0x061000998, - 0x04fef0010, - 0x02f2f0134, - 0x06100098c, - 0x04fef0048, - 0x048780001, - 0x0486e8492, - 0x0610009a0, - 0x02f4000f8, - 0x0486f0010, - 0x061000904, - 0x0588f2f00, + 0x087526100, + 0x00742588f, + 0x02f2f0008, + 0x06100fe72, + 0x0486e9bba, + 0x06100fec6, + 0x04a806d06, + 0x04fef0018, + 0x04e75486e, + 0x087616100, + 0x00dcc4878, + 0x003e86100, + 0x012284fef, + 0x0000c60d8, + 0x04fefffd4, + 0x04aae8006, + 0x066186100, + 0x00c2c4878, + 0x0001c486e, + 0x09bba486e, + 0x0877d6100, + 0x0071c4fef, + 0x0000c2f36, + 0x001628032, + 0x00008486e, + 0x08784486f, + 0x000086100, + 0x00e584878, + 0x00002486f, + 0x000106100, + 0x011d42f40, + 0x000384aaf, + 0x000386c0a, 0x0486f0014, - 0x02f2f0100, - 0x06100099c, - 0x02f2f0104, - 0x061000958, - 0x04fef0110, - 0x04e757001, - 0x02f400104, - 0x0508f6000, - 0x0fee6598f, - 0x048781000, - 0x0486e877a, + 0x0610006bc, + 0x0588f2f2f, + 0x000442f2f, + 0x0003c6100, + 0x0065a2f36, + 0x001628032, + 0x00008486e, + 0x0878d486f, + 0x000246100, + 0x00e184878, + 0x00002486f, + 0x0002c6100, + 0x011942f40, + 0x000504aaf, + 0x000506c0a, + 0x0486f0030, + 0x06100067c, + 0x0588f2f2f, + 0x000506100, + 0x00a382f2f, + 0x000546100, + 0x0114c486e, + 0x087932f2f, + 0x000606100, + 0x0060a2f2f, + 0x000646100, + 0x0fd90486e, + 0x09bba6100, + 0x0fde44a80, + 0x06d064fef, + 0x000744e75, + 0x0486e879e, + 0x061000cea, + 0x0487803e8, + 0x061001146, + 0x04fef000c, + 0x060d8518f, + 0x04878002f, 0x02f2f0010, - 0x06100095e, - 0x022007002, - 0x0b081670c, - 0x0610005ca, - 0x070ff4fef, - 0x000104e75, - 0x0422e877c, - 0x0486e849a, - 0x0486e877a, - 0x061000870, - 0x04a806608, - 0x042804fef, - 0x000184e75, - 0x0486e849d, - 0x0486e877a, - 0x061000858, - 0x04a806634, - 0x0486e9972, - 0x0486e998e, - 0x0486e84a0, - 0x0486e877a, - 0x0610007d6, - 0x0486e877a, - 0x06100086c, + 0x0610010ae, + 0x024006700, + 0x0008a5282, + 0x02f02486e, + 0x087ba486e, + 0x08b3e6100, + 0x00d884878, + 0x001b64878, + 0x00001486e, + 0x08b3e6100, + 0x010e24a80, + 0x042e72f40, + 0x0002244df, + 0x06c0a486e, + 0x087c06100, + 0x005e6588f, + 0x02f2f0030, + 0x0486e87c7, + 0x0486e8b3e, + 0x061000d52, + 0x0486e8b3e, + 0x06100100e, 0x0588f2f00, - 0x0486e877a, - 0x02f2f003c, - 0x061000904, - 0x04fef0038, - 0x06000ff7e, - 0x0486e84a7, - 0x0486e877a, - 0x061000814, - 0x04a804fef, - 0x000246600, - 0x0ff686100, - 0x00548486e, - 0x09972486e, - 0x0998e486e, - 0x084aa486e, - 0x0877a6100, - 0x00788486e, - 0x0877a6100, - 0x0081e588f, + 0x0486e8b3e, + 0x02f2f0034, + 0x0610010da, 0x02f00486e, - 0x0877a2f2f, - 0x000206100, - 0x008b64fef, - 0x0001c6000, - 0x0ff30598f, - 0x0486e84b1, - 0x06100068e, - 0x01d7c0032, - 0x0977a3d7c, - 0x0ffff977e, - 0x0486e877a, - 0x0486e977a, - 0x0610010e8, + 0x08b3e6100, + 0x00ff4588f, + 0x0221fb280, + 0x0670a486e, + 0x087ca6100, + 0x005a2588f, + 0x02f2f0038, + 0x06100107a, + 0x04fef0044, + 0x04e75242f, + 0x000146000, + 0x0ff744fef, + 0x0ff0c486e, + 0x087d06100, + 0x00c2c4aaf, + 0x000fc6650, + 0x048780002, + 0x0486e87d8, + 0x061001072, + 0x04a806d00, + 0x001504878, + 0x00073486f, + 0x000142f00, + 0x02f400104, + 0x061001060, + 0x0220042e7, + 0x02f40010a, + 0x044df6c0e, + 0x0486e87df, + 0x061000540, + 0x0222f010c, + 0x0588f4237, + 0x01920001c, + 0x02f2f0104, + 0x06100100e, + 0x04fef0018, + 0x04aaf00fc, + 0x0670000d4, + 0x048780002, + 0x0486e87eb, + 0x06100101a, + 0x04a806c06, + 0x04fef0100, + 0x04e75486e, + 0x087fc486e, + 0x087fb42a7, + 0x0486e87f3, 0x02f002f40, - 0x00010486e, - 0x0877a2f2f, - 0x0001c6100, - 0x0087ab0af, - 0x00018670a, - 0x0486e84b8, - 0x0610002e0, - 0x0588f4878, + 0x0010c6100, + 0x00ff2206f, + 0x0010c4a80, + 0x06c0c2f08, + 0x061000fc6, + 0x04fef0118, + 0x04e752f08, + 0x061000fba, + 0x0486f0028, + 0x0486e87fd, + 0x061000fe4, + 0x04a806c0a, + 0x0486e8805, + 0x0610004c0, + 0x0588f486f, + 0x000a4486f, + 0x000346100, + 0x0105c2f2f, + 0x0010c486e, + 0x0880a486f, + 0x000406100, + 0x00c204878, + 0x00002486e, + 0x0880e6100, + 0x00f9c2f40, + 0x001344aaf, + 0x001346f32, + 0x0486f004c, + 0x061000ec6, + 0x0588f2f00, + 0x0486f0050, + 0x02f2f013c, + 0x061000f92, + 0x04a806c0a, + 0x0486e8815, + 0x061000468, + 0x0588f2f2f, + 0x001406100, + 0x00f404fef, + 0x000102f2f, + 0x001346100, + 0x00f344fef, + 0x000484878, + 0x00001486e, + 0x088216100, + 0x00f482f40, + 0x000f8486f, + 0x000106100, + 0x00e78588f, + 0x02f00486f, + 0x000142f2f, + 0x001006100, + 0x00f442f2f, + 0x001046100, + 0x00f004fef, + 0x001104e75, + 0x070012f40, + 0x00104508f, + 0x06000fee6, + 0x0598f4878, 0x01000486e, - 0x0877a2f2f, - 0x000286100, - 0x008482200, + 0x08b3e2f2f, + 0x000106100, + 0x00f062200, 0x07002b081, - 0x066080c2e, - 0x0004f877a, - 0x0677c4a81, - 0x042e72f41, - 0x0002644df, - 0x06e0e486e, - 0x084c26100, - 0x002aa222f, - 0x00028588f, - 0x02f01486e, - 0x0977a486e, - 0x0877a6100, - 0x009c24a80, - 0x06638102e, - 0x0877d49c0, - 0x02f00102e, - 0x0877c49c0, - 0x02f00102e, - 0x0877b49c0, - 0x02f00102e, - 0x0877a49c0, - 0x02f002f2f, - 0x00040486e, - 0x084cb6100, - 0x005dc486e, - 0x084f26100, - 0x0025e4fef, - 0x0001c0c2e, - 0x00033977a, + 0x0670c6100, + 0x0091870ff, + 0x04fef0010, + 0x04e75422e, + 0x08b40486e, + 0x08829486e, + 0x08b3e6100, + 0x00de44a80, + 0x066084280, + 0x04fef0018, + 0x04e75486e, + 0x0882c486e, + 0x08b3e6100, + 0x00dcc4a80, + 0x06634486e, + 0x09cd2486e, + 0x09cee486e, + 0x0882f486e, + 0x08b3e6100, + 0x00b24486e, + 0x08b3e6100, + 0x00de0588f, + 0x02f00486e, + 0x08b3e2f2f, + 0x0003c6100, + 0x00eac4fef, + 0x000386000, + 0x0ff7e486e, + 0x08836486e, + 0x08b3e6100, + 0x00d884a80, + 0x04fef0024, + 0x06600ff68, + 0x061000896, + 0x0486e9cd2, + 0x0486e9cee, + 0x0486e8839, + 0x0486e8b3e, + 0x061000ad6, + 0x0486e8b3e, + 0x061000d92, + 0x0588f2f00, + 0x0486e8b3e, + 0x02f2f0020, + 0x061000e5e, + 0x04fef001c, + 0x06000ff30, + 0x0598f486e, + 0x088406100, + 0x009dc1d7c, + 0x000329b3e, + 0x03d7cffff, + 0x09b42486e, + 0x08b3e486e, + 0x09b3e6100, + 0x017102f00, + 0x02f400010, + 0x0486e8b3e, + 0x02f2f001c, + 0x061000e22, + 0x0b0af0018, 0x0670a486e, - 0x084fd6100, - 0x0024a588f, - 0x04fef0034, - 0x04e750c2e, - 0x0004b877b, - 0x06600ff7c, + 0x088476100, + 0x002f6588f, 0x048781000, - 0x0486e877a, - 0x02f2f0034, - 0x0610007a2, - 0x022004fef, - 0x0000c6000, - 0x0ff62598f, - 0x0486e8506, - 0x06100058a, - 0x01d7c0034, - 0x0977a3d7c, - 0x0ffff977e, - 0x0486e877a, - 0x0486e977a, - 0x061000fe4, - 0x02f002f40, - 0x00010486e, - 0x0877a2f2f, - 0x0001c6100, - 0x00776b0af, - 0x00018670a, - 0x0486e8511, - 0x0610001dc, - 0x0588f4878, - 0x01000486e, - 0x0877a2f2f, - 0x000286100, - 0x007442f40, - 0x000244aaf, - 0x000246e0a, - 0x0486e851f, - 0x0610001b8, - 0x0588f2f2f, - 0x00024486e, - 0x0977a486e, - 0x0877a6100, - 0x008d24a80, - 0x0660a486e, - 0x0852c6100, - 0x0019a588f, - 0x00c2e0037, - 0x0977a6618, - 0x0486e9780, - 0x0486e853b, - 0x0610004fa, - 0x0486e9780, - 0x06100017c, - 0x04fef000c, - 0x00c2e0035, - 0x0977a670a, - 0x0486e8545, - 0x061000168, + 0x0486e8b3e, + 0x02f2f0028, + 0x061000df0, + 0x022007002, + 0x0b0816608, + 0x00c2e004f, + 0x08b3e677c, + 0x04a8142e7, + 0x02f410026, + 0x044df6e0e, + 0x0486e8851, + 0x0610002c0, + 0x0222f0028, + 0x0588f2f01, + 0x0486e9b3e, + 0x0486e8b3e, + 0x061000fea, + 0x04a806638, + 0x0102e8b41, + 0x049c02f00, + 0x0102e8b40, + 0x049c02f00, + 0x0102e8b3f, + 0x049c02f00, + 0x0102e8b3e, + 0x049c02f00, + 0x02f2f0040, + 0x0486e885a, + 0x06100092a, + 0x0486e8881, + 0x061000274, + 0x04fef001c, + 0x00c2e0033, + 0x09b3e670a, + 0x0486e888c, + 0x061000260, 0x0588f4fef, 0x000344e75, - 0x04fefff80, - 0x04857486e, - 0x085526100, - 0x0161c4a80, + 0x00c2e004b, + 0x08b3f6600, + 0x0ff7c4878, + 0x01000486e, + 0x08b3e2f2f, + 0x000346100, + 0x00d4a2200, + 0x04fef000c, + 0x06000ff62, + 0x0598f486e, + 0x088956100, + 0x008d81d7c, + 0x000349b3e, + 0x03d7cffff, + 0x09b42486e, + 0x08b3e486e, + 0x09b3e6100, + 0x0160c2f00, + 0x02f400010, + 0x0486e8b3e, + 0x02f2f001c, + 0x061000d1e, + 0x0b0af0018, + 0x0670a486e, + 0x088a06100, + 0x001f2588f, + 0x048781000, + 0x0486e8b3e, + 0x02f2f0028, + 0x061000cec, + 0x02f400024, + 0x04aaf0024, + 0x06e0a486e, + 0x088ae6100, + 0x001ce588f, + 0x02f2f0024, + 0x0486e9b3e, + 0x0486e8b3e, + 0x061000efa, + 0x04a80660a, + 0x0486e88bb, + 0x0610001b0, + 0x0588f0c2e, + 0x000379b3e, + 0x06618486e, + 0x09b44486e, + 0x088ca6100, + 0x00848486e, + 0x09b446100, + 0x001924fef, + 0x0000c0c2e, + 0x000359b3e, + 0x0670a486e, + 0x088d46100, + 0x0017e588f, + 0x04fef0034, + 0x04e754fef, + 0x0ff48486f, + 0x00038486e, + 0x088e16100, + 0x01c424a80, 0x06c0a202f, - 0x0008c4fef, - 0x000884e75, - 0x0486f0008, - 0x0486e8557, - 0x061001602, + 0x000c44fef, + 0x000c04e75, + 0x02f360162, + 0x08032000c, + 0x0486e88e6, + 0x0486f0010, + 0x0610008c2, + 0x0486f004c, + 0x0486f0018, + 0x061001c14, 0x04a806c0a, - 0x0202f0094, - 0x04fef0090, + 0x0202f00d8, + 0x04fef00d4, 0x04e75486e, - 0x085636100, - 0x00498486f, - 0x000886100, - 0x0065e4a80, + 0x088f16100, + 0x007d0486f, + 0x000cc6100, + 0x00bf04a80, 0x06c0a486e, - 0x0856a6100, + 0x088f86100, 0x0010e588f, - 0x061000670, - 0x04fef0018, + 0x061000c02, + 0x04fef0024, 0x072ffb280, 0x06700009e, 0x04281b280, 0x067222f2f, - 0x000746100, - 0x0063e2f2f, - 0x000886100, - 0x006362f6f, - 0x00080008c, + 0x000ac6100, + 0x00bd02f2f, + 0x000c06100, + 0x00bc82f6f, + 0x000b800c4, 0x0508f202f, - 0x000844fef, - 0x000804e75, - 0x02f2f0078, - 0x06100061c, + 0x000bc4fef, + 0x000b84e75, + 0x02f2f00b0, + 0x061000bae, 0x042a72f2f, - 0x0008c6100, - 0x0061e2f2f, - 0x000906100, - 0x0060a4878, + 0x000c46100, + 0x00bb02f2f, + 0x000c86100, + 0x00b9c4878, 0x000012f2f, - 0x000886100, - 0x0060a2f2f, - 0x0008c6100, - 0x005f64aae, - 0x0802a6720, - 0x042a7486e, - 0x08588486e, - 0x08585486e, - 0x08581486e, - 0x08579486e, - 0x085746100, - 0x004fc4fef, + 0x000c06100, + 0x00b9c2f2f, + 0x000c46100, + 0x00b884aae, + 0x080366720, + 0x042a7486f, + 0x00020486e, + 0x08913486e, + 0x0890f486e, + 0x08907486e, + 0x089026100, + 0x009564fef, 0x0003460a2, - 0x042a7486e, - 0x085a7486e, - 0x085a4486e, - 0x085a1486e, - 0x08599486e, - 0x085946100, - 0x004dc4fef, + 0x042a7486f, + 0x00020486e, + 0x08926486e, + 0x08923486e, + 0x0891b486e, + 0x089166100, + 0x009364fef, 0x000346082, - 0x0486e856f, + 0x0486e88fd, 0x06158588f, 0x06082598f, 0x02f2f000c, - 0x061000530, + 0x061000a8e, 0x02f002f40, 0x000082f2f, 0x000142f2f, 0x000146100, - 0x005c6b0af, + 0x00b58b0af, 0x000106708, 0x02f2f001c, 0x0612c588f, 0x04fef0014, 0x04e754fef, 0x0ffc04857, - 0x0610005ae, + 0x061000bc0, 0x0486f0004, 0x02f2f004c, - 0x0486e85b3, + 0x0486e8929, 0x048780002, - 0x0610003e6, + 0x06100071e, 0x04fef0054, 0x04e754fef, 0x0ffc04857, - 0x06100058a, + 0x061000b9c, 0x0486f0004, 0x02f2f004c, - 0x0486e85c1, + 0x0486e8937, 0x048780002, - 0x0610003c2, + 0x0610006fa, 0x042a76100, - 0x0031c4fef, + 0x006544fef, 0x000584e75, 0x04feffefc, 0x02f2f010c, 0x02f2f010c, - 0x0486e85cf, - 0x06100033a, + 0x0486e8945, + 0x061000672, 0x02f2f011c, 0x0486f0010, 0x042a76100, - 0x005302200, + 0x00ac22200, 0x04fef0018, 0x067da42e7, 0x02f400102, 0x044df6c0c, - 0x0486e85d8, + 0x0486e894e, 0x0619c222f, 0x00104588f, 0x07001b081, @@ -988,31 +1181,237 @@ ulong bootcode[]={ 0x01920ffff, 0x048572f2f, 0x001106100, - 0x00454222f, + 0x009b2222f, 0x00108508f, 0x020014fef, 0x001044e75, + 0x04fefffb4, + 0x042a7486e, + 0x089706100, + 0x00a6c4a80, + 0x06c10486e, + 0x089796100, + 0x008fe70ff, + 0x04fef0058, + 0x04e754878, + 0x01000486e, + 0x08b3e2f00, + 0x02f400058, + 0x061000a4c, + 0x04a806c10, + 0x0486e898c, + 0x0610008d8, + 0x070ff4fef, + 0x000644e75, + 0x0486e899c, + 0x0486e8b3e, + 0x061000a44, + 0x022404a80, + 0x06610486e, + 0x089a26100, + 0x005c070ff, + 0x04fef006c, + 0x04e755c89, + 0x042af005c, + 0x07006b0af, + 0x0005c6f08, + 0x07001b089, + 0x06600027c, + 0x02f2f0060, + 0x0610009ce, + 0x048780006, + 0x0486e806e, + 0x0486f0038, + 0x0610007e2, + 0x01f7c0008, + 0x000481f7c, + 0x000060049, + 0x0422f004a, + 0x01f7c0001, + 0x0004b1f7c, + 0x00008004c, + 0x0422f004d, + 0x01f7c0006, + 0x0004e1f7c, + 0x00004004f, + 0x0422f0050, + 0x01f7c0001, + 0x000514878, + 0x000042f2f, + 0x0008041ef, + 0x00044d1fc, + 0x000000026, + 0x02f086100, + 0x007944878, + 0x00001486e, + 0x089b86100, + 0x009884a80, + 0x042e72f40, + 0x0008644df, + 0x06c10486e, + 0x089c16100, + 0x0081270ff, + 0x04fef0090, + 0x04e754878, + 0x00002486e, + 0x089cf6100, + 0x009604a80, + 0x042e72f40, + 0x0009244df, + 0x06c10486e, + 0x089d96100, + 0x007ea70ff, + 0x04fef0098, + 0x04e754878, + 0x0000e486e, + 0x089e82f2f, + 0x000946100, + 0x0094c4a80, + 0x06c10486e, + 0x089f66100, + 0x007c670ff, + 0x04fef00a4, + 0x04e752f7c, + 0x000006b3c, + 0x00060486e, + 0x089fe6100, + 0x004b84878, + 0x0002c486f, + 0x0006c2f2f, + 0x000a86100, + 0x009184a80, + 0x06c10486e, + 0x08a036100, + 0x0079270ff, + 0x04fef00b4, + 0x04e754878, + 0x00640486e, + 0x08b3e2f2f, + 0x000b46100, + 0x008e2226f, + 0x0007c4a80, + 0x06c10486e, + 0x08a0d6100, + 0x0076a70ff, + 0x04fef00c0, + 0x04e750c29, + 0x00008000c, + 0x066080c29, + 0x00006000d, + 0x067164878, + 0x001f46100, + 0x008b8486e, + 0x08a5d6100, + 0x0044c4fef, + 0x00020608e, + 0x04a290014, + 0x066e40c29, + 0x000020015, + 0x066dc4281, + 0x0122f0093, + 0x02f014869, + 0x0001c41ef, + 0x00088d1fc, + 0x000000026, + 0x02f086100, + 0x00652226f, + 0x000884a80, + 0x04fef000c, + 0x066b44280, + 0x01029001b, + 0x02f004280, + 0x01029001a, + 0x02f004280, + 0x010290019, + 0x02f004280, + 0x010290018, + 0x02f004280, + 0x010290017, + 0x02f004280, + 0x010290016, + 0x02f00486e, + 0x08a182f2f, + 0x000e06100, + 0x004a42f2f, + 0x000e4486e, + 0x08a396100, + 0x003c82f2f, + 0x000e06100, + 0x007f42f2f, + 0x000e06100, + 0x007ec4878, + 0x00001486e, + 0x08a3d6100, + 0x008044a80, + 0x042e72f40, + 0x000f244df, + 0x06c10486e, + 0x08a456100, + 0x0068e70ff, + 0x04fef00f8, + 0x04e754878, + 0x000064877, + 0x0016200b8, + 0x00020486f, + 0x000b06100, + 0x005d44878, + 0x000044877, + 0x0016200c4, + 0x0002641ef, + 0x000bc5c88, + 0x02f086100, + 0x005bc4878, + 0x0000c486f, + 0x000c42f2f, + 0x001106100, + 0x007c4226f, + 0x001144a80, + 0x06c162f09, + 0x06100077a, + 0x0486e8a53, + 0x061000634, + 0x070ff4fef, + 0x001204e75, + 0x02f096100, + 0x007644280, + 0x04fef011c, + 0x04e75137c, + 0x00030fffe, + 0x0137c0078, + 0x0ffff4869, + 0x0fffe2f49, + 0x0005c6100, + 0x00526222f, + 0x000601f80, + 0x019200046, + 0x04878003a, + 0x02f2f0060, + 0x061000634, + 0x052802240, + 0x052af0068, + 0x04fef000c, + 0x06000fd3a, 0x04fefff70, - 0x0486e85fa, + 0x0486e8a5f, 0x0610002de, - 0x0610004cc, + 0x061000726, 0x02f40000c, 0x0588f72ff, 0x0b2806700, 0x000fc4281, 0x0b2806700, 0x0009842a7, - 0x0486e8637, - 0x0610004b8, + 0x0486e8a9c, + 0x061000712, 0x02f400008, 0x04aaf0008, 0x06c0a486e, - 0x086406100, - 0x0ff32588f, + 0x08aa56100, + 0x0fbfa588f, 0x048780001, 0x0486f001c, 0x02f2f0010, - 0x06100049a, + 0x0610006f4, 0x0102f0024, 0x049c04fef, 0x000147204, @@ -1020,34 +1419,34 @@ ulong bootcode[]={ 0x048780001, 0x0486f0014, 0x02f2f009c, - 0x06100048c, + 0x0610006e6, 0x04a804fef, 0x0000c6c28, 0x0486f0010, - 0x061000482, + 0x06100075c, 0x02f2f000c, 0x06100009a, 0x02f2f0008, - 0x061000430, + 0x06100068a, 0x0486f001c, - 0x0486e864e, + 0x0486e8ab3, 0x06100024a, 0x04fef0014, 0x0518f609c, 0x02f2f0008, 0x061762f2f, 0x000046100, - 0x0040e4fef, + 0x006684fef, 0x000984e75, 0x048780080, 0x0486f0014, 0x02f2f009c, - 0x061000422, + 0x06100067c, 0x026006c16, 0x0486f001c, - 0x06100042e, + 0x061000708, 0x0486f0020, - 0x0486e861d, + 0x0486e8a82, 0x061000206, 0x060fe4282, 0x0b4836c18, @@ -1060,48 +1459,48 @@ ulong bootcode[]={ 0x02f03486f, 0x000204878, 0x000016100, - 0x003ee4fef, + 0x006484fef, 0x0001860a4, - 0x0486e8611, - 0x06100fe54, + 0x0486e8a76, + 0x06100fb1c, 0x0588f6098, 0x04fefffdc, 0x02f2f0028, - 0x0486e8669, + 0x0486e8ace, 0x0486f000c, 0x061000282, 0x048780001, 0x0486f0014, - 0x0610003a4, + 0x0610005fe, 0x048780003, - 0x0486e8677, + 0x0486e8adc, 0x02f002f40, 0x000206100, - 0x003aa2f2f, + 0x006042f2f, 0x000206100, - 0x003664fef, + 0x005c04fef, 0x000484e75, 0x04fefff74, 0x042a7486e, - 0x0867b6100, - 0x003764a80, + 0x08ae06100, + 0x005d04a80, 0x042e72f40, 0x0001244df, 0x06c0a486e, - 0x086846100, - 0x0fdee588f, - 0x0486e86a7, + 0x08ae96100, + 0x0fab6588f, + 0x0486e8b0c, 0x06100015a, 0x042af0018, 0x048780001, 0x0486f0024, 0x02f2f001c, - 0x06100034a, + 0x0610005a4, 0x02f400028, 0x04aaf0028, 0x06c0a486e, - 0x086b26100, - 0x0fdbe588f, + 0x08b176100, + 0x0fa86588f, 0x04aaf0028, 0x04fef000c, 0x067d2102f, @@ -1114,7 +1513,7 @@ ulong bootcode[]={ 0x06748202f, 0x0000c1daf, 0x000140920, - 0x0997252af, + 0x09cd252af, 0x0000c0c2f, 0x0000a0014, 0x06710701c, @@ -1123,14 +1522,14 @@ ulong bootcode[]={ 0x06e924fef, 0x0000c202f, 0x0000c4236, - 0x009209972, + 0x009209cd2, 0x02f2f0008, - 0x0610002ac, - 0x0486e86d7, + 0x061000506, + 0x0486e8b3c, 0x0610000ca, 0x04fef0094, 0x04e75486e, - 0x086d56100, + 0x08b3a6100, 0x000bc598f, 0x06000ff56, 0x060b84aaf, @@ -1140,9 +1539,9 @@ ulong bootcode[]={ 0x042817021, 0x0b0816f1e, 0x04ab61d20, - 0x09892660e, + 0x09bf2660e, 0x02daf0008, - 0x01d209892, + 0x01d209bf2, 0x07001588f, 0x04e755281, 0x07021b081, @@ -1152,31 +1551,31 @@ ulong bootcode[]={ 0x000084282, 0x07021b082, 0x06f182036, - 0x02d209892, + 0x02d209bf2, 0x0b0886606, 0x042b62d20, - 0x098925282, + 0x09bf25282, 0x07021b082, 0x06ee8588f, 0x04e754aaf, 0x000046606, 0x042a7610c, 0x0588f486e, - 0x0805a6104, + 0x080566104, 0x0588f4e75, 0x0518f7220, 0x04a816d22, 0x02eb61d20, - 0x098924a97, + 0x09bf24a97, 0x067122f41, 0x0000442b6, - 0x01d209892, + 0x01d209bf2, 0x04eb70151, 0x0222f0004, 0x053814a81, 0x06cde2f2f, 0x0000c6100, - 0x001dc4fef, + 0x004364fef, 0x0000c4e75, 0x04fefeff8, 0x041ef100c, @@ -1186,20 +1585,20 @@ ulong bootcode[]={ 0x0d1fc0000, 0x010002f08, 0x0486f0014, - 0x061001274, + 0x06100154e, 0x0220041ef, 0x000189288, 0x02f01486f, 0x0001c4878, 0x000016100, - 0x001de2400, + 0x004382400, 0x042e72f40, 0x0001e44df, 0x06c1a52ae, 0x08002700a, 0x0b0ae8002, 0x06e0e486e, - 0x0804a6100, + 0x080466100, 0x0ff70242f, 0x00020588f, 0x020024fef, @@ -1212,269 +1611,335 @@ ulong bootcode[]={ 0x0d1fc0000, 0x010002f08, 0x0486f0014, - 0x06100120c, + 0x0610014e6, 0x0220041ef, 0x000189288, 0x02f01486f, 0x0001c2f2f, 0x010246100, - 0x001762400, + 0x003d02400, 0x042e72f40, 0x0001e44df, 0x06c1a52ae, 0x08002700a, 0x0b0ae8002, 0x06e0e486e, - 0x0804a6100, + 0x080466100, 0x0ff08242f, 0x00020588f, 0x020024fef, 0x010244e75, 0x0518f226f, 0x0000c2eae, - 0x0802641ef, + 0x0802a41ef, 0x000105888, 0x02f082f2f, 0x000144869, 0x010002f09, - 0x0610011a8, + 0x061001482, 0x02d6f0010, - 0x0802690af, + 0x0802a90af, 0x0001c4fef, 0x000184e75, - 0x041ef0004, - 0x058882f08, - 0x02f2f0008, - 0x0610000de, - 0x0508f4e75, - 0x0206f0004, - 0x0142f000b, - 0x067121218, - 0x0670ab202, - 0x066f82008, - 0x053804e75, - 0x042804e75, - 0x04a1866fc, - 0x020085380, - 0x04e75246f, - 0x00004226f, - 0x000081019, - 0x0670eb01a, - 0x067f86d04, + 0x0518f206f, + 0x0000c4282, + 0x042830c10, + 0x000206700, + 0x001000c10, + 0x000096700, + 0x000f80c10, + 0x0002d6700, + 0x000d60c10, + 0x0002b6700, + 0x000ce0c10, + 0x000306606, + 0x04a280001, + 0x066340c10, + 0x000306d06, + 0x00c100039, + 0x06f0c4a83, + 0x067024482, + 0x02002508f, + 0x04e752002, + 0x02202d281, + 0x0d281d081, + 0x0d0801218, + 0x049c1d081, + 0x090bc0000, + 0x000302400, + 0x060cc0c28, + 0x000780001, + 0x067240c28, + 0x000580001, + 0x0671c0c10, + 0x000306dc2, + 0x00c100037, + 0x06ebce782, + 0x0121849c1, + 0x0d48194bc, + 0x000000030, + 0x060e45488, + 0x00c100030, + 0x06d060c10, + 0x000396f32, + 0x00c100061, + 0x06d060c10, + 0x000666f36, + 0x00c100041, + 0x06d8c0c10, + 0x000466e86, + 0x0e9821218, + 0x049c1d481, + 0x094bc0000, + 0x000370c10, + 0x000306dd4, + 0x00c100039, + 0x06ecee982, + 0x0121849c1, + 0x0d48194bc, + 0x000000030, + 0x060b2e982, + 0x0121849c1, + 0x0d48194bc, + 0x000000057, + 0x060a20c18, + 0x0002d6602, + 0x076010c10, + 0x000206708, + 0x00c100009, + 0x06600ff20, + 0x0528860ee, + 0x052886000, + 0x0fef62f2f, + 0x000046100, + 0x0fee4588f, + 0x04e7541ef, + 0x000045888, + 0x02f082f2f, + 0x000086100, + 0x00216508f, + 0x04e75202f, + 0x0000c671a, + 0x0246f0004, + 0x0226f0008, + 0x0b30a6606, + 0x0538066f8, + 0x04e756d04, 0x070ff4e75, 0x070014e75, - 0x04a1266f8, - 0x042804e75, + 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, + 0x06de81521, + 0x02209c2bc, + 0x000000003, + 0x066f090bc, + 0x000000010, + 0x06d102521, + 0x025212521, + 0x0252190bc, + 0x000000010, + 0x06cf0d0bc, + 0x00000000f, + 0x06dbc1521, + 0x053806db6, + 0x060f84fef, + 0x0ffc04857, + 0x0610001f8, + 0x0206f0048, + 0x0b0fc0000, + 0x067044a10, + 0x06616486f, + 0x00004486e, + 0x0825e4878, + 0x000026100, + 0x0fd4c4fef, + 0x000504e75, + 0x0486f0004, + 0x02f08486e, + 0x082564878, + 0x000026100, + 0x0fd34588f, + 0x060e4206f, + 0x00004142f, + 0x0000b6712, + 0x01218670a, + 0x0b20266f8, + 0x020085380, + 0x04e754280, + 0x04e754a18, + 0x066fc2008, + 0x053804e75, 0x0246f0004, 0x0226f0008, - 0x014d966fc, - 0x0202f0004, - 0x04e75226f, - 0x000044a19, - 0x0670c2449, - 0x04a1966fc, - 0x093ca2009, - 0x04e757000, - 0x04e75598f, - 0x0222f0008, - 0x04a2f000f, - 0x0660e42a7, + 0x01019670e, + 0x0b01a67f8, + 0x06d0470ff, + 0x04e757001, + 0x04e754a12, + 0x066f84280, + 0x04e75246f, + 0x00004226f, + 0x0000814d9, + 0x066fc202f, + 0x000044e75, + 0x0226f0004, + 0x04a19670c, + 0x024494a19, + 0x066fc93ca, + 0x020094e75, + 0x070004e75, + 0x0242f000c, + 0x0226f0008, + 0x0206f0004, + 0x053826d06, + 0x01010b019, + 0x067164a82, + 0x06c044280, + 0x04e751010, + 0x049c01229, + 0x0ffff49c1, + 0x090814e75, + 0x04a1866dc, + 0x042804e75, + 0x0598f222f, + 0x000084a2f, + 0x0000f660e, + 0x042a72f01, + 0x06100ff48, + 0x04fef000c, + 0x04e754297, + 0x0102f000f, + 0x049c02f00, 0x02f016100, - 0x0ff7c4fef, - 0x0000c4e75, - 0x04297102f, - 0x0000f49c0, - 0x02f002f01, - 0x06100ff66, - 0x02200670a, - 0x02f400008, - 0x05281508f, - 0x060e4202f, - 0x000084fef, - 0x0000c4e75, - 0x070024e40, - 0x04e757015, + 0x0ff322200, + 0x0670a2f40, + 0x000085281, + 0x0508f60e4, + 0x0202f0008, + 0x04fef000c, + 0x04e757002, 0x04e404e75, - 0x070084e40, - 0x04e757004, + 0x070154e40, + 0x04e757008, 0x04e404e75, - 0x070164e40, - 0x04e757005, + 0x070044e40, + 0x04e757016, 0x04e404e75, - 0x070074e40, - 0x04e757009, + 0x070054e40, + 0x04e757007, 0x04e404e75, - 0x0700d4e40, - 0x04e75700e, + 0x070094e40, + 0x04e75700d, 0x04e404e75, - 0x0700f4e40, - 0x04e757011, + 0x0700e4e40, + 0x04e75700f, 0x04e404e75, - 0x070124e40, - 0x04e757014, + 0x070114e40, + 0x04e757012, 0x04e404e75, - 0x070014e40, - 0x04e75598f, - 0x0206f0008, - 0x04878001c, - 0x02f082f48, + 0x070144e40, + 0x04e754fef, + 0x0fff4206f, + 0x000141010, + 0x049c04a80, + 0x042e72f40, + 0x0000644df, + 0x0660a202f, + 0x000104fef, + 0x0000c4e75, + 0x02f086100, + 0x0fef82f40, + 0x000042f2f, 0x000082f2f, - 0x000146100, - 0x01e18701c, - 0x0d1af000c, - 0x04878001c, - 0x02f2f0010, + 0x000186100, + 0x0fe8e2200, + 0x04a81673a, + 0x02f2f000c, + 0x02f2f0024, + 0x02f012f41, + 0x000206100, + 0x0fee84a80, + 0x0660a202f, + 0x000204fef, + 0x000244e75, + 0x02f2f001c, 0x048770162, - 0x00020001c, - 0x061001dfe, - 0x0701cd1af, - 0x000184878, - 0x0001c2f2f, - 0x0001c4877, - 0x00162002c, - 0x000386100, - 0x01de4226f, - 0x00030206f, - 0x00024701c, - 0x0d1c04280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400054, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400058, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x02340005c, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400060, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400064, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x02340006c, - 0x050884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400070, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400072, - 0x054882008, - 0x090af002c, - 0x04fef0028, - 0x04e75598f, - 0x0226f000c, - 0x0206f0008, - 0x012984280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400004, - 0x054881011, - 0x049c07232, - 0x0b0016d10, - 0x07253b001, - 0x06e0a3036, - 0x00b208036, - 0x04efb0000, - 0x04280588f, - 0x04e754280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884878, - 0x0001e2f08, - 0x02f480008, - 0x048690022, - 0x061001c36, - 0x0206f000c, - 0x0701ed1c0, - 0x04fef000c, - 0x0202f0008, - 0x0d0af0010, - 0x0b0886608, - 0x0202f0010, - 0x0588f4e75, - 0x04280588f, - 0x04e754280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884878, + 0x000240001, + 0x06100fe58, + 0x022004a81, + 0x04fef0014, + 0x066c64280, + 0x04fef0018, + 0x04e757001, + 0x04e404e75, + 0x0598f206f, + 0x000084878, 0x0001c2f08, 0x02f480008, - 0x048690006, - 0x061001bea, + 0x02f2f0014, + 0x06100fd46, 0x0701cd1af, 0x0000c4878, - 0x000242f2f, + 0x0001c2f2f, 0x000104877, 0x001620020, - 0x000226100, - 0x01bd0206f, - 0x000187024, - 0x0d1c04fef, - 0x000186098, + 0x0001c6100, + 0x0fd2c701c, + 0x0d1af0018, + 0x04878001c, + 0x02f2f001c, + 0x048770162, + 0x0002c0038, + 0x06100fd12, + 0x0226f0030, + 0x0206f0024, + 0x0701cd1c0, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000545888, 0x042801010, 0x042811228, 0x00001e181, - 0x080813340, - 0x000025488, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000585888, 0x042801010, 0x042811228, 0x00001e181, @@ -1485,7 +1950,7 @@ ulong bootcode[]={ 0x012280003, 0x07418e5a1, 0x080812340, - 0x000085888, + 0x0005c5888, 0x042801010, 0x042811228, 0x00001e181, @@ -1496,101 +1961,97 @@ ulong bootcode[]={ 0x012280003, 0x07418e5a1, 0x080812340, - 0x0000c5888, - 0x06000ff2a, + 0x000605888, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000645888, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x0006c5088, 0x042801010, 0x042811228, 0x00001e181, 0x080813340, - 0x000025488, + 0x000705488, 0x042801010, 0x042811228, 0x00001e181, 0x080813340, - 0x0000a5488, - 0x04878001c, + 0x000725488, + 0x0200890af, + 0x0002c4fef, + 0x000284e75, + 0x0598f226f, + 0x0000c206f, + 0x000081298, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000045488, + 0x0101149c0, + 0x07232b001, + 0x06d107253, + 0x0b0016e0a, + 0x030360b20, + 0x082024efb, + 0x000004280, + 0x0588f4e75, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x04878001e, 0x02f082f48, 0x000084869, - 0x0000c6100, - 0x01b18206f, - 0x0000c701c, + 0x000226100, + 0x0fb64206f, + 0x0000c701e, 0x0d1c04fef, - 0x0000c6000, - 0x0fee04280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054886000, - 0x0fec84280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884878, - 0x000742f08, - 0x02f480008, - 0x048690006, - 0x061001aca, - 0x0206f000c, - 0x07074d1c0, - 0x04fef000c, - 0x06000fe92, + 0x0000c202f, + 0x00008d0af, + 0x00010b088, + 0x06608202f, + 0x00010588f, + 0x04e754280, + 0x0588f4e75, 0x042801010, 0x042811228, 0x00001e181, 0x080813340, 0x000025488, - 0x048780074, + 0x04878001c, 0x02f082f48, 0x000084869, 0x000066100, - 0x01a94206f, - 0x0000c7074, - 0x0d1c04fef, - 0x0000c6000, - 0x0fe5c4280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054886000, - 0x0fe444280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054886000, - 0x0fe2c4280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054886000, - 0x0fe144280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054886000, - 0x0fdfc4280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054886000, - 0x0fde44280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x02340000a, - 0x054886000, - 0x0fdb84280, + 0x0fb18701c, + 0x0d1af000c, + 0x048780024, + 0x02f2f0010, + 0x048770162, + 0x000200022, + 0x06100fafe, + 0x0206f0018, + 0x07024d1c0, + 0x04fef0018, + 0x060984280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1605,36 +2066,8 @@ ulong bootcode[]={ 0x042811228, 0x000037418, 0x0e5a18081, - 0x023400006, - 0x050884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x02340000a, - 0x054885288, - 0x02348000e, - 0x02029000a, - 0x0d1c06000, - 0x0fd544280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x02340000a, - 0x054885288, - 0x02348000e, - 0x02029000a, - 0x0d1c06000, - 0x0fd1c4280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884280, + 0x023400008, + 0x058884280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1644,14 +2077,9 @@ ulong bootcode[]={ 0x042811228, 0x000037418, 0x0e5a18081, - 0x023400006, - 0x050884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x02340000a, - 0x054886000, - 0x0fcc44280, + 0x02340000c, + 0x058886000, + 0x0ff2a4280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1660,38 +2088,134 @@ ulong bootcode[]={ 0x010104281, 0x012280001, 0x0e1818081, + 0x03340000a, + 0x054884878, + 0x0001c2f08, + 0x02f480008, + 0x04869000c, + 0x06100fa46, + 0x0206f000c, + 0x0701cd1c0, + 0x04fef000c, + 0x06000fee0, + 0x042801010, 0x042811228, - 0x000027410, - 0x0e5a18081, - 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x023400008, - 0x058884280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x042811228, - 0x000027410, - 0x0e5a18081, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x06000fec8, + 0x042801010, 0x042811228, - 0x000037418, - 0x0e5a18081, - 0x02340000c, - 0x058886000, - 0x0fc544280, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x048780074, + 0x02f082f48, + 0x000084869, + 0x000066100, + 0x0f9f8206f, + 0x0000c7074, + 0x0d1c04fef, + 0x0000c6000, + 0x0fe924280, 0x010104281, 0x012280001, 0x0e1818081, 0x033400002, 0x054884878, - 0x0001c2f08, + 0x000742f08, 0x02f480008, - 0x04869000c, - 0x061001856, - 0x0226f0018, + 0x048690006, + 0x06100f9c2, 0x0206f000c, - 0x0701cd1c0, + 0x07074d1c0, + 0x04fef000c, + 0x06000fe5c, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x06000fe44, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x06000fe2c, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x06000fe14, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x06000fdfc, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x06000fde4, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080812340, + 0x0000a5488, + 0x06000fdb8, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000065088, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080812340, + 0x0000a5488, + 0x052882348, + 0x0000e2029, + 0x0000ad1c0, + 0x06000fd54, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080812340, + 0x0000a5488, + 0x052882348, + 0x0000e2029, + 0x0000ad1c0, + 0x06000fd1c, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, 0x042801010, 0x042811228, 0x00001e181, @@ -1702,10 +2226,13 @@ ulong bootcode[]={ 0x012280003, 0x07418e5a1, 0x080812340, - 0x000065888, - 0x013580028, - 0x04fef000c, - 0x06000fbea, + 0x000065088, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080812340, + 0x0000a5488, + 0x06000fcc4, 0x042801010, 0x042811228, 0x00001e181, @@ -1733,15 +2260,7 @@ ulong bootcode[]={ 0x07418e5a1, 0x080812340, 0x0000c5888, - 0x06000fb7a, - 0x042801010, - 0x042811228, - 0x00001e181, - 0x080813340, - 0x000025488, - 0x013580028, - 0x06000fb5e, - 0x06000fbc2, + 0x06000fc54, 0x042801010, 0x042811228, 0x00001e181, @@ -1751,28 +2270,24 @@ ulong bootcode[]={ 0x02f082f48, 0x000084869, 0x0000c6100, - 0x0175c206f, + 0x0f784226f, + 0x00018206f, 0x0000c701c, - 0x0d1c04fef, - 0x0000c6000, - 0x0fb244280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054886000, - 0x0fb0c4280, - 0x010104281, - 0x012280001, - 0x0e1818081, - 0x033400002, - 0x054884280, + 0x0d1c04280, 0x010104281, 0x012280001, 0x0e1818081, - 0x03340000a, - 0x054886000, - 0x0fae04280, + 0x042811228, + 0x000027410, + 0x0e5a18081, + 0x042811228, + 0x000037418, + 0x0e5a18081, + 0x023400006, + 0x058881358, + 0x000284fef, + 0x0000c6000, + 0x0fbea4280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1800,7 +2315,15 @@ ulong bootcode[]={ 0x0e5a18081, 0x02340000c, 0x058886000, - 0x0fa704280, + 0x0fb7a4280, + 0x010104281, + 0x012280001, + 0x0e1818081, + 0x033400002, + 0x054881358, + 0x000286000, + 0x0fb5e6000, + 0x0fbc24280, 0x010104281, 0x012280001, 0x0e1818081, @@ -1808,147 +2331,219 @@ ulong bootcode[]={ 0x054884878, 0x0001c2f08, 0x02f480008, - 0x048690006, - 0x061001672, - 0x0701cd1af, - 0x0000c4878, - 0x0001c2f2f, - 0x000104877, - 0x001620020, - 0x000226100, - 0x01658701c, - 0x0d1af0018, - 0x04878001c, - 0x02f2f001c, - 0x048770162, - 0x0002c003e, - 0x06100163e, - 0x0206f0024, + 0x04869000c, + 0x06100f68a, + 0x0206f000c, 0x0701cd1c0, - 0x04fef0024, - 0x06000fa06, - 0x06000fa02, + 0x04fef000c, + 0x06000fb24, 0x042801010, 0x042811228, 0x00001e181, 0x080813340, - 0x000065488, - 0x06000f9ea, - 0x048780040, + 0x000025488, + 0x06000fb0c, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x0000a5488, + 0x06000fae0, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x000085888, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080814281, + 0x012280002, + 0x07410e5a1, + 0x080814281, + 0x012280003, + 0x07418e5a1, + 0x080812340, + 0x0000c5888, + 0x06000fa70, + 0x042801010, + 0x042811228, + 0x00001e181, + 0x080813340, + 0x000025488, + 0x04878001c, 0x02f082f48, 0x000084869, 0x000066100, - 0x01600206f, - 0x0000c7040, + 0x0f5a0701c, + 0x0d1af000c, + 0x04878001c, + 0x02f2f0010, + 0x048770162, + 0x000200022, + 0x06100f586, + 0x0701cd1af, + 0x000184878, + 0x0001c2f2f, + 0x0001c4877, + 0x00162002c, + 0x0003e6100, + 0x0f56c206f, + 0x00024701c, 0x0d1c04fef, - 0x0000c6000, - 0x0f9c86000, - 0x0f9c46000, - 0x0f9c06000, - 0x0f9bc6000, - 0x0f9b8598f, - 0x0226f0008, - 0x0206f000c, - 0x010d13029, - 0x000041080, - 0x042803029, - 0x00004e088, - 0x011400001, - 0x054881011, - 0x049c07232, - 0x0b0016d10, - 0x07253b001, - 0x06e0a3036, - 0x00b20807a, - 0x04efb0000, - 0x04280588f, - 0x04e753029, - 0x000021080, - 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054884878, - 0x0001e4869, - 0x000222f08, - 0x02f48000c, - 0x06100157a, + 0x000246000, + 0x0fa066000, + 0x0fa024280, + 0x010104281, + 0x012280001, + 0x0e1818081, + 0x033400006, + 0x054886000, + 0x0f9ea4878, + 0x000402f08, + 0x02f480008, + 0x048690006, + 0x06100f52e, 0x0206f000c, - 0x0701ed1c0, + 0x07040d1c0, 0x04fef000c, - 0x0200890af, - 0x0000c588f, - 0x04e753029, - 0x000021080, + 0x06000f9c8, + 0x06000f9c4, + 0x06000f9c0, + 0x06000f9bc, + 0x06000f9b8, + 0x0598f226f, + 0x00008206f, + 0x0000c10d1, + 0x030290004, + 0x010804280, + 0x030290004, + 0x0e0881140, + 0x000015488, + 0x0101149c0, + 0x07232b001, + 0x06d107253, + 0x0b0016e0a, + 0x030360b20, + 0x082464efb, + 0x000004280, + 0x0588f4e75, 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054884878, - 0x0001c4869, - 0x000062f08, - 0x02f48000c, - 0x06100153e, - 0x0701cd1af, - 0x0000c4878, - 0x000244877, - 0x001620018, - 0x000222f2f, - 0x000146100, - 0x01524206f, - 0x000187024, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x04878001e, + 0x048690022, + 0x02f082f48, + 0x0000c6100, + 0x0f4a8206f, + 0x0000c701e, 0x0d1c04fef, - 0x0001860a8, + 0x0000c2008, + 0x090af000c, + 0x0588f4e75, 0x030290002, 0x010803029, 0x0000248c0, 0x0e0801140, 0x000015488, - 0x020290008, - 0x010802029, - 0x00008e088, + 0x04878001c, + 0x048690006, + 0x02f082f48, + 0x0000c6100, + 0x0f46c701c, + 0x0d1af000c, + 0x048780024, + 0x048770162, + 0x000180022, + 0x02f2f0014, + 0x06100f452, + 0x0206f0018, + 0x07024d1c0, + 0x04fef0018, + 0x060a83029, + 0x000021080, + 0x030290002, + 0x048c0e080, 0x011400001, + 0x054882029, + 0x000081080, 0x020290008, - 0x07210e2a8, - 0x011400002, - 0x020290008, - 0x07218e2a8, - 0x011400003, - 0x058882029, - 0x0000c1080, - 0x02029000c, 0x0e0881140, 0x000012029, - 0x0000c7210, + 0x000087210, 0x0e2a81140, 0x000022029, - 0x0000c7218, + 0x000087218, 0x0e2a81140, 0x000035888, - 0x06000ff3e, + 0x02029000c, + 0x010802029, + 0x0000ce088, + 0x011400001, + 0x02029000c, + 0x07210e2a8, + 0x011400002, + 0x02029000c, + 0x07218e2a8, + 0x011400003, + 0x058886000, + 0x0ff3e3029, + 0x000021080, + 0x030290002, + 0x048c0e080, + 0x011400001, + 0x054883029, + 0x0000a1080, + 0x03029000a, + 0x048c0e080, + 0x011400001, + 0x054884878, + 0x0001c4869, + 0x0000c2f08, + 0x02f48000c, + 0x06100f39e, + 0x0206f000c, + 0x0701cd1c0, + 0x04fef000c, + 0x06000fef4, 0x030290002, 0x010803029, 0x0000248c0, 0x0e0801140, 0x000015488, - 0x03029000a, + 0x06000fedc, + 0x030290002, 0x010803029, - 0x0000a48c0, + 0x0000248c0, 0x0e0801140, 0x000015488, - 0x04878001c, - 0x04869000c, + 0x048780074, + 0x048690006, 0x02f082f48, 0x0000c6100, - 0x01470206f, - 0x0000c701c, + 0x0f350206f, + 0x0000c7074, 0x0d1c04fef, 0x0000c6000, - 0x0fef43029, - 0x000021080, - 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054886000, - 0x0fedc3029, + 0x0fea63029, 0x000021080, 0x030290002, 0x048c0e080, @@ -1957,65 +2552,106 @@ ulong bootcode[]={ 0x000744869, 0x000062f08, 0x02f48000c, - 0x061001422, + 0x06100f31a, 0x0206f000c, 0x07074d1c0, 0x04fef000c, - 0x06000fea6, + 0x06000fe70, 0x030290002, 0x010803029, 0x0000248c0, 0x0e0801140, 0x000015488, - 0x048780074, - 0x048690006, - 0x02f082f48, - 0x0000c6100, - 0x013ec206f, - 0x0000c7074, - 0x0d1c04fef, - 0x0000c6000, - 0x0fe703029, - 0x000021080, - 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054886000, - 0x0fe583029, - 0x000021080, + 0x06000fe58, 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054886000, - 0x0fe403029, - 0x000021080, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x06000fe40, 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054886000, - 0x0fe283029, - 0x000021080, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x06000fe28, 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054886000, - 0x0fe103029, - 0x000021080, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x06000fe10, 0x030290002, - 0x048c0e080, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x06000fdf8, + 0x030290002, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x02029000a, + 0x010802029, + 0x0000ae080, 0x011400001, 0x054886000, - 0x0fdf83029, + 0x0fdce3029, 0x000021080, 0x030290002, 0x048c0e080, 0x011400001, 0x054882029, - 0x0000a1080, + 0x000061080, + 0x020290006, + 0x0e0801140, + 0x000012029, + 0x000067210, + 0x0e2a01140, + 0x000022029, + 0x000067218, + 0x0e2a01140, + 0x000034228, + 0x000044228, + 0x000054228, + 0x000064228, + 0x000075088, 0x02029000a, + 0x010802029, + 0x0000ae080, + 0x011400001, + 0x054885288, + 0x02f29000a, + 0x02f29000e, + 0x02f082f48, + 0x0000c6100, + 0x0f1f4206f, + 0x0000c2037, + 0x001620014, + 0x0000ad1c0, + 0x04fef000c, + 0x06000fd44, + 0x030290002, + 0x010803029, + 0x0000248c0, 0x0e0801140, 0x000015488, - 0x06000fdce, + 0x02029000a, + 0x010802029, + 0x0000ae080, + 0x011400001, + 0x054885288, + 0x02f29000a, + 0x02f29000e, + 0x02f082f48, + 0x0000c6100, + 0x0f1a4206f, + 0x0000c2037, + 0x001620014, + 0x0000ad1c0, + 0x04fef000c, + 0x06000fcf4, 0x030290002, 0x010803029, 0x0000248c0, @@ -2040,42 +2676,47 @@ ulong bootcode[]={ 0x02029000a, 0x0e0801140, 0x000015488, - 0x052882f29, - 0x0000a2f29, - 0x0000e2f08, - 0x02f48000c, - 0x0610012c6, - 0x0206f000c, - 0x020370162, - 0x00014000a, - 0x0d1c04fef, - 0x0000c6000, - 0x0fd443029, - 0x000021080, + 0x06000fc90, 0x030290002, - 0x048c0e080, - 0x011400001, - 0x054882029, - 0x0000a1080, - 0x02029000a, + 0x010803029, + 0x0000248c0, 0x0e0801140, 0x000015488, - 0x052882f29, - 0x0000a2f29, - 0x0000e2f08, - 0x02f48000c, - 0x061001276, - 0x0206f000c, - 0x020370162, - 0x00014000a, - 0x0d1c04fef, - 0x0000c6000, - 0x0fcf43029, - 0x000021080, - 0x030290002, - 0x048c0e080, + 0x020290008, + 0x010802029, + 0x00008e088, 0x011400001, - 0x054882029, + 0x020290008, + 0x07210e2a8, + 0x011400002, + 0x020290008, + 0x07218e2a8, + 0x011400003, + 0x058882029, + 0x0000c1080, + 0x02029000c, + 0x0e0881140, + 0x000012029, + 0x0000c7210, + 0x0e2a81140, + 0x000022029, + 0x0000c7218, + 0x0e2a81140, + 0x000035888, + 0x06000fc24, + 0x030290002, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x04878001c, + 0x04869000c, + 0x02f082f48, + 0x0000c6100, + 0x0f098226f, + 0x00014206f, + 0x0000c701c, + 0x0d1c02029, 0x000061080, 0x020290006, 0x0e0801140, @@ -2085,70 +2726,76 @@ ulong bootcode[]={ 0x000022029, 0x000067218, 0x0e2a01140, - 0x000034228, - 0x000044228, - 0x000054228, - 0x000064228, - 0x000075088, - 0x02029000a, - 0x010802029, - 0x0000ae080, - 0x011400001, - 0x054886000, - 0x0fc903029, - 0x000021080, + 0x000035888, + 0x010e90028, + 0x04fef000c, + 0x06000fbbc, 0x030290002, - 0x048c0e080, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x020290008, + 0x010802029, + 0x00008e088, 0x011400001, - 0x054882029, - 0x000081080, 0x020290008, + 0x07210e2a8, + 0x011400002, + 0x020290008, + 0x07218e2a8, + 0x011400003, + 0x058882029, + 0x0000c1080, + 0x02029000c, 0x0e0881140, 0x000012029, - 0x000087210, + 0x0000c7210, 0x0e2a81140, 0x000022029, - 0x000087218, + 0x0000c7218, 0x0e2a81140, 0x000035888, - 0x02029000c, - 0x010802029, - 0x0000ce088, + 0x06000fb50, + 0x030290002, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x010e90028, + 0x06000fb34, + 0x06000fb88, + 0x030290002, + 0x010803029, + 0x0000248c0, + 0x0e0801140, + 0x000015488, + 0x04878001c, + 0x04869000c, + 0x02f082f48, + 0x0000c6100, + 0x0efa4206f, + 0x0000c701c, + 0x0d1c04fef, + 0x0000c6000, + 0x0fafa3029, + 0x000021080, + 0x030290002, + 0x048c0e080, 0x011400001, - 0x02029000c, - 0x07210e2a8, - 0x011400002, - 0x02029000c, - 0x07218e2a8, - 0x011400003, - 0x058886000, - 0x0fc243029, + 0x054886000, + 0x0fae23029, 0x000021080, 0x030290002, 0x048c0e080, 0x011400001, - 0x054884878, - 0x0001c4869, - 0x0000c2f08, - 0x02f48000c, - 0x06100116a, - 0x0226f0014, - 0x0206f000c, - 0x0701cd1c0, - 0x020290006, - 0x010802029, - 0x00006e080, + 0x054883029, + 0x0000a1080, + 0x03029000a, + 0x048c0e080, 0x011400001, - 0x020290006, - 0x07210e2a0, - 0x011400002, - 0x020290006, - 0x07218e2a0, - 0x011400003, - 0x0588810e9, - 0x000284fef, - 0x0000c6000, - 0x0fbbc3029, + 0x054886000, + 0x0fab63029, 0x000021080, 0x030290002, 0x048c0e080, @@ -2175,1117 +2822,1012 @@ ulong bootcode[]={ 0x07218e2a8, 0x011400003, 0x058886000, - 0x0fb503029, - 0x000021080, - 0x030290002, - 0x048c0e080, - 0x011400001, - 0x0548810e9, - 0x000286000, - 0x0fb346000, - 0x0fb883029, + 0x0fa4a3029, 0x000021080, 0x030290002, 0x048c0e080, 0x011400001, 0x054884878, 0x0001c4869, - 0x0000c2f08, + 0x000062f08, 0x02f48000c, - 0x061001076, - 0x0206f000c, - 0x0701cd1c0, - 0x04fef000c, - 0x06000fafa, - 0x030290002, - 0x010803029, - 0x0000248c0, - 0x0e0801140, - 0x000015488, - 0x06000fae2, - 0x030290002, - 0x010803029, - 0x0000248c0, - 0x0e0801140, - 0x000015488, - 0x03029000a, - 0x010803029, - 0x0000a48c0, - 0x0e0801140, - 0x000015488, - 0x06000fab6, - 0x030290002, - 0x010803029, - 0x0000248c0, - 0x0e0801140, - 0x000015488, - 0x020290008, - 0x010802029, - 0x00008e088, - 0x011400001, - 0x020290008, - 0x07210e2a8, - 0x011400002, - 0x020290008, - 0x07218e2a8, - 0x011400003, - 0x058882029, - 0x0000c1080, - 0x02029000c, - 0x0e0881140, - 0x000012029, - 0x0000c7210, - 0x0e2a81140, - 0x000022029, - 0x0000c7218, - 0x0e2a81140, - 0x000035888, - 0x06000fa4a, - 0x030290002, - 0x010803029, - 0x0000248c0, - 0x0e0801140, + 0x06100eebe, + 0x0701cd1af, + 0x0000c4878, + 0x0001c4877, + 0x001620018, + 0x000222f2f, + 0x000146100, + 0x0eea4701c, + 0x0d1af0018, + 0x04878001c, + 0x048770162, + 0x00024003e, + 0x02f2f0020, + 0x06100ee8a, + 0x0206f0024, + 0x0701cd1c0, + 0x04fef0024, + 0x06000f9e0, + 0x06000f9dc, + 0x030290006, + 0x010804280, + 0x030290006, + 0x0e0881140, 0x000015488, - 0x04878001c, + 0x06000f9c4, + 0x048780040, 0x048690006, 0x02f082f48, 0x0000c6100, - 0x00f90701c, - 0x0d1af000c, - 0x04878001c, - 0x048770162, - 0x000180022, - 0x02f2f0014, - 0x061000f76, - 0x0701cd1af, - 0x000184878, - 0x0001c4877, - 0x001620024, - 0x0003e2f2f, - 0x000206100, - 0x00f5c206f, - 0x00024701c, + 0x0ee4c206f, + 0x0000c7040, 0x0d1c04fef, - 0x000246000, - 0x0f9e06000, - 0x0f9dc3029, - 0x000061080, - 0x042803029, - 0x00006e088, - 0x011400001, - 0x054886000, - 0x0f9c44878, - 0x000404869, - 0x000062f08, - 0x02f48000c, - 0x061000f1e, - 0x0206f000c, - 0x07040d1c0, - 0x04fef000c, - 0x06000f9a2, - 0x06000f99e, - 0x06000f99a, - 0x06000f996, - 0x06000f992, - 0x04fefff8c, - 0x048572f2f, - 0x0007c6100, - 0x0f0b072ff, - 0x0b2806608, - 0x070ff4fef, - 0x0007c4e75, - 0x02f2f0084, - 0x0486f000c, - 0x06100f0a8, - 0x042804fef, - 0x000844e75, - 0x02d7c0000, - 0x04a9486de, + 0x0000c6000, + 0x0f9a26000, + 0x0f99e6000, + 0x0f99a6000, + 0x0f9966000, + 0x0f9924fef, + 0x0ff8c4857, + 0x02f2f007c, + 0x06100f030, + 0x072ffb280, + 0x0660870ff, + 0x04fef007c, + 0x04e752f2f, + 0x00084486f, + 0x0000c6100, + 0x0f0a84280, + 0x04fef0084, + 0x04e752d7c, + 0x0000053aa, + 0x0811a1d7c, + 0x000019dd1, 0x01d7c0001, - 0x099d51d7c, - 0x0000199d7, + 0x09dd31d7c, + 0x000019dc9, 0x01d7c0001, - 0x099cd1d7c, - 0x000019a12, + 0x09e0e1d7c, + 0x000019e12, 0x01d7c0001, - 0x09a161d7c, - 0x000019a1f, - 0x02d7c0000, - 0x0470486e2, + 0x09e1b2d7c, + 0x00000501a, + 0x0811e1d7c, + 0x000029e0a, 0x01d7c0002, - 0x09a0e1d7c, - 0x000029a19, + 0x09e151d7c, + 0x000029e1e, 0x01d7c0002, - 0x09a221d7c, - 0x000029a02, - 0x02d7c0000, - 0x04ae686e6, + 0x09dfe2d7c, + 0x0000053fc, + 0x081221d7c, + 0x000039e0b, 0x01d7c0003, - 0x09a0f1d7c, - 0x000039a10, + 0x09e0c1d7c, + 0x000039e0d, 0x01d7c0003, - 0x09a111d7c, - 0x0000399ef, - 0x01d7c0003, - 0x099f12d7c, - 0x000004a36, - 0x086ea1d7c, - 0x000049a0d, + 0x09deb1d7c, + 0x000039ded, 0x02d7c0000, - 0x04a5c86ee, - 0x01d7c0005, - 0x09a1d2d7c, - 0x000004a7a, - 0x086f21d7c, - 0x0000699cf, - 0x070072d40, - 0x080164878, - 0x000804878, - 0x00001486e, - 0x098126100, - 0x00eba422e, - 0x09812422e, - 0x0981b422e, - 0x0981c422e, - 0x098374fef, - 0x0000c4e75, - 0x04aae8016, - 0x066046100, - 0x0ff30022f, - 0x0007f0007, - 0x07028b0ae, - 0x080166e04, - 0x070014e75, - 0x0202e8016, - 0x0122f0007, - 0x049c11d80, - 0x0192099aa, - 0x052ae8016, - 0x0122f0007, - 0x049c11036, - 0x0192099aa, - 0x049c02daf, - 0x000080d20, - 0x086da4280, - 0x04e754fef, - 0x0ffe42a2f, - 0x0002c226f, - 0x000282f6e, - 0x080120004, - 0x02eae8022, - 0x0266f0020, - 0x0202f0024, - 0x053802d40, - 0x08022282e, - 0x08022988b, - 0x042822002, - 0x0b4846c16, - 0x010312910, - 0x049c02600, - 0x0707fc083, - 0x04a360920, - 0x098126600, - 0x00186d3c2, - 0x0d7c22d4b, - 0x080122002, - 0x0d5ae8026, - 0x0101949c0, - 0x024007025, - 0x0b082675e, - 0x04a826626, - 0x0b7ee8022, - 0x06506266e, - 0x08022538b, - 0x0b7ee8022, - 0x064024213, - 0x02d6f0004, - 0x080122d57, - 0x08022200b, - 0x04fef001c, - 0x04e75b7ee, - 0x080226402, - 0x016c252ae, - 0x08026700a, - 0x0b0826606, - 0x042ae8026, - 0x060807009, - 0x0b0826600, - 0x0ff7a7007, - 0x0d0ae8026, - 0x0c0bcffff, - 0x0fff82d40, - 0x080266000, - 0x0ff66347c, - 0x0fc182f7c, - 0x0fffffc18, - 0x0001442af, - 0x000101019, + 0x0534c8126, + 0x01d7c0004, + 0x09e092d7c, + 0x000005372, + 0x0812a1d7c, + 0x000059e19, + 0x02d7c0000, + 0x05390812e, + 0x01d7c0006, + 0x09dcb7007, + 0x02d40800a, + 0x048780080, + 0x048780001, + 0x0486e9d0a, + 0x061000e1c, + 0x0422e9d0a, + 0x0422e9d13, + 0x0422e9d14, + 0x0422e9d2f, + 0x04fef000c, + 0x04e754aae, + 0x0800a6604, + 0x06100ff30, + 0x0022f007f, + 0x000077028, + 0x0b0ae800a, + 0x06e047001, + 0x04e75202e, + 0x0800a122f, + 0x0000749c1, + 0x01d801920, + 0x09da652ae, + 0x0800a122f, + 0x0000749c1, + 0x010361920, + 0x09da649c0, + 0x02daf0008, + 0x00d208116, + 0x042804e75, + 0x04fefffe4, + 0x02a2f002c, + 0x0226f0028, + 0x02f6e801a, + 0x000042eae, + 0x0802e266f, + 0x00020202f, + 0x000245380, + 0x02d40802e, + 0x0282e802e, + 0x0988b4282, + 0x02002b484, + 0x06c161031, + 0x0291049c0, + 0x02600707f, + 0x0c0834a36, + 0x009209d0a, + 0x066000186, + 0x0d3c2d7c2, + 0x02d4b801a, + 0x02002d5ae, + 0x0802a1019, 0x049c02400, - 0x02f490028, - 0x04a826606, - 0x053896000, - 0x0ff42702e, - 0x0b0826610, - 0x0b4fcfc18, - 0x06604347c, - 0x0000042af, - 0x0001460d6, - 0x07031b082, - 0x06e467039, - 0x0b0826d40, - 0x042837030, - 0x0b0826e06, - 0x07039b082, - 0x06c10b4fc, - 0x0fc186604, - 0x0244360bc, - 0x02f430014, - 0x060b62003, - 0x02203d281, - 0x0d281d081, - 0x0d080d082, - 0x090bc0000, - 0x000302600, + 0x07025b082, + 0x0675e4a82, + 0x06626b7ee, + 0x0802e6506, + 0x0266e802e, + 0x0538bb7ee, + 0x0802e6402, + 0x042132d6f, + 0x00004801a, + 0x02d57802e, + 0x0200b4fef, + 0x0001c4e75, + 0x0b7ee802e, + 0x0640216c2, + 0x052ae802a, + 0x0700ab082, + 0x0660642ae, + 0x0802a6080, + 0x07009b082, + 0x06600ff7a, + 0x07007d0ae, + 0x0802ac0bc, + 0x0fffffff8, + 0x02d40802a, + 0x06000ff66, + 0x0347cfc18, + 0x02f7cffff, + 0x0fc180014, + 0x042af0010, 0x0101949c0, 0x024002f49, - 0x0002860c2, + 0x000284a82, + 0x066065389, + 0x06000ff42, + 0x0702eb082, + 0x06610b4fc, + 0x0fc186604, + 0x0347c0000, + 0x042af0014, + 0x060d67031, + 0x0b0826e46, + 0x07039b082, + 0x06d404283, 0x07030b082, - 0x06606b4fc, - 0x0fc1866b4, - 0x0702ab082, - 0x0661c2430, - 0x059905885, - 0x02005b4fc, - 0x0fc186606, - 0x024426000, - 0x0ff662f42, + 0x06e067039, + 0x0b0826c10, + 0x0b4fcfc18, + 0x066042443, + 0x060bc2f43, + 0x0001460b6, + 0x020032203, + 0x0d281d281, + 0x0d081d080, + 0x0d08290bc, + 0x000000030, + 0x026001019, + 0x049c02400, + 0x02f490028, + 0x060c27030, + 0x0b0826606, + 0x0b4fcfc18, + 0x066b4702a, + 0x0b082661c, + 0x024305990, + 0x058852005, + 0x0b4fcfc18, + 0x066062442, + 0x06000ff66, + 0x02f420014, + 0x06000ff5e, + 0x0c4bc0000, + 0x0007f2f02, + 0x02f2f0014, + 0x02f2f001c, + 0x02f0a2f4a, + 0x000282f05, + 0x02f450040, + 0x010362920, + 0x09da649c0, + 0x020760d20, + 0x081164e90, + 0x02a2f0040, + 0x0266e801a, + 0x0246f002c, + 0x0226f003c, + 0x04a806c0e, + 0x0448081af, + 0x000244fef, 0x000146000, - 0x0ff5ec4bc, - 0x00000007f, - 0x02f022f2f, - 0x000142f2f, - 0x0001c2f0a, - 0x02f4a0028, - 0x02f052f45, - 0x000401036, - 0x0292099aa, - 0x049c02076, - 0x00d2086da, - 0x04e902a2f, - 0x00040266e, - 0x08012246f, - 0x0002c226f, - 0x0003c4a80, - 0x06c0e4480, - 0x081af0024, + 0x0ff10da80, 0x04fef0014, - 0x06000ff10, - 0x0da804fef, - 0x000146000, - 0x0fe5a1783, - 0x029105282, - 0x06000fe58, - 0x0222f0008, - 0x00c81ffff, - 0x0fc186708, - 0x07002c0af, - 0x000106614, + 0x06000fe5a, + 0x017832910, + 0x052826000, + 0x0fe58222f, + 0x000080c81, + 0x0fffffc18, + 0x067087002, + 0x0c0af0010, + 0x066142f2f, + 0x0000c2f01, 0x02f2f000c, - 0x02f012f2f, - 0x0000c6100, - 0x0020e4fef, - 0x0000c4e75, - 0x0448160e8, - 0x04fefffbc, - 0x0242f0058, - 0x0226f0048, - 0x0206f0050, - 0x02e2f0054, - 0x02a174284, - 0x0367c0000, - 0x02c02726f, - 0x0b4816d00, - 0x001c86e00, - 0x001a47c08, - 0x0347c0000, - 0x07078c087, - 0x07228b081, - 0x06d000156, - 0x06e00011c, - 0x028117004, - 0x02f400014, - 0x07020c087, - 0x066064a84, - 0x06d0000fe, - 0x0422f0041, - 0x0741c7040, - 0x0c0876700, - 0x000da2005, - 0x04c460801, - 0x026017030, - 0x0d6807039, - 0x0b0836c04, - 0x07027d680, - 0x022021f83, + 0x06100020e, + 0x04fef000c, + 0x04e754481, + 0x060e84fef, + 0x0ffbc242f, + 0x00058226f, + 0x00048206f, + 0x000502e2f, + 0x000542a17, + 0x04284367c, + 0x000002c02, + 0x0726fb481, + 0x06d0001c8, + 0x06e0001a4, + 0x07c08347c, + 0x000007078, + 0x0c0877228, + 0x0b0816d00, + 0x001566e00, + 0x0011c2811, + 0x070042f40, + 0x000147020, + 0x0c0876606, + 0x04a846d00, + 0x000fe422f, + 0x00041741c, + 0x07040c087, + 0x0670000da, + 0x020054c46, + 0x008012601, + 0x07030d680, + 0x07039b083, + 0x06c047027, + 0x0d6802202, + 0x01f832920, + 0x000247002, + 0x0b0826f7c, + 0x07004c087, + 0x0671a0c37, + 0x000302920, + 0x000246710, + 0x07008b086, + 0x066385382, + 0x01fbc0030, + 0x029200024, + 0x0b4fc0000, + 0x0670a5382, + 0x01fbc002d, 0x029200024, - 0x07002b082, - 0x06f7c7004, - 0x0c087671a, - 0x00c370030, + 0x02f074878, + 0x0fc182f2f, + 0x000544877, + 0x029200030, + 0x06100ff0c, + 0x0202f0024, + 0x04fef0054, + 0x04e757010, + 0x0b08666cc, + 0x0b6fc0000, + 0x067165382, + 0x01fbc0058, 0x029200024, - 0x067107008, - 0x0b0866638, 0x053821fbc, 0x000302920, - 0x00024b4fc, - 0x00000670a, + 0x0002460b0, 0x053821fbc, - 0x0002d2920, - 0x000242f07, - 0x04878fc18, - 0x02f2f0054, - 0x048772920, - 0x000306100, - 0x0ff0c202f, - 0x000244fef, - 0x000544e75, - 0x07010b086, - 0x066ccb6fc, - 0x000006716, - 0x053821fbc, - 0x000582920, - 0x000245382, - 0x01fbc0030, - 0x029200024, - 0x060b05382, - 0x01fbc0078, - 0x029200024, - 0x060e87040, - 0x0c087673e, - 0x020054c46, - 0x008012a00, - 0x0b0fcfc18, - 0x06708701e, - 0x09088b082, - 0x06f127040, - 0x0c0876706, - 0x04a856f00, - 0x0ff5e4a84, - 0x06f00ff58, - 0x053827040, - 0x0c0876600, - 0x0ff2a2004, - 0x04c460001, - 0x026016000, - 0x0ff262004, - 0x04c460001, - 0x0280060c0, - 0x04484347c, - 0x000016000, - 0x0fefc7230, - 0x0b280671e, - 0x07248b280, - 0x0670c2811, + 0x000782920, + 0x0002460e8, + 0x07040c087, + 0x0673e2005, + 0x04c460801, + 0x02a00b0fc, + 0x0fc186708, + 0x0701e9088, + 0x0b0826f12, + 0x07040c087, + 0x067064a85, + 0x06f00ff5e, + 0x04a846f00, + 0x0ff585382, + 0x07040c087, + 0x06600ff2a, + 0x020044c46, + 0x000012601, + 0x06000ff26, + 0x020044c46, + 0x000012800, + 0x060c04484, + 0x0347c0001, + 0x06000fefc, + 0x07230b280, + 0x0671e7248, + 0x0b280670c, + 0x028117004, + 0x02f400014, + 0x06000fed8, + 0x02a117004, + 0x02f400014, + 0x06000fecc, + 0x028113404, + 0x042843802, 0x070042f40, 0x000146000, - 0x0fed82a11, + 0x0feba7208, + 0x0b280672a, + 0x07210b280, + 0x067127220, + 0x0b28066c4, + 0x028117004, + 0x02f400014, + 0x06000fe9c, + 0x028113404, + 0x0380248c4, 0x070042f40, 0x000146000, - 0x0fecc2811, - 0x034044284, - 0x038027004, - 0x02f400014, - 0x06000feba, - 0x07208b280, - 0x0672a7210, - 0x0b2806712, - 0x07220b280, - 0x066c42811, + 0x0fe8a2811, 0x070042f40, 0x000146000, - 0x0fe9c2811, - 0x034043802, - 0x048c47004, - 0x02f400014, - 0x06000fe8a, - 0x028117004, - 0x02f400014, - 0x06000fe7e, - 0x07275b286, - 0x0670e7278, - 0x0b2866600, - 0x0fe547c10, - 0x06000fe4e, - 0x08ebc0000, - 0x000207c0a, - 0x06000fe42, - 0x07258b282, - 0x0670a7264, - 0x0b2826600, - 0x0fe3460ea, - 0x0367c0001, - 0x060d8518f, - 0x02f2f000c, - 0x06100eacc, - 0x0266f0010, - 0x0246e8022, - 0x0262f0014, - 0x0226f0018, - 0x0206e8012, - 0x022000c83, - 0x0fffffc18, - 0x067064a83, - 0x06c000084, - 0x0101b49c0, - 0x024006734, - 0x0b2fcfc18, - 0x06706b2fc, - 0x000006fec, - 0x0b1ca6406, - 0x010c22d48, - 0x0801252ae, - 0x08026700a, - 0x0b0826642, - 0x042ae8026, - 0x0b2fcfc18, - 0x067ce5389, - 0x0101b49c0, - 0x0240066cc, + 0x0fe7e7275, + 0x0b286670e, + 0x07278b286, + 0x06600fe54, + 0x07c106000, + 0x0fe4e8ebc, + 0x000000020, + 0x07c0a6000, + 0x0fe427258, + 0x0b282670a, + 0x07264b282, + 0x06600fe34, + 0x060ea367c, + 0x0000160d8, + 0x0518f2f2f, + 0x0000c6100, + 0x0ea18266f, + 0x00010246e, + 0x0802e262f, + 0x00014226f, + 0x00018206e, + 0x0801a2200, 0x00c83ffff, - 0x0fc186704, - 0x04a836d06, - 0x04fef000c, - 0x04e752403, - 0x04482b282, - 0x06cf2b1ca, - 0x0640810fc, - 0x000202d48, - 0x0801252ae, - 0x080265281, - 0x060e87009, - 0x0b08266bc, - 0x07007d0ae, - 0x08026c0bc, - 0x0fffffff8, - 0x02d408026, - 0x060aa2001, - 0x0b2836c00, - 0x0ff78b1ca, - 0x0640810fc, - 0x000202d48, - 0x0801252ae, - 0x080265281, - 0x060e4598f, - 0x04aae8016, - 0x066306100, - 0x0fa14262f, - 0x000182f03, - 0x02f2f0018, - 0x02f2f0018, - 0x02f2f0018, - 0x02f2f0018, - 0x012363920, - 0x099aa49c1, - 0x020761d20, - 0x086da4e90, - 0x04fef0018, - 0x04e751ebc, - 0x0002a202f, - 0x000181f40, - 0x000011f7c, - 0x0002a0002, - 0x0422f0003, - 0x04878fc18, - 0x042a7486f, + 0x0fc186706, + 0x04a836c00, + 0x00084101b, + 0x049c02400, + 0x06734b2fc, + 0x0fc186706, + 0x0b2fc0000, + 0x06fecb1ca, + 0x0640610c2, + 0x02d48801a, + 0x052ae802a, + 0x0700ab082, + 0x0664242ae, + 0x0802ab2fc, + 0x0fc1867ce, + 0x05389101b, + 0x049c02400, + 0x066cc0c83, + 0x0fffffc18, + 0x067044a83, + 0x06d064fef, + 0x0000c4e75, + 0x024034482, + 0x0b2826cf2, + 0x0b1ca6408, + 0x010fc0020, + 0x02d48801a, + 0x052ae802a, + 0x0528160e8, + 0x07009b082, + 0x066bc7007, + 0x0d0ae802a, + 0x0c0bcffff, + 0x0fff82d40, + 0x0802a60aa, + 0x02001b283, + 0x06c00ff78, + 0x0b1ca6408, + 0x010fc0020, + 0x02d48801a, + 0x052ae802a, + 0x0528160e4, + 0x0598f4aae, + 0x0800a6630, + 0x06100fa14, + 0x0262f0018, + 0x02f032f2f, + 0x000182f2f, + 0x000182f2f, + 0x000182f2f, + 0x000181236, + 0x039209da6, + 0x049c12076, + 0x01d208116, + 0x04e904fef, + 0x000184e75, + 0x01ebc002a, + 0x0202f0018, + 0x01f400001, + 0x01f7c002a, + 0x00002422f, + 0x000034878, + 0x0fc1842a7, + 0x0486f0008, + 0x06100feda, + 0x042804fef, + 0x000104e75, + 0x0598f2037, + 0x001610008, + 0x01e80422f, + 0x000014878, + 0x0fc182f2f, + 0x00010486f, 0x000086100, - 0x0feda4280, + 0x0feb47004, 0x04fef0010, - 0x04e75598f, - 0x020370161, - 0x000081e80, - 0x0422f0001, - 0x04878fc18, - 0x02f2f0010, - 0x0486f0008, - 0x06100feb4, + 0x04e752f2f, + 0x000102f2f, + 0x000102f2f, + 0x000102f37, + 0x001610010, + 0x06100fc68, 0x070044fef, 0x000104e75, - 0x02f2f0010, - 0x02f2f0010, - 0x02f2f0010, - 0x02f370161, - 0x000106100, - 0x0fc687004, - 0x04fef0010, - 0x04e75202e, - 0x08012b0ae, - 0x08022640c, - 0x01dbc0025, - 0x001618012, - 0x052ae8012, - 0x042804e75, - 0x0202f0014, - 0x07268b081, - 0x06d2a6e04, - 0x070f04e75, - 0x0726cb280, - 0x0670e7275, - 0x0b2806704, - 0x042804e75, - 0x070e04e75, - 0x07008c0af, - 0x000106704, - 0x070c04e75, - 0x070f84e75, - 0x07223b280, - 0x06714722b, - 0x0b280670a, - 0x0722db280, - 0x066d670fe, - 0x04e7570ff, - 0x04e7570fc, - 0x04e754fef, - 0x0ff74f237, - 0x055000161, - 0x00090f22f, - 0x075000034, - 0x0f2277500, - 0x0610008bc, - 0x04a80671c, - 0x02f2f00a4, - 0x04878fc18, - 0x02f2f00a4, - 0x0486e803a, - 0x06100fbc2, - 0x070084fef, - 0x000a44e75, - 0x048780001, - 0x0f22f5400, - 0x00040f227, - 0x074006100, - 0x008e44a80, + 0x0202e801a, + 0x0b0ae802e, + 0x0640c1dbc, + 0x000250161, + 0x0801a52ae, + 0x0801a4280, + 0x04e75202f, + 0x000147268, + 0x0b0816d2a, + 0x06e0470f0, + 0x04e75726c, + 0x0b280670e, + 0x07275b280, + 0x067044280, + 0x04e7570e0, + 0x04e757008, + 0x0c0af0010, + 0x0670470c0, + 0x04e7570f8, + 0x04e757223, + 0x0b2806714, + 0x0722bb280, + 0x0670a722d, + 0x0b28066d6, + 0x070fe4e75, + 0x070ff4e75, + 0x070fc4e75, + 0x04fefff74, + 0x0f2375500, + 0x001610090, + 0x0f22f7500, + 0x00034f227, + 0x075006100, + 0x0081e4a80, 0x0671c2f2f, - 0x000b04878, + 0x000a44878, 0x0fc182f2f, - 0x000b0486e, - 0x0803e6100, - 0x0fb907008, - 0x04fef00b0, + 0x000a4486e, + 0x082466100, + 0x0fbc27008, + 0x04fef00a4, 0x04e754878, - 0x0fffff22f, - 0x05400004c, + 0x00001f22f, + 0x054000040, 0x0f2277400, - 0x0610008b2, + 0x061000846, 0x04a80671c, - 0x02f2f00bc, + 0x02f2f00b0, 0x04878fc18, - 0x02f2f00bc, - 0x0486e8043, - 0x06100fb5e, + 0x02f2f00b0, + 0x0486e824a, + 0x06100fb90, 0x070084fef, - 0x000bc4e75, - 0x042af0030, - 0x0f22f543a, - 0x00054f293, - 0x00016f22f, - 0x054000054, - 0x0f200001a, - 0x0f22f7400, - 0x0005452af, - 0x0003042af, - 0x000207041, - 0x0b0af00c0, - 0x06e0a705a, - 0x0b0af00c0, - 0x06c0004bc, - 0x042af0040, - 0x0f22f543a, - 0x00054f281, - 0x000e2486f, + 0x000b04e75, + 0x04878ffff, + 0x0f22f5400, + 0x0004cf227, + 0x074006100, + 0x008144a80, + 0x0671c2f2f, + 0x000bc4878, + 0x0fc182f2f, + 0x000bc486e, + 0x0824f6100, + 0x0fb5e7008, + 0x04fef00bc, + 0x04e7542af, + 0x00030f22f, + 0x0543a0054, + 0x0f2930016, + 0x0f22f5400, + 0x00054f200, + 0x0001af22f, + 0x074000054, + 0x052af0030, + 0x042af0020, + 0x07041b0af, + 0x000c06e0a, + 0x0705ab0af, + 0x000c06c00, + 0x004bc42af, 0x00040f22f, - 0x054000058, - 0x0f2277400, - 0x0610004ac, - 0x0f22f4000, - 0x0004cf23c, - 0x054233fd3, - 0x044135547, - 0x05a32f22f, - 0x06000004c, + 0x0543a0054, + 0x0f28100e2, + 0x0486f0040, + 0x0f22f5400, + 0x00058f227, + 0x074006100, + 0x004acf22f, + 0x04000004c, + 0x0f23c5423, + 0x03fd34413, + 0x055475a32, + 0x0f22f6000, + 0x0004c202f, + 0x0004ce280, + 0x02f400048, + 0x044802f00, + 0x0610005d4, + 0x0f22f5423, + 0x00064f22f, + 0x074000054, 0x0202f004c, - 0x0e2802f40, - 0x000484480, + 0x090af0050, 0x02f006100, - 0x005d4f22f, - 0x054230064, - 0x0f22f7400, - 0x00054202f, - 0x0004c90af, - 0x000502f00, - 0x0610005ba, - 0x0f22f5423, - 0x00058f200, - 0x00100f23c, - 0x040000000, - 0x00001f200, - 0x00838f295, - 0x0003053af, - 0x00054202f, - 0x0005090af, - 0x000542f00, - 0x06100058e, - 0x0f22f5423, - 0x0005cf200, - 0x00100f23c, - 0x040000000, - 0x00001f200, - 0x00838588f, - 0x0f292ffd4, + 0x005baf22f, + 0x054230058, + 0x0f2000100, 0x0f23c4000, - 0x00000000a, + 0x000000001, 0x0f2000838, - 0x04fef0014, - 0x0f2920030, - 0x052af0040, - 0x0202f003c, - 0x090af0040, + 0x0f2950030, + 0x053af0054, + 0x0202f0050, + 0x090af0054, 0x02f006100, - 0x0054cf22f, - 0x054230048, + 0x0058ef22f, + 0x05423005c, 0x0f2000100, 0x0f23c4000, - 0x00000000a, + 0x000000001, 0x0f2000838, - 0x0588ff295, - 0x0ffd40caf, - 0x0fffffc18, - 0x000b86606, - 0x070062f40, - 0x000b87067, - 0x0b0af00c0, - 0x066084aaf, - 0x000b86e00, - 0x003a6701e, - 0x0b0af00b8, - 0x06c06701e, - 0x02f4000b8, - 0x07802d8af, - 0x000b87066, - 0x0b0af00c0, - 0x0660a202f, - 0x00040d880, - 0x06e027801, - 0x07020b084, - 0x042e72f44, - 0x0003644df, - 0x06e187065, - 0x0b0af00c0, - 0x0660670ff, - 0x02f4000b8, - 0x070652f40, - 0x000c06000, - 0x0fea8f22f, - 0x054000054, - 0x0f22f7400, - 0x0004c4aaf, - 0x000406c26, - 0x070ff90af, + 0x0588ff292, + 0x0ffd4f23c, + 0x040000000, + 0x0000af200, + 0x008384fef, + 0x00014f292, + 0x0003052af, + 0x00040202f, + 0x0003c90af, 0x000402f00, - 0x0610004a6, - 0x0282f0038, - 0x0f2277400, - 0x0f22f5400, - 0x00058f21f, - 0x05423f22f, - 0x074000050, - 0x0588f4283, - 0x0b6846c6a, + 0x06100054c, + 0x0f22f5423, + 0x00048f200, + 0x00100f23c, + 0x040000000, + 0x0000af200, + 0x00838588f, + 0x0f295ffd4, + 0x00cafffff, + 0x0fc1800b8, + 0x066067006, + 0x02f4000b8, + 0x07067b0af, + 0x000c06608, + 0x04aaf00b8, + 0x06e0003a6, + 0x0701eb0af, + 0x000b86c06, + 0x0701e2f40, + 0x000b87802, + 0x0d8af00b8, + 0x07066b0af, + 0x000c0660a, 0x0202f0040, - 0x090832f43, - 0x000384a80, - 0x06d0002ca, + 0x0d8806e02, + 0x078017020, + 0x0b08442e7, + 0x02f440036, + 0x044df6e18, + 0x07065b0af, + 0x000c06606, + 0x070ff2f40, + 0x000b87065, + 0x02f4000c0, + 0x06000fea8, + 0x0f22f5400, + 0x00054f22f, + 0x07400004c, + 0x04aaf0040, + 0x06c2670ff, + 0x090af0040, 0x02f006100, - 0x00470f22f, - 0x054800050, - 0x0f20000a0, + 0x004a6282f, + 0x00038f227, + 0x07400f22f, + 0x054000058, + 0x0f21f5423, 0x0f22f7400, - 0x00048f227, - 0x074806100, - 0x004b0262f, - 0x00044282f, - 0x00040f202, - 0x06000f202, - 0x04000f22f, - 0x054230050, + 0x00050588f, + 0x04283b684, + 0x06c6a202f, + 0x000409083, + 0x02f430038, + 0x04a806d00, + 0x002ca2f00, + 0x061000470, 0x0f22f5480, - 0x00058f200, - 0x000a8f22f, - 0x074800058, - 0x07030d082, - 0x022031f80, - 0x039200091, - 0x05283b684, - 0x04fef000c, - 0x06d967605, - 0x074ffd484, - 0x06d362002, - 0x041f72920, - 0x000851010, - 0x049c0d083, - 0x010804283, - 0x00c370039, - 0x029200085, - 0x06f162002, - 0x041f72920, - 0x000851010, - 0x049c090bc, - 0x00000000a, - 0x010805283, - 0x053826cca, - 0x07c014a83, - 0x0670c1f7c, - 0x000310084, - 0x052af0040, - 0x042864282, - 0x04aaf0030, - 0x0670001fe, - 0x01fbc002d, - 0x02920005c, - 0x052824283, - 0x07801d8af, - 0x000b82a2f, - 0x000b87067, - 0x0b0af00c0, - 0x0661470fb, - 0x0b0af0040, - 0x06e0c202f, - 0x00040b0af, - 0x000b86f00, - 0x001b07066, - 0x0b0af00c0, - 0x0661c262f, - 0x000404483, - 0x06c024283, - 0x0b6af00b8, - 0x06f022604, - 0x0202f0040, - 0x0d8806c02, - 0x042844a83, - 0x06f222003, - 0x0d084b085, - 0x0660a1fbc, - 0x0002e2920, + 0x00050f200, + 0x000a0f22f, + 0x074000048, + 0x0f2277480, + 0x0610004b0, + 0x0262f0044, + 0x0282f0040, + 0x0f2026000, + 0x0f2024000, + 0x0f22f5423, + 0x00050f22f, + 0x054800058, + 0x0f20000a8, + 0x0f22f7480, + 0x000587030, + 0x0d0822203, + 0x01f803920, + 0x000915283, + 0x0b6844fef, + 0x0000c6d96, + 0x0760574ff, + 0x0d4846d36, + 0x0200241f7, + 0x029200085, + 0x0101049c0, + 0x0d0831080, + 0x042830c37, + 0x000392920, + 0x000856f16, + 0x0200241f7, + 0x029200085, + 0x0101049c0, + 0x090bc0000, + 0x0000a1080, + 0x052835382, + 0x06cca7c01, + 0x04a83670c, + 0x01f7c0031, + 0x0008452af, + 0x000404286, + 0x042824aaf, + 0x000306700, + 0x001fe1fbc, + 0x0002d2920, 0x0005c5282, - 0x01fbc0030, - 0x02920005c, - 0x052825383, - 0x04a836ede, - 0x04a846f28, + 0x042837801, + 0x0d8af00b8, + 0x02a2f00b8, + 0x07067b0af, + 0x000c06614, + 0x070fbb0af, + 0x000406e0c, + 0x0202f0040, + 0x0b0af00b8, + 0x06f0001b0, + 0x07066b0af, + 0x000c0661c, + 0x0262f0040, + 0x044836c02, + 0x04283b6af, + 0x000b86f02, + 0x02604202f, + 0x00040d880, + 0x06c024284, + 0x04a836f22, 0x02003d084, 0x0b085660a, 0x01fbc002e, 0x02920005c, - 0x052822202, - 0x01fb76920, - 0x000842920, + 0x052821fbc, + 0x000302920, 0x0005c5282, - 0x052865384, - 0x04a846ed8, - 0x07004c0af, - 0x000bc6700, - 0x000e82003, + 0x053834a83, + 0x06ede4a84, + 0x06f282003, 0x0d084b085, 0x0660a1fbc, 0x0002e2920, 0x0005c5282, - 0x07065b0af, - 0x000c0672a, - 0x07067b0af, - 0x000c06722, - 0x042372920, - 0x0005c2f2f, - 0x000bc4878, - 0x0fc182f2f, - 0x000bc486f, - 0x000686100, - 0x0f7d47008, - 0x04fef00bc, - 0x04e754aaf, - 0x000206700, - 0x0008e1fbc, - 0x000452920, - 0x0005c5282, - 0x0262f0040, - 0x06c701fbc, - 0x0002d2920, + 0x022021fb7, + 0x069200084, + 0x02920005c, + 0x052825286, + 0x053844a84, + 0x06ed87004, + 0x0c0af00bc, + 0x0670000e8, + 0x02003d084, + 0x0b085660a, + 0x01fbc002e, + 0x02920005c, + 0x052827065, + 0x0b0af00c0, + 0x0672a7067, + 0x0b0af00c0, + 0x067224237, + 0x02920005c, + 0x02f2f00bc, + 0x04878fc18, + 0x02f2f00bc, + 0x0486f0068, + 0x06100f7d4, + 0x070084fef, + 0x000bc4e75, + 0x04aaf0020, + 0x06700008e, + 0x01fbc0045, + 0x02920005c, + 0x05282262f, + 0x000406c70, + 0x01fbc002d, + 0x02920005c, + 0x052824483, + 0x07064b083, + 0x06e262003, + 0x04c7c0801, + 0x000000064, + 0x0d0bc0000, + 0x000302202, + 0x01f802920, 0x0005c5282, - 0x044837064, - 0x0b0836e26, 0x020034c7c, 0x008010000, - 0x00064d0bc, + 0x000642601, + 0x020034c7c, + 0x008010000, + 0x0000ad0bc, 0x000000030, 0x022021f80, 0x02920005c, 0x052822003, 0x04c7c0801, - 0x000000064, - 0x026012003, - 0x04c7c0801, 0x00000000a, - 0x0d0bc0000, - 0x000302202, + 0x02001d0bc, + 0x000000030, 0x01f802920, 0x0005c5282, - 0x020034c7c, - 0x008010000, - 0x0000a2001, - 0x0d0bc0000, - 0x000301f80, + 0x06000ff58, + 0x01fbc002b, + 0x02920005c, + 0x052826090, + 0x01fbc0065, 0x02920005c, 0x052826000, - 0x0ff581fbc, - 0x0002b2920, - 0x0005c5282, - 0x060901fbc, - 0x000652920, - 0x0005c5282, - 0x06000ff72, - 0x07067b0af, - 0x000c0670a, - 0x07068b0af, - 0x000c06600, - 0x0ff1c76ff, - 0x0d6826d0a, - 0x00c370030, - 0x03920005c, - 0x067222803, - 0x06d00ff06, - 0x00c37002e, - 0x04920005c, - 0x0660e2403, - 0x0b8836700, - 0x0fef45282, - 0x06000feee, - 0x0538460e0, - 0x0538360ce, - 0x076ff96af, - 0x000406c02, - 0x042832a2f, - 0x000b89aaf, - 0x000407068, - 0x02f4000c0, - 0x06000fe38, - 0x07001c0af, - 0x000bc6700, - 0x0fe061fbc, - 0x0002b2920, - 0x0005c5282, - 0x06000fdf8, - 0x0f22f5400, - 0x0004cf23c, - 0x040230000, - 0x0000af22f, - 0x07400004c, - 0x0f2277400, - 0x0610001ea, - 0x0262f0040, - 0x0282f003c, - 0x0f2026000, - 0x0f2024000, - 0x0f22f5480, - 0x00054f200, - 0x000a8f22f, - 0x074800054, - 0x0598f6000, - 0x0fd3c53af, - 0x000b86000, - 0x0fc567001, - 0x02f400020, - 0x07020d1af, + 0x0ff727067, + 0x0b0af00c0, + 0x0670a7068, + 0x0b0af00c0, + 0x06600ff1c, + 0x076ffd682, + 0x06d0a0c37, + 0x000303920, + 0x0005c6722, + 0x028036d00, + 0x0ff060c37, + 0x0002e4920, + 0x0005c660e, + 0x02403b883, + 0x06700fef4, + 0x052826000, + 0x0feee5384, + 0x060e05383, + 0x060ce76ff, + 0x096af0040, + 0x06c024283, + 0x02a2f00b8, + 0x09aaf0040, + 0x070682f40, 0x000c06000, - 0x0fb38518f, + 0x0fe387001, + 0x0c0af00bc, + 0x06700fe06, + 0x01fbc002b, + 0x02920005c, + 0x052826000, + 0x0fdf8f22f, + 0x05400004c, + 0x0f23c4023, + 0x00000000a, + 0x0f22f7400, + 0x0004cf227, + 0x074006100, + 0x001ea262f, + 0x00040282f, + 0x0003cf202, + 0x06000f202, + 0x04000f22f, + 0x054800054, + 0x0f20000a8, + 0x0f22f7480, + 0x00054598f, + 0x06000fd3c, + 0x053af00b8, + 0x06000fc56, + 0x070012f40, + 0x000207020, + 0x0d1af00c0, + 0x06000fb38, + 0x0518ff22f, + 0x05500000c, + 0x0206f0014, + 0x0f200083a, + 0x0f28e0010, + 0x04290f23c, + 0x040000000, + 0x00000508f, + 0x04e75f217, + 0x075002017, + 0x07214e2a0, + 0x0c0bc0000, + 0x007ff90bc, + 0x0000003fe, + 0x020800297, + 0x0800fffff, + 0x000973fe0, + 0x00000f217, + 0x05400508f, + 0x04e75518f, 0x0f22f5500, - 0x0000c206f, + 0x0000c242f, 0x00014f200, 0x0083af28e, - 0x000104290, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x0f2177500, - 0x020177214, - 0x0e2a0c0bc, + 0x0000ef23c, + 0x040000000, + 0x00000508f, + 0x04e75f217, + 0x075002017, + 0x07214e2a0, + 0x0c0bc0000, + 0x007ffd480, + 0x06e0cf23c, + 0x040000000, + 0x00000508f, + 0x04e750c82, 0x0000007ff, - 0x090bc0000, - 0x003fe2080, - 0x00297800f, - 0x0ffff0097, - 0x03fe00000, + 0x06d0cf23c, + 0x040000000, + 0x00000508f, + 0x04e750297, + 0x0800fffff, + 0x020027214, + 0x0e3a08197, 0x0f2175400, 0x0508f4e75, - 0x0518ff22f, - 0x05500000c, - 0x0242f0014, - 0x0f200083a, - 0x0f28e000e, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x0f2177500, - 0x020177214, - 0x0e2a0c0bc, + 0x04feffff4, + 0x0206f0018, + 0x0f22f5500, + 0x00010f23c, + 0x040000000, + 0x00001f200, + 0x00838f295, + 0x00018f23c, + 0x040000000, + 0x00000f210, + 0x07400f200, + 0x008004fef, + 0x0000c4e75, + 0x0f22f7500, + 0x00004242f, + 0x000047214, + 0x0e2a2c4bc, 0x0000007ff, - 0x0d4806e0c, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x00c820000, - 0x007ff6d0c, - 0x0f23c4000, - 0x000000000, - 0x0508f4e75, - 0x00297800f, - 0x0ffff2002, - 0x07214e3a0, - 0x08197f217, - 0x05400508f, - 0x04e754fef, - 0x0fff4206f, - 0x00018f22f, - 0x055000010, - 0x0f23c4000, - 0x000000001, - 0x0f2000838, - 0x0f2950018, - 0x0f23c4000, - 0x000000000, + 0x094bc0000, + 0x003fe7015, + 0x0b0826d2c, + 0x0203c001f, + 0x0ffffe4a0, + 0x04680c1af, + 0x0000442af, + 0x00008f22f, + 0x054000004, 0x0f2107400, 0x0f2000800, - 0x04fef000c, - 0x04e75f22f, - 0x075000004, - 0x0242f0004, - 0x07214e2a2, - 0x0c4bc0000, - 0x007ff94bc, - 0x0000003fe, - 0x07015b082, - 0x06d2c203c, - 0x0001fffff, - 0x0e4a04680, - 0x0c1af0004, - 0x042af0008, - 0x0f22f5400, - 0x00004f210, - 0x07400f200, - 0x00800f22f, - 0x054280004, - 0x04fef000c, - 0x04e757035, - 0x0b0826de0, - 0x072ead282, - 0x0203c7fff, - 0x0ffffe2a0, - 0x04680c1af, - 0x0000860cc, - 0x0598f222f, - 0x000086c1c, - 0x020014480, - 0x02f0061f0, - 0x0f2000080, - 0x0f23c4000, - 0x000000001, - 0x0f2000420, - 0x0508f4e75, - 0x0700ab081, - 0x06f0cf236, - 0x040001d20, - 0x08072588f, - 0x04e752401, - 0x0e2822001, - 0x090822e82, - 0x02f0061bc, + 0x0f22f5428, + 0x000044fef, + 0x0000c4e75, + 0x07035b082, + 0x06de072ea, + 0x0d282203c, + 0x07fffffff, + 0x0e2a04680, + 0x0c1af0008, + 0x060cc598f, + 0x0222f0008, + 0x06c1c2001, + 0x044802f00, + 0x061f0f200, + 0x00080f23c, + 0x040000000, + 0x00001f200, + 0x00420508f, + 0x04e75700a, + 0x0b0816f0c, + 0x0f2364000, + 0x01d208076, + 0x0588f4e75, + 0x02401e282, + 0x020019082, + 0x02e822f00, + 0x061bcf227, + 0x074002f2f, + 0x0000c61b2, + 0x0588ff21f, + 0x05423508f, + 0x04e75518f, + 0x0f22f543a, + 0x0000cf293, + 0x00054486f, + 0x0000cf22f, + 0x054000010, + 0x0f200001a, 0x0f2277400, - 0x02f2f000c, - 0x061b2588f, - 0x0f21f5423, - 0x0508f4e75, - 0x0518ff22f, - 0x0543a000c, - 0x0f2930054, + 0x06100feee, + 0x0f2000100, + 0x0f200003a, + 0x0f2810016, + 0x0f22f5400, + 0x00018f23c, + 0x040220000, + 0x00001f22f, + 0x074000018, + 0x0f22f5400, + 0x00018f200, + 0x0001af22f, + 0x074000018, + 0x0f22f5400, + 0x000184fef, + 0x000144e75, 0x0486f000c, 0x0f22f5400, - 0x00010f200, - 0x0001af227, + 0x00010f227, 0x074006100, - 0x0feeef200, - 0x00100f200, - 0x0003af281, - 0x00016f22f, - 0x054000018, - 0x0f23c4022, - 0x000000001, - 0x0f22f7400, - 0x00018f22f, - 0x054000018, - 0x0f200001a, - 0x0f22f7400, - 0x00018f22f, - 0x054000018, - 0x04fef0014, - 0x04e75486f, - 0x0000cf22f, - 0x054000010, - 0x0f2277400, - 0x06100fea0, - 0x060e0f22f, - 0x054800004, - 0x0f200049a, - 0x0f2277480, - 0x06100ff7e, - 0x0f200001a, - 0x0508f4e75, - 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, - 0x06de81521, - 0x02209c2bc, - 0x000000003, - 0x066f090bc, - 0x000000010, - 0x06d102521, - 0x025212521, - 0x0252190bc, - 0x000000010, - 0x06cf0d0bc, - 0x00000000f, - 0x06dbc1521, - 0x053806db6, - 0x060f8202f, + 0x0fea060e0, + 0x0f22f5480, + 0x00004f200, + 0x0049af227, + 0x074806100, + 0x0ff7ef200, + 0x0001a508f, + 0x04e75202f, 0x0000c6f3e, 0x0226f0004, 0x04281122f, @@ -3366,31 +3908,146 @@ ulong bootcode[]={ 0x000000000, 0x000000000, 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000007072, + 0x0696e7420, + 0x06572726f, + 0x072730000, + 0x000006e6f, + 0x06e2d7a65, + 0x0726f2065, + 0x078697420, + 0x073746174, + 0x075730000, + 0x00000ffff, + 0x0ffffffff, + 0x000000000, + 0x000010000, + 0x0000a0000, + 0x000640000, + 0x003e80000, + 0x027100001, + 0x086a0000f, + 0x042400098, + 0x0968005f5, + 0x0e1003b9a, + 0x0ca000000, + 0x0630c0000, + 0x0631d0000, + 0x063510000, + 0x063566500, + 0x000000000, + 0x0635a0000, + 0x0636d0000, + 0x063970000, + 0x0639c6500, + 0x000000000, + 0x063a00000, + 0x063a70000, + 0x063c50000, + 0x063ca6e00, + 0x000000000, + 0x063ce0000, + 0x063da0000, + 0x064020000, + 0x064073900, + 0x000000000, + 0x0640b0000, + 0x064190000, + 0x064370000, + 0x0643c6500, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x052e80000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x062ec3133, + 0x0352e3130, + 0x0342e3131, + 0x0372e3330, + 0x000000000, + 0x000000000, + 0x062f33133, + 0x0352e3130, + 0x0342e3131, + 0x0372e3331, + 0x000000000, + 0x000000000, + 0x062f93133, + 0x0352e3130, + 0x0342e3131, + 0x0372e3332, + 0x000000000, + 0x000000000, + 0x063013133, + 0x0352e3130, + 0x0342e3131, + 0x0372e3200, + 0x000000000, + 0x000000000, + 0x063053133, + 0x0352e3130, + 0x0342e3131, + 0x0372e3333, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, + 0x000000000, 0x000004e61, 0x04e002b49, 0x06e66002d, 0x0496e6600, - 0x000007072, - 0x0696e7420, - 0x06572726f, - 0x072730000, - 0x000006e6f, - 0x06e2d7a65, - 0x0726f2065, - 0x078697420, - 0x073746174, - 0x075730000, - 0x000000000, - 0x000010000, - 0x0000a0000, - 0x000640000, - 0x003e80000, - 0x027100001, - 0x086a0000f, - 0x042400098, - 0x0968005f5, - 0x0e1003b9a, - 0x0ca000680, + 0x000002573, + 0x03a202573, + 0x00a002573, + 0x00a000000, + 0x000000680, 0x0067c0678, 0x006740002, 0x00652063a, @@ -3424,16 +4081,98 @@ ulong bootcode[]={ 0x001960160, 0x0014800fe, 0x000920044, - 0x000082363, + 0x00008626f, + 0x06f746573, + 0x00068656c, + 0x069780073, + 0x070696e64, + 0x06c650072, + 0x037300066, + 0x06f726e61, + 0x078006d69, + 0x07073206d, + 0x061676e75, + 0x06d203330, + 0x030300028, + 0x039293630, + 0x030207365, + 0x07269616c, + 0x02c202831, + 0x029393230, + 0x030207365, + 0x07269616c, + 0x02c202865, + 0x029746865, + 0x0726e6574, + 0x02c202869, + 0x029696e63, + 0x06f6e0074, + 0x074793100, + 0x068643000, + 0x06e657874, + 0x020737461, + 0x074696f6e, + 0x020363830, + 0x034300028, + 0x039293630, + 0x030207365, + 0x07269616c, + 0x02c202831, + 0x029393230, + 0x030207365, + 0x07269616c, + 0x02c202865, + 0x029746865, + 0x0726e6574, + 0x000747479, + 0x030006864, + 0x031007361, + 0x066617269, + 0x000283929, + 0x036303020, + 0x073657269, + 0x0616c2c20, + 0x028312939, + 0x032303020, + 0x073657269, + 0x0616c0074, + 0x074793000, + 0x068643000, + 0x061742674, + 0x020676e6f, + 0x074203100, + 0x028392936, + 0x030302073, + 0x065726961, + 0x06c2c2028, + 0x031293932, + 0x030302073, + 0x065726961, + 0x06c2c2028, + 0x06929696e, + 0x0636f6e00, + 0x074747930, + 0x000686430, + 0x00073756e, + 0x020737061, + 0x072632073, + 0x06c630028, + 0x039293630, + 0x030207365, + 0x07269616c, + 0x02c202831, + 0x029393230, + 0x030207365, + 0x07269616c, + 0x000747479, + 0x031006864, + 0x030002363, 0x02f636f6e, 0x073002363, 0x02f636f6e, 0x073002363, 0x02f636f6e, - 0x073006174, - 0x026742067, - 0x06e6f7420, - 0x031006e6f, + 0x073006e6f, 0x06e650075, 0x073657200, 0x02f002f00, @@ -3441,131 +4180,185 @@ ulong bootcode[]={ 0x000423139, 0x032303000, 0x042393630, - 0x030002f6e, - 0x065742f25, - 0x073002f6e, - 0x065742f6e, - 0x06574002f, - 0x06c69622f, - 0x06e657461, - 0x06464722e, - 0x02573002f, - 0x06c69622f, - 0x06e657461, - 0x06464722e, - 0x06e657400, - 0x02f363830, - 0x032302f69, + 0x030000a00, + 0x02f6e6574, + 0x02f257300, + 0x02f6e6574, + 0x02f6e6574, + 0x0002f6c69, + 0x0622f6e65, + 0x074616464, + 0x0722e2573, + 0x0002f6c69, + 0x0622f6e65, + 0x074616464, + 0x0722e6e65, + 0x074002f25, + 0x0732f696e, + 0x069740069, 0x06e697400, - 0x0696e6974, - 0x0002d6d00, - 0x02f363830, - 0x032302f69, + 0x02d6d0069, 0x06e697400, - 0x0696e6974, - 0x0002f3638, - 0x03032302f, - 0x0696e6974, - 0x00023652f, - 0x0626f6f74, - 0x06c696e65, - 0x00023652f, + 0x02d740062, + 0x06f6f746c, + 0x0696e6500, 0x0626f6f74, 0x064657669, - 0x063650023, - 0x0652f626f, - 0x06f747573, - 0x065720023, - 0x0652f626f, + 0x063650062, + 0x06f6f7470, + 0x028290062, + 0x06f6f7470, + 0x028290068, + 0x061726420, + 0x06469736b, + 0x020006861, + 0x072642064, + 0x069736b20, + 0x000626f6f, + 0x074757365, + 0x07200626f, 0x06f747365, 0x072766572, - 0x0004e6673, - 0x00023652f, - 0x07465726d, - 0x0696e616c, - 0x000746572, - 0x06d696e61, - 0x06c007465, - 0x0726d696e, - 0x0616c0023, - 0x0632f7573, - 0x06572006e, - 0x0004e6673, - 0x00072656d, - 0x06f746520, - 0x066732069, - 0x073202839, - 0x029363030, - 0x020736572, - 0x069616c2c, - 0x020283129, - 0x039323030, - 0x020736572, - 0x069616c2c, - 0x020286e29, - 0x06f742075, - 0x073656400, + 0x000626f6f, + 0x074657300, + 0x0626f6f74, + 0x065730063, + 0x070757479, + 0x070650074, + 0x065726d69, + 0x06e616c00, + 0x023652f25, + 0x073002363, + 0x02f757365, + 0x072007265, + 0x06d6f7465, + 0x020667320, + 0x06f6e2025, + 0x0732c2028, + 0x06e296f6e, + 0x065003900, + 0x0626f6f74, + 0x0002f0000, + 0x0006d6f75, + 0x06e74002f, + 0x06b667300, + 0x023772f25, + 0x073667300, + 0x06c6f6361, + 0x06c2e2e2e, + 0x000236300, + 0x02f646576, + 0x00062696e, + 0x064202363, + 0x000237000, + 0x02f70726f, + 0x063006269, + 0x06e642023, + 0x070007069, + 0x070650066, + 0x06f726b00, + 0x025640025, + 0x064002f6b, + 0x06673006b, + 0x06673002d, + 0x066002d73, + 0x00063616e, + 0x027742065, + 0x078656320, + 0x06b667300, + 0x02f00626f, + 0x06f740000, + 0x0006d6f75, + 0x06e74002f, + 0x06e2f6b66, + 0x073000000, + 0x06d6f756e, + 0x074007365, + 0x072766572, + 0x000736572, + 0x07665723a, + 0x02025730a, + 0x000236c2f, + 0x0312f6374, + 0x06c006f70, + 0x0656e696e, + 0x06720236c, + 0x02f312f63, + 0x0746c0063, + 0x06f6e6e65, + 0x063742030, + 0x078393030, + 0x000636f6e, + 0x06e656374, + 0x020307839, + 0x030300070, + 0x075736820, + 0x06e6f6574, + 0x068657200, 0x070757368, - 0x020646b6d, - 0x075780063, - 0x06f6e6669, - 0x067203120, - 0x03136206e, - 0x06f726573, - 0x074617274, + 0x0206e6f65, + 0x074686572, 0x000636f6e, 0x066696720, - 0x031203136, - 0x020726573, - 0x074617274, - 0x000636f6e, - 0x06e656374, - 0x020257300, - 0x0236b2f32, + 0x06e6f6e65, + 0x07400636f, + 0x06e666967, + 0x0206e6f6e, + 0x065740023, + 0x06e6e6f6e, + 0x065742f32, 0x02f646174, 0x061006f70, 0x0656e696e, - 0x06720236b, - 0x02f322f64, - 0x061746100, - 0x0236b2f32, + 0x06720236e, + 0x06e6f6e65, + 0x0742f322f, + 0x064617461, + 0x000236e6e, + 0x06f6e6574, + 0x02f322f63, + 0x0746c006f, + 0x070656e69, + 0x06e672023, + 0x06e6e6f6e, + 0x065742f32, 0x02f63746c, + 0x0006e6f6e, + 0x065740023, + 0x06e6e6f6e, + 0x065740070, + 0x075736820, + 0x0646b6d75, + 0x07800636f, + 0x06e666967, + 0x020312031, + 0x036206e6f, + 0x072657374, + 0x061727400, + 0x0636f6e66, + 0x069672031, + 0x020313620, + 0x072657374, + 0x061727400, + 0x0636f6e6e, + 0x065637420, + 0x025730023, + 0x06b2f322f, + 0x064617461, 0x0006f7065, 0x06e696e67, 0x020236b2f, - 0x0322f6374, - 0x06c00696e, - 0x069740064, - 0x06b00236b, - 0x000736572, - 0x076657200, - 0x023742f74, - 0x074793063, - 0x0746c006f, - 0x070656e69, - 0x06e672023, - 0x0742f7474, - 0x079306374, - 0x06c002374, - 0x02f747479, - 0x030006f70, - 0x0656e696e, - 0x067202374, - 0x02f747479, - 0x030007075, - 0x073682061, - 0x073796e63, - 0x00063616e, - 0x027742063, - 0x06f6e6e65, - 0x063742c20, - 0x072657472, - 0x079696e67, - 0x02e2e2e0a, - 0x000626f6f, - 0x074002f00, - 0x000006d6f, - 0x0756e7400, + 0x0322f6461, + 0x074610023, + 0x06b2f322f, + 0x063746c00, + 0x06f70656e, + 0x0696e6720, + 0x0236b2f32, + 0x02f63746c, + 0x000696e69, + 0x07400646b, + 0x000236b00, 0x073657276, 0x065720023, 0x0692f6374, @@ -3580,257 +4373,247 @@ ulong bootcode[]={ 0x072657472, 0x079696e67, 0x02e2e2e0a, - 0x000626f6f, - 0x074002f00, - 0x000006d6f, - 0x0756e7400, - 0x02f6b6673, - 0x00023772f, - 0x068643066, - 0x073006c6f, - 0x063616c0a, - 0x000236300, - 0x02f646576, - 0x00062696e, - 0x064202363, - 0x000237000, - 0x02f70726f, - 0x063006269, - 0x06e642023, - 0x070007069, - 0x070650066, - 0x06f726b00, - 0x025640025, - 0x064002f6b, - 0x06673006b, - 0x06673002d, - 0x066002377, - 0x02f686430, - 0x06673002d, - 0x073006361, + 0x000736572, + 0x076657200, + 0x023742f25, + 0x07363746c, + 0x00023742f, + 0x025730070, + 0x075736820, + 0x06173796e, + 0x063006361, 0x06e277420, - 0x065786563, - 0x0206b6673, - 0x0002f0000, - 0x0006d6f75, - 0x06e740062, - 0x06f6f7400, - 0x02f6e2f6b, - 0x066730000, - 0x0006d6f75, - 0x06e740023, - 0x0732f2573, - 0x000637265, - 0x061746500, - 0x025640077, + 0x0636f6e6e, + 0x06563742c, + 0x020726574, + 0x07279696e, + 0x0672e2e2e, + 0x00a002373, + 0x02f257300, + 0x063726561, + 0x074650025, + 0x064007772, + 0x069746500, + 0x074696d65, + 0x02e2e2e00, + 0x023722f72, + 0x074630072, + 0x065616469, + 0x06e672072, + 0x074630023, + 0x0732f626f, + 0x06f74002f, + 0x06e2f626f, + 0x06f740000, + 0x0002f6e2f, + 0x0626f6f74, + 0x000737461, + 0x07400256c, + 0x064002372, + 0x02f727463, + 0x000777269, + 0x074696e67, + 0x020727463, + 0x00023632f, + 0x074696d65, + 0x0004f4b00, + 0x043480025, + 0x0730a2573, + 0x00a004e4f, + 0x00025730a, + 0x025730a00, + 0x06e6f702e, + 0x02e2e0077, 0x072697465, - 0x00074696d, - 0x0652e2e2e, - 0x00023722f, - 0x072746300, - 0x072656164, - 0x0696e6720, - 0x072746300, - 0x023732f62, - 0x06f6f7400, - 0x02f6e2f62, - 0x06f6f7400, - 0x000002f6e, - 0x02f626f6f, - 0x074007374, - 0x061740025, - 0x06c640023, - 0x0722f7274, - 0x063007772, - 0x06974696e, - 0x067207274, - 0x063002363, - 0x02f74696d, - 0x065004f4b, - 0x000434800, - 0x025730a25, - 0x0730a004e, - 0x04f002573, - 0x00a25730a, - 0x0006e6f70, + 0x0206e6f70, + 0x000726561, + 0x064206e6f, + 0x070006e20, + 0x03d202564, + 0x03b206275, + 0x066203d20, + 0x025232e32, + 0x078202523, + 0x02e327820, + 0x025232e32, + 0x078202523, + 0x02e32780a, + 0x000666f72, + 0x06d617420, + 0x06e6f7000, + 0x06e6f7420, + 0x0526e6f70, + 0x000736573, + 0x073696f6e, 0x02e2e2e00, 0x077726974, - 0x065206e6f, - 0x070007265, - 0x06164206e, - 0x06f70006e, - 0x0203d2025, - 0x0643b2062, - 0x07566203d, - 0x02025232e, - 0x032782025, - 0x0232e3278, - 0x02025232e, - 0x032782025, - 0x0232e3278, - 0x00a00666f, - 0x0726d6174, - 0x0206e6f70, - 0x0006e6f74, - 0x020526e6f, - 0x070007365, + 0x065207365, 0x07373696f, - 0x06e2e2e2e, - 0x000777269, - 0x074652073, - 0x065737369, - 0x06f6e0072, - 0x065616420, - 0x073657373, - 0x0696f6e00, - 0x0666f726d, - 0x061742073, + 0x06e007265, + 0x061642073, 0x065737369, - 0x06f6e0065, - 0x072726f72, - 0x02025733b, - 0x0006e6f74, - 0x020527365, + 0x06f6e0066, + 0x06f726d61, + 0x074207365, 0x07373696f, - 0x06e002f63, - 0x066730023, - 0x0772f6864, - 0x030636163, - 0x068650063, - 0x066732e2e, - 0x02e007069, - 0x070650066, - 0x06f726b00, - 0x02f636673, - 0x000626f6f, - 0x074636673, - 0x0002d6673, - 0x0002d7000, - 0x023772f68, - 0x064306361, - 0x063686500, - 0x02f636673, + 0x06e006572, + 0x0726f7220, + 0x025733b00, + 0x06e6f7420, + 0x052736573, + 0x073696f6e, + 0x0002f6366, + 0x073002377, + 0x02f257363, + 0x061636865, + 0x000636673, + 0x02e2e2e00, + 0x070697065, + 0x000666f72, + 0x06b002f63, + 0x066730062, + 0x06f6f7463, + 0x06673002d, + 0x06673002d, + 0x070002f63, + 0x066730062, + 0x06f6f7463, + 0x06673002d, + 0x073002d70, 0x000626f6f, - 0x074636673, - 0x0002d7300, - 0x02d700023, - 0x0772f6864, - 0x030636163, - 0x068650062, + 0x0743a2025, + 0x0733a2025, + 0x0730a0062, 0x06f6f743a, 0x02025733a, 0x02025730a, - 0x000626f6f, - 0x0743a2025, - 0x0733a2025, - 0x0730a0025, - 0x0735b2573, - 0x05d3a2000, - 0x063616e27, - 0x074207265, - 0x061642023, - 0x0632f636f, - 0x06e733b20, - 0x0706c6561, - 0x073652072, - 0x065626f6f, - 0x074005b63, - 0x074726c2d, - 0x06420746f, - 0x020617474, - 0x061636820, - 0x066735d0a, - 0x000666f72, - 0x06b206661, - 0x0696c6564, - 0x0005b7265, - 0x06d6f7465, - 0x020726561, - 0x064206572, - 0x0726f7220, - 0x028257329, - 0x05d0a0023, - 0x0632f7263, - 0x06f6e7300, - 0x06f70656e, - 0x0696e6720, - 0x072636f6e, - 0x073005b72, - 0x0656d6f74, - 0x065207772, - 0x069746520, - 0x06572726f, - 0x072202825, - 0x073295d0a, - 0x0002f7072, - 0x06f632f25, - 0x0642f6e6f, - 0x074650064, - 0x069650023, - 0x0632f7263, - 0x06f6e7300, - 0x063616e27, - 0x074206f70, - 0x0656e2023, - 0x0632f7263, - 0x06f6e733b, - 0x020706c65, - 0x061736520, - 0x07265626f, - 0x06f740070, - 0x061737377, - 0x06f72643a, + 0x00025735b, + 0x025735d3a, 0x020006361, 0x06e277420, 0x072656164, 0x02023632f, - 0x072636f6e, - 0x0733b2070, - 0x06c656173, + 0x0636f6e73, + 0x03b20706c, + 0x065617365, + 0x020726562, + 0x06f6f7400, + 0x0236c2f73, + 0x074617473, + 0x000617270, + 0x03a206f70, + 0x0656e2023, + 0x06c2f7374, + 0x061747300, + 0x06172703a, + 0x020726561, + 0x064207374, + 0x061747300, + 0x061646472, + 0x03a006172, + 0x0703a206e, + 0x06f206574, + 0x068657220, + 0x061646472, + 0x065737300, + 0x0236c2f33, + 0x02f63746c, + 0x0006f7065, + 0x06e20236c, + 0x02f332f63, + 0x0746c0023, + 0x06c2f332f, + 0x064617461, + 0x0006f7065, + 0x06e20236c, + 0x02f332f64, + 0x061746100, + 0x0636f6e6e, + 0x065637420, + 0x030783830, + 0x03600636f, + 0x06e6e6563, + 0x074006172, + 0x070200077, + 0x072697465, + 0x020726571, + 0x000726561, + 0x064207265, + 0x0706c7900, + 0x0636f6e6e, + 0x065637420, + 0x0252e3278, + 0x0252e3278, + 0x0252e3278, + 0x0252e3278, + 0x0252e3278, + 0x0252e3278, + 0x00025730a, + 0x00023612f, + 0x064617461, + 0x0006f7065, + 0x06e206172, + 0x0702f6461, + 0x074610077, + 0x072697465, + 0x020617270, + 0x0002e005b, + 0x06374726c, + 0x02d642074, + 0x06f206174, + 0x074616368, + 0x02066735d, + 0x00a00666f, + 0x0726b2066, + 0x061696c65, + 0x064005b72, + 0x0656d6f74, 0x065207265, - 0x0626f6f74, - 0x0000a000a, - 0x000000000, - 0x049d20000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x000000000, - 0x00003bde, + 0x061642065, + 0x072726f72, + 0x020282573, + 0x0295d0a00, + 0x023632f72, + 0x0636f6e73, + 0x0006f7065, + 0x06e696e67, + 0x02072636f, + 0x06e73005b, + 0x072656d6f, + 0x074652077, + 0x072697465, + 0x020657272, + 0x06f722028, + 0x02573295d, + 0x00a002f70, + 0x0726f632f, + 0x025642f6e, + 0x06f746500, + 0x064696500, + 0x023632f72, + 0x0636f6e73, + 0x00063616e, + 0x02774206f, + 0x070656e20, + 0x023632f72, + 0x0636f6e73, + 0x03b20706c, + 0x065617365, + 0x020726562, + 0x06f6f7400, + 0x070617373, + 0x0776f7264, + 0x03a200063, + 0x0616e2774, + 0x020726561, + 0x064202363, + 0x02f72636f, + 0x06e733b20, + 0x0706c6561, + 0x073652072, + 0x065626f6f, + 0x074000a00, + 0x00a000000, + 0x0000481a, 0x0, }; diff --git a/gnot/dat.h b/gnot/dat.h index a6fb38a5f395e388410cde432db3ef0da395c166..c065c76d3941d0562afbde562f630cf1ce14a54b 100644 --- a/gnot/dat.h +++ b/gnot/dat.h @@ -9,8 +9,7 @@ typedef struct MMUCache MMUCache; typedef struct Mach Mach; typedef struct PMMU PMMU; typedef struct Portpage Portpage; -typedef struct Scsi Scsi; -typedef struct Scsidata Scsidata; +typedef struct Scsibuf Scsibuf; typedef struct Ureg Ureg; typedef struct User User; @@ -177,27 +176,11 @@ extern Portpage portpage; extern int portispaged; extern int (*portservice[])(void); -/* - * for SCSI bus - */ -struct Scsidata -{ - uchar * base; - uchar * lim; - uchar * ptr; -}; - -struct Scsi +struct Scsibuf { - QLock; - ulong pid; - ushort target, lun; - ushort rflag; - ushort status; - Scsidata cmd; - Scsidata data; - uchar * save; - uchar cmdblk[16]; + void *virt; + void *phys; + Scsibuf *next; }; #define NERR 25 diff --git a/gnot/fns.h b/gnot/fns.h index 73431ae92a59d464fe418a6d6230d7d282299e8c..dce3692f361aa5b8ce27fde9ac96df0b5f9ac32d 100644 --- a/gnot/fns.h +++ b/gnot/fns.h @@ -40,17 +40,19 @@ void restfpregs(FPsave*); void screeninit(void); void screenputc(int); void screenputs(char*, int); +Scsibuf *scsialloc(ulong); +int scsibread(int, Scsibuf*, long, long, long); +int scsibwrite(int, Scsibuf*, long, long, long); +Scsibuf *scsibuf(void); +int scsicap(int, void*); +void scsifree(Scsibuf*); +int scsiready(int); +int scsisense(int, void *); int scsicap(int, uchar *); -Scsi* scsicmd(int, int, long); void scsictrlintr(void); void scsidmaintr(void); -int scsiexec(Scsi *, int); -void scsiinit(void); -int scsiready(int); uchar* scsirecv(uchar *); -void scsireset(void); void scsirun(void); -int scsisense(int, uchar *); uchar* scsixmit(uchar *); int spl1(void); void spldone(void); diff --git a/gnot/main.c b/gnot/main.c index f724774b021656fe0f707946d4b528e35b759db3..978f72333f5d6a8a1cfcd5ee891f2043d15f1e9a 100644 --- a/gnot/main.c +++ b/gnot/main.c @@ -121,24 +121,12 @@ init0(void) u->slash = (*devtab[0].attach)(0); u->dot = clone(u->slash, 0); if(!waserror()){ - c = namec("#e/terminal", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, "at&t gnot 1", strlen("at&t gnot 1"), 0); - close(c); - c = namec("#e/cputype", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, "68020", strlen("68020"), 0); - close(c); - c = namec("#e/bootuser", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, bootuser, strlen(bootuser), 0); - close(c); - c = namec("#e/bootline", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, bootline, strlen(bootline), 0); - close(c); - c = namec("#e/bootserver", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, bootserver, strlen(bootserver), 0); - close(c); - c = namec("#e/bootdevice", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, bootdevice, strlen(bootdevice), 0); - close(c); + ksetenv("terminal", "at&t gnot 1"); + ksetenv("cputype", "68020"); + ksetenv("bootuser", bootuser); + ksetenv("bootline", bootline); + ksetenv("bootserver", bootserver); + ksetenv("bootdevice", bootdevice); poperror(); } diff --git a/pc/devfloppy.c b/pc/devfloppy.c index ec8a2f63fb7f602cd553cd22cf1a1a251a4a16a8..768e71ccf5b57c3d20cc7ab9a6079054f5a26844 100644 --- a/pc/devfloppy.c +++ b/pc/devfloppy.c @@ -420,6 +420,7 @@ floppywrite(Chan *c, void *a, long n) long rv, i; char *aa = a; int dev; +extern void vgaset(char*); rv = 0; dp = &fl.d[c->qid.path & ~Qmask]; @@ -452,6 +453,8 @@ floppywrite(Chan *c, void *a, long n) } else if(SNCMP(aa, "reset") == 0){ fl.confused = 1; floppyon(dp); + } else if(SNCMP(aa, "v") == 0){ + vgaset(aa+1); } qunlock(&fl); break; diff --git a/pc/main.c b/pc/main.c index 093d48f996eb104bf8718381d9cc1ca729efa6aa..198c619f5ae5355f987281822f16e592863a7570 100644 --- a/pc/main.c +++ b/pc/main.c @@ -79,12 +79,8 @@ init0(void) chandevinit(); if(!waserror()){ - c = namec("#e/terminal", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, "safari", strlen("next station 68040"), 0); - close(c); - c = namec("#e/cputype", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, "386", strlen("68020"), 0); - close(c); + ksetenv("terminal", "safari"); + ksetenv("cputype", "386"); poperror(); } touser(); diff --git a/pc/vga.c b/pc/vga.c index 088368ca937914771f593327762b06a6426cc0a0..7acc8b09a082310b9b0d7232db56bb527f62e31c 100644 --- a/pc/vga.c +++ b/pc/vga.c @@ -105,43 +105,6 @@ vgardplane(int p) grout(Grms, p&3); } -/* - * partial screen munching squares - */ -#define DELTA 1 -#define DADDR ((long *) 0) -#define SIDE 256 -void -munch(void) -{ - ulong x,y,i,d; - uchar *screen, tab[8], *p; - - screen = (uchar *)SCREENMEM; - d=0; - tab[0] = 0x80; - tab[1] = 0x40; - tab[2] = 0x20; - tab[3] = 0x10; - tab[4] = 0x08; - tab[5] = 0x04; - tab[6] = 0x02; - tab[7] = 0x01; - - for(i=0; in*sizeof(Envval); print(" %d free enval chars\n", i+((char *)envalloc.end-(char*)envalloc.vfree)); } + +/* + * to let the kernel set environment variables + */ +void +ksetenv(char *ename, char *eval) +{ + Chan *c; + char buf[2*NAMELEN]; + + sprint(buf, "#e/%s", ename); + c = namec(buf, Acreate, OWRITE, 0600); + (*devtab[c->type].write)(c, eval, strlen(eval), 0); + close(c); +} diff --git a/port/devscsi.c b/port/devscsi.c index 0314ec8cec16b9411f32b60927661c0eb564c03f..ad3aed63ac6ba17bf9bff240fb604208f97d0b28 100644 --- a/port/devscsi.c +++ b/port/devscsi.c @@ -7,12 +7,63 @@ #include "devtab.h" #include "io.h" -int scsiintr(void); - #define DPRINT if(debug)kprint -enum { - Qdir, Qcmd, Qdata, Qdebug, +typedef struct Scsi Scsi; +typedef struct Scsidata Scsidata; + +#define Nbuf 4 +#define DATASIZE (8*1024) +enum +{ + ScsiTestunit = 0x00, + ScsiExtsens = 0x03, + ScsiGetcap = 0x25, + ScsiRead = 0x08, + ScsiWrite = 0x0a, + + /* + * data direction + */ + ScsiIn = 1, + ScsiOut = 0, +}; + +struct Scsidata +{ + uchar *base; + uchar *lim; + uchar *ptr; +}; + +struct Scsi +{ + QLock; + ulong pid; + ushort target; + ushort lun; + ushort rflag; + ushort status; + Scsidata cmd; + Scsidata data; + Scsibuf *b; + uchar *save; + uchar cmdblk[16]; +}; + +struct{ + Lock; + Scsibuf *free; +}scsibufalloc; + +static Scsi staticcmd; /* BUG: should be one per scsi device */ + +enum +{ + Qdir, + Qcmd, + Qdata, + Qdebug, }; static Dirtab scsidir[]={ @@ -20,22 +71,13 @@ static Dirtab scsidir[]={ "data", {Qdata}, 0, 0600, "debug", {Qdebug}, 1, 0600, }; - #define NSCSI (sizeof scsidir/sizeof(Dirtab)) -static Scsi staticcmd; /* BUG */ -#define DATASIZE (8*1024) -static uchar datablk[DATASIZE]; /* BUG */ - static int debugs[8]; -static int isscsi; static int ownid = 0x08|7; /* enable advanced features */ -void * -dmaalloc(ulong n) -{ - return ialloc(n, 0); -} +int scsiexec(Scsi*, int); +int scsiintr(void); static int scsigen1(Chan *c, long qid, Dir *dp) @@ -77,12 +119,6 @@ scsigen(Chan *c, Dirtab *tab, long ntab, long s, Dir *dp) return scsigen1(c, (c->qid.path&~CHDIR)+s+1, dp); } -void -scsireset(void) -{ - addportintr(scsiintr); -} - Chan * scsiattach(char *param) { @@ -138,7 +174,8 @@ long scsiread(Chan *c, char *a, long n, ulong offset) { Scsi *cmd = &staticcmd; - if (n == 0) + + if(n == 0) return 0; if(c->qid.path & CHDIR) return devdirread(c, a, n, 0, 0, scsigen); @@ -149,9 +186,9 @@ scsiread(Chan *c, char *a, long n, ulong offset) n = 1; }else n = 0; - }else switch((int)(c->qid.path & 0xf)){ + }else switch(c->qid.path & 0xf){ case Qcmd: - if (n < 4) + if(n < 4) error(Ebadarg); if(canqlock(cmd)){ qunlock(cmd); @@ -160,8 +197,10 @@ scsiread(Chan *c, char *a, long n, ulong offset) if(cmd->pid != u->p->pid) error(Egreg); n = 4; - *a++ = 0; *a++ = 0; - *a++ = cmd->status>>8; *a = cmd->status; + *a++ = 0; + *a++ = 0; + *a++ = cmd->status >> 8; + *a = cmd->status; cmd->pid = 0; qunlock(cmd); break; @@ -174,19 +213,26 @@ scsiread(Chan *c, char *a, long n, ulong offset) error(Egreg); if (n > DATASIZE) error(Ebadarg); - cmd->data.base = datablk; + cmd->b = scsibuf(); + cmd->data.base = cmd->b->virt; + if(waserror()){ + scsifree(cmd->b); + nexterror(); + } cmd->data.lim = cmd->data.base + n; cmd->data.ptr = cmd->data.base; cmd->save = cmd->data.base; - scsiexec(cmd, 1); + scsiexec(cmd, ScsiIn); n = cmd->data.ptr - cmd->data.base; memmove(a, cmd->data.base, n); + poperror(); + scsifree(cmd->b); break; case Qdebug: - if (offset == 0) { + if(offset == 0){ n=1; *a="01"[debugs[(c->qid.path>>4)&7]!=0]; - } else + }else n = 0; break; default: @@ -199,6 +245,7 @@ long scsiwrite(Chan *c, char *a, long n, ulong offset) { Scsi *cmd = &staticcmd; + if(c->qid.path==1 && n>0){ if(offset == 0){ n = 1; @@ -206,9 +253,9 @@ scsiwrite(Chan *c, char *a, long n, ulong offset) scsireset(); }else n = 0; - }else switch ((int)c->qid.path & 0xf){ + }else switch(c->qid.path & 0xf){ case Qcmd: - if (n < 6 || n > sizeof cmd->cmdblk) + if(n < 6 || n > sizeof cmd->cmdblk) error(Ebadarg); qlock(cmd); cmd->pid = u->p->pid; @@ -229,19 +276,26 @@ scsiwrite(Chan *c, char *a, long n, ulong offset) error(Egreg); if (n > DATASIZE) error(Ebadarg); - cmd->data.base = datablk; + cmd->b = scsibuf(); + cmd->data.base = cmd->b->virt; + if(waserror()){ + scsifree(cmd->b); + nexterror(); + } cmd->data.lim = cmd->data.base + n; cmd->data.ptr = cmd->data.base; cmd->save = cmd->data.base; memmove(cmd->data.base, a, n); - scsiexec(cmd, 0); + scsiexec(cmd, ScsiOut); n = cmd->data.ptr - cmd->data.base; + poperror(); + scsifree(cmd->b); break; case Qdebug: - if (offset == 0) { + if(offset == 0){ debugs[(c->qid.path>>4)&7] = (*a=='1'); n = 1; - } else + }else n = 0; break; default: @@ -263,37 +317,39 @@ scsiwstat(Chan *c, char *dp) } Scsi * -scsicmd(int dev, int cmdbyte, long size) +scsicmd(int dev, int cmdbyte, Scsibuf *b, long size) { Scsi *cmd = &staticcmd; - if(size > DATASIZE) - panic("scsicmd %d", size); qlock(cmd); - cmd->target = dev>>3; - cmd->lun = dev&7; + cmd->target = dev >> 3; + cmd->lun = dev & 7; cmd->cmd.base = cmd->cmdblk; cmd->cmd.ptr = cmd->cmd.base; memset(cmd->cmdblk, 0, sizeof cmd->cmdblk); cmd->cmdblk[0] = cmdbyte; - switch(cmdbyte>>5){ + switch(cmdbyte >> 5){ case 0: - cmd->cmd.lim = &cmd->cmdblk[6]; break; + cmd->cmd.lim = &cmd->cmdblk[6]; + break; case 1: - cmd->cmd.lim = &cmd->cmdblk[10]; break; + cmd->cmd.lim = &cmd->cmdblk[10]; + break; default: - cmd->cmd.lim = &cmd->cmdblk[12]; break; + cmd->cmd.lim = &cmd->cmdblk[12]; + break; } switch(cmdbyte){ - case 0x00: /* test unit ready */ + case ScsiTestunit: break; - case 0x03: /* read sense data */ + case ScsiExtsens: cmd->cmdblk[4] = size; break; - case 0x25: /* read capacity */ + case ScsiGetcap: break; } - cmd->data.base = datablk; + cmd->b = b; + cmd->data.base = b->virt; cmd->data.lim = cmd->data.base + size; cmd->data.ptr = cmd->data.base; cmd->save = cmd->data.base; @@ -303,12 +359,20 @@ scsicmd(int dev, int cmdbyte, long size) int scsiready(int dev) { - Scsi *cmd = scsicmd(dev, 0x00, 0); + Scsi *cmd; int status; - status = scsiexec(cmd, 0); + cmd = scsicmd(dev, ScsiTestunit, scsibuf(), 0); + if(waserror()){ + scsifree(cmd->b); + qunlock(cmd); + nexterror(); + } + status = scsiexec(cmd, ScsiOut); + poperror(); + scsifree(cmd->b); qunlock(cmd); - if ((status&0xff00) != 0x6000) + if((status&0xff00) != 0x6000) error(Eio); return status&0xff; } @@ -316,13 +380,21 @@ scsiready(int dev) int scsisense(int dev, void *p) { - Scsi *cmd = scsicmd(dev, 0x03, 18); + Scsi *cmd; int status; - status = scsiexec(cmd, 1); + cmd = scsicmd(dev, ScsiExtsens, scsibuf(), 18); + if(waserror()){ + scsifree(cmd->b); + qunlock(cmd); + nexterror(); + } + status = scsiexec(cmd, ScsiIn); memmove(p, cmd->data.base, 18); + poperror(); + scsifree(cmd->b); qunlock(cmd); - if ((status&0xff00) != 0x6000) + if((status&0xff00) != 0x6000) error(Eio); return status&0xff; } @@ -330,17 +402,113 @@ scsisense(int dev, void *p) int scsicap(int dev, void *p) { - Scsi *cmd = scsicmd(dev, 0x25, 8); + Scsi *cmd; int status; - status = scsiexec(cmd, 1); + cmd = scsicmd(dev, ScsiGetcap, scsibuf(), 8); + if(waserror()){ + scsifree(cmd->b); + qunlock(cmd); + nexterror(); + } + status = scsiexec(cmd, ScsiIn); memmove(p, cmd->data.base, 8); + poperror(); + scsifree(cmd->b); qunlock(cmd); - if ((status&0xff00) != 0x6000) + if((status&0xff00) != 0x6000) error(Eio); return status&0xff; } +int +scsibread(int dev, Scsibuf *b, long n, long blocksize, long blockno) +{ + Scsi *cmd; + + cmd = scsicmd(dev, ScsiRead, b, n*blocksize); + if(waserror()){ + qunlock(cmd); + nexterror(); + } + cmd->cmdblk[1] = blockno >> 16; + cmd->cmdblk[2] = blockno >> 8; + cmd->cmdblk[3] = blockno; + cmd->cmdblk[4] = n; + scsiexec(cmd, ScsiIn); + n = cmd->data.ptr - cmd->data.base; + poperror(); + qunlock(cmd); + return n; +} + +int +scsibwrite(int dev, Scsibuf *b, long n, long blocksize, long blockno) +{ + Scsi *cmd; + + cmd = scsicmd(dev, ScsiWrite, b, n*blocksize); + if(waserror()){ + qunlock(cmd); + nexterror(); + } + cmd->cmdblk[1] = blockno >> 16; + cmd->cmdblk[2] = blockno >> 8; + cmd->cmdblk[3] = blockno; + cmd->cmdblk[4] = n; + scsiexec(cmd, ScsiOut); + n = cmd->data.ptr - cmd->data.base; + poperror(); + qunlock(cmd); + return n; +} + +/* + * allocate a scsi buf of any length + * must be called at ialloc time and never freed + */ +Scsibuf * +scsialloc(ulong n) +{ + Scsibuf *b; + uchar *x; + long m; + + b = ialloc(sizeof *b, 0); + b->virt = b->phys = ialloc(n, 0); + return b; +} + +/* + * get a scsi io buffer of DATASIZE size + */ +Scsibuf * +scsibuf(void) +{ + Scsibuf *b; + + for(;;) { + lock(&scsibufalloc); + if(b = scsibufalloc.free) { + scsibufalloc.free = b->next; + unlock(&scsibufalloc); + return b; + } + + unlock(&scsibufalloc); + resrcwait("no scsi buffers"); + } +} + +void +scsifree(Scsibuf *b) +{ + lock(&scsibufalloc); + b->next = scsibufalloc.free; + scsibufalloc.free = b; + unlock(&scsibufalloc); +} + typedef struct Scsictl { uchar asr; uchar data; @@ -385,6 +553,7 @@ enum Aux_status { PE=0x02, DBR=0x01, }; +static int isscsi; static QLock scsilock; static Rendez scsirendez; static uchar *datap; @@ -394,6 +563,37 @@ static void nop(void) {} +void +scsireset(void) +{ + static int alloced = 0; + int i; + + addportintr(scsiintr); + if(!alloced){ + for(i = 0; i < Nbuf; i++) + scsifree(scsialloc(DATASIZE)); + alloced = 1; + } +} + +void +scsiinit(void) +{ + isscsi = portprobe("scsi", -1, Scsiaddr, -1, 0L); + if (isscsi >= 0) { + DEV->stat = Scsirst; + WAIT; nop(); WAIT; + DEV->stat = Inten; + while (DEV->stat & (INTRQ|DMA)) + nop(); + ownid &= 0x0f; /* possibly advanced features */ + ownid |= 0x80; /* 16MHz */ + PUT(Own_id, ownid); + PUT(Cmd, Reset); + } +} + static int scsidone(void *arg) { @@ -452,23 +652,6 @@ scsirun(void) scsibusy = 0; } -void -scsiinit(void) -{ - isscsi = portprobe("scsi", -1, Scsiaddr, -1, 0L); - if (isscsi >= 0) { - DEV->stat = Scsirst; - WAIT; nop(); WAIT; - DEV->stat = Inten; - while (DEV->stat & (INTRQ|DMA)) - nop(); - ownid &= 0x0f; /* possibly advanced features */ - ownid |= 0x80; /* 16MHz */ - PUT(Own_id, ownid); - PUT(Cmd, Reset); - } -} - void scsireset0(void) { diff --git a/port/devwren.c b/port/devwren.c index 14c02f151a3d07ff6962847736de0dab24019055..10ae369cdbf0a2baeee49ad36ed01865f37a53b5 100644 --- a/port/devwren.c +++ b/port/devwren.c @@ -7,18 +7,20 @@ #include "devtab.h" #include "io.h" +#define DATASIZE (8*1024) + typedef struct Partition Partition; typedef struct Drive Drive; enum { Npart= 8+2, /* 8 sub partitions, disk, and partition */ - Ndisk= 64, /* maximum disks */ + Ndisk= 64, /* maximum disks; must be power of 2 or change DRIVE */ /* file types */ Qdir= 0, }; #define PART(x) ((x)&0xF) -#define DRIVE(x) (((x)>>4)&0x7) +#define DRIVE(x) (((x)>>4)&(Ndisk-1)) #define MKQID(d,p) (((d)<<4) | (p)) struct Partition @@ -38,8 +40,6 @@ struct Drive static Drive wren[Ndisk]; -#define DATASIZE (8*1024) /* BUG */ - static void wrenpart(int); static long wrenio(Drive *, Partition *, int, char *, ulong, ulong); @@ -86,17 +86,19 @@ wrengen(Chan *c, Dirtab *tab, long ntab, long s, Dir *dirp) ulong l; qid.vers = 0; - drive = s/Npart; - s = s % Npart; + drive = c->dev; if(drive >= Ndisk) return -1; dp = &wren[drive]; if(s >= dp->npart) - return 0; + return -1; pp = &dp->p[s]; - sprint(name, "hd%d%s", drive, pp->name); + if(drive & 7) + sprint(name, "hd%d.%d%s", drive>>3, drive&7, pp->name); + else + sprint(name, "hd%d%s", drive>>3, pp->name); name[NAMELEN] = 0; qid.path = MKQID(drive, s); l = (pp->end - pp->start) * dp->bytes; @@ -188,6 +190,8 @@ wrenread(Chan *c, char *a, long n, ulong offset) return devdirread(c, a, n, 0, 0, wrengen); d = &wren[DRIVE(c->qid.path)]; + if(d->npart == 0) + errors("bad drive"); p = &d->p[PART(c->qid.path)]; return wrenio(d, p, 0, a, n, offset); } @@ -199,6 +203,8 @@ wrenwrite(Chan *c, char *a, long n, ulong offset) Partition *p; d = &wren[DRIVE(c->qid.path)]; + if(d->npart == 0) + errors("bad drive"); p = &d->p[PART(c->qid.path)]; return wrenio(d, p, 1, a, n, offset); } @@ -206,8 +212,7 @@ wrenwrite(Chan *c, char *a, long n, ulong offset) static long wrenio(Drive *d, Partition *p, int write, char *a, ulong n, ulong offset) { - Scsi *cmd; - void *b; + Scsibuf *b; ulong block; if(n % d->bytes || offset % d->bytes) @@ -222,26 +227,20 @@ wrenio(Drive *d, Partition *p, int write, char *a, ulong n, ulong offset) n = p->end - block; if(n == 0) return 0; - if(write) - cmd = scsicmd(d->drive, 0x0a, n*d->bytes); - else - cmd = scsicmd(d->drive, 0x08, n*d->bytes); + b = scsibuf(); if(waserror()){ - qunlock(cmd); + scsifree(b); nexterror(); } - cmd->cmdblk[1] = block>>16; - cmd->cmdblk[2] = block>>8; - cmd->cmdblk[3] = block; - cmd->cmdblk[4] = n; - if(write) - memmove(cmd->data.base, a, n*d->bytes); - scsiexec(cmd, !write); - n = cmd->data.ptr - cmd->data.base; - if(!write) - memmove(a, cmd->data.base, n); - qunlock(cmd); + if(write){ + memmove(b->virt, a, n*d->bytes); + n = scsibwrite(d->drive, b, n, d->bytes, block); + }else{ + n = scsibread(d->drive, b, n, d->bytes, block); + memmove(a, b->virt, n); + } poperror(); + scsifree(b); return n; } @@ -252,13 +251,11 @@ wrenio(Drive *d, Partition *p, int write, char *a, ulong n, ulong offset) static void wrenpart(int dev) { - Scsi *cmd; Drive *dp; Partition *pp; uchar buf[32]; - char *b; - char *line[Npart+1]; - char *field[3]; + Scsibuf *b; + char *rawpart, *line[Npart+1], *field[3]; ulong n; int i; @@ -267,8 +264,7 @@ wrenpart(int dev) scsicap(dev, buf); dp = &wren[dev]; dp->drive = dev; - if(dp->npart) - return; + /* * we always have a partition for the whole disk * and one for the partition table @@ -287,39 +283,34 @@ wrenpart(int dev) /* * read partition table from disk, null terminate */ - cmd = scsicmd(dev, 0x08, dp->bytes); + b = scsibuf(); if(waserror()){ - qunlock(cmd); + scsifree(b); nexterror(); } - n = dp->p[0].end-1; - cmd->cmdblk[1] = n>>16; - cmd->cmdblk[2] = n>>8; - cmd->cmdblk[3] = n; - cmd->cmdblk[4] = 1; - scsiexec(cmd, 1); - cmd->data.base[dp->bytes-1] = 0; + scsibread(dev, b, 1, dp->bytes, dp->p[0].end-1); + rawpart = b->virt; + rawpart[dp->bytes-1] = 0; /* * parse partition table. */ - n = getfields((char *)cmd->data.base, line, Npart+1, '\n'); - if(strncmp(line[0], MAGIC, sizeof(MAGIC)-1) != 0) - goto out; - for(i = 1; i < n; i++){ - pp++; - if(getfields(line[i], field, 3, ' ') != 3){ - break; + n = getfields(rawpart, line, Npart+1, '\n'); + if(strncmp(line[0], MAGIC, sizeof(MAGIC)-1) == 0){ + for(i = 1; i < n; i++){ + pp++; + if(getfields(line[i], field, 3, ' ') != 3){ + break; + } + strncpy(pp->name, field[0], NAMELEN); + pp->start = strtoul(field[1], 0, 0); + pp->end = strtoul(field[2], 0, 0); + if(pp->start > pp->end || pp->start >= dp->p[0].end){ + break; + } + dp->npart++; } - strncpy(pp->name, field[0], NAMELEN); - pp->start = strtoul(field[1], 0, 0); - pp->end = strtoul(field[2], 0, 0); - if(pp->start > pp->end || pp->start >= dp->p[0].end){ - break; - } - dp->npart++; } -out: - qunlock(cmd); poperror(); + scsifree(b); } diff --git a/port/fault.c b/port/fault.c index 244f52aa8d8d195a92fa93e093520eb9dde27469..6bbdba9fe36ef70083a02f4e898bf584c7f89c55 100644 --- a/port/fault.c +++ b/port/fault.c @@ -294,15 +294,16 @@ seg(Proc *p, ulong addr, int dolock) et = &p->seg[NSEG]; for(s = p->seg; s < et; s++) - if(n = *s) - if(addr >= n->base && addr < n->top) { - if(dolock == 0) - return n; - - qlock(&n->lk); - if(addr >= n->base && addr < n->top) - return n; - qunlock(&n->lk); + if(n = *s){ + if(addr >= n->base && addr < n->top) { + if(dolock == 0) + return n; + + qlock(&n->lk); + if(addr >= n->base && addr < n->top) + return n; + qunlock(&n->lk); + } } return 0; diff --git a/port/portfns.h b/port/portfns.h index 6b8c912818e68ba0a67360d7d7d390b2ff73769b..f4d22ed27774ad1b24eb02a09d53a7bc098549e6 100644 --- a/port/portfns.h +++ b/port/portfns.h @@ -101,6 +101,7 @@ void kbdrepeat(int); void kickpager(void); int kprint(char*, ...); void kproc(char*, void(*)(void*), void*); +void ksetenv(char*, char*); void lights(int); void lock(Lock*); void lockinit(void); diff --git a/power/main.c b/power/main.c index db10bcebba4b8057b14fe3219fb276a439a92357..97f11681b2f67b422142aa66819fc9214c2bc999 100644 --- a/power/main.c +++ b/power/main.c @@ -230,9 +230,7 @@ init0(void) chandevinit(); if(!waserror()){ - c = namec("#e/cputype", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, "mips", strlen("mips"), 0); - close(c); + ksetenv("cputype", "mips"); poperror(); } diff --git a/ss/main.c b/ss/main.c index a4ab5ec28db85a01405c2be60ed788301a8c860f..a6c3a25b60cc3fa753a67d4f18ede95f3dec623d 100644 --- a/ss/main.c +++ b/ss/main.c @@ -111,12 +111,8 @@ init0(void) u->dot = clone(u->slash, 0); if(!waserror()){ - c = namec("#e/terminal", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, "sun sparc slc", strlen("sun sparc slc"), 0); - close(c); - c = namec("#e/cputype", Acreate, OWRITE, 0600); - (*devtab[c->type].write)(c, "sparc", strlen("sparc"), 0); - close(c); + ksetenv("terminal", "sun sparc slc"); + ksetenv("cputype", "sparc"); poperror(); }