~kris/9p

9hist

0d8f610864fd5fdac0cd1373f290a2f4c59ae779 — David du Colombier 34 years ago 6aa28cf
Plan 9 from Bell Labs 1991-11-01
M gnot/main.c => gnot/main.c +1 -1
@@ 121,7 121,7 @@ init0(void)
	u->slash = (*devtab[0].attach)(0);
	u->dot = clone(u->slash, 0);
	if(!waserror()){
		ksetenv("terminal", "at&t gnot 1");
		ksetenv("terminal", "at&t gnot");
		ksetenv("cputype", "68020");
		ksetenv("bootuser", bootuser);
		ksetenv("bootline", bootline);

M pc/main.c => pc/main.c +1 -1
@@ 79,7 79,7 @@ init0(void)
	chandevinit();

	if(!waserror()){
		ksetenv("terminal", "safari");
		ksetenv("terminal", "at&t safari");
		ksetenv("cputype", "386");
		poperror();
	}

M port/devnonet.c => port/devnonet.c +8 -16
@@ 19,7 19,6 @@ enum {
	 *  tuning parameters
	 */
	MSrexmit = 250,		/* retranmission interval in ms */
	MSack = 50,		/* ms to sit on an ack */

	/*
	 *  relative or immutable


@@ 684,7 683,8 @@ nostartconv(Noconv *cp, int circuit, char *raddr, int state)
	cp->out[0].mid = 0;
	cp->out[0].acked = 1;
	cp->out[0].rem = 0;
	cp->afirst = cp->anext = 0;
	cp->ack = 0;
	cp->sendack = 0;
	cp->first = cp->next = 1;
	cp->rexmit = cp->bad = cp->sent = cp->rcvd = 0;
	cp->lastacked = Nnomsg|(Nnomsg-1);


@@ 972,13 972,8 @@ norack(Noconv *cp, int mid)
static void
noqack(Noconv *cp, int mid)
{
	int next;

	next = (cp->anext + 1)&Nmask;
	if(next != cp->afirst){
		cp->ack[cp->anext] = mid;
		cp->anext = next;
	}
	cp->ack = mid;
	cp->sendack = 1;
}

/*


@@ 1028,10 1023,8 @@ nosend(Noconv *cp, Nomsg *mp)
	 *  get the next acknowledge to use if the next queue up
	 *  is not full.
	 */
	if(cp->afirst!=cp->anext && cp->rq->next->len<16*1024){
		cp->hdr->ack = cp->ack[cp->afirst];
		cp->afirst = (cp->afirst+1)&Nmask;
	}
	cp->sendack = 0;
	cp->hdr->ack = cp->ack;
	cp->hdr->mid = mp->mid;

	/*


@@ 1268,7 1261,6 @@ nonetrcvmsg(Noconv *cp, Block *bp)
	if(mp->rem == 0){
		cp->hdr->flag &= ~(NO_NEWCALL|NO_SERVICE);
		norack(cp, h->ack);
		noqack(cp, h->mid);
		if(f & NO_ACKME)
			noqack(cp, h->mid);
		mp->last->flags |= S_DELIM;


@@ 1470,8 1462,8 @@ nokproc(void *arg)
				/*
				 *  get the acknowledges out
				 */
				while(cp->afirst!=cp->anext && cp->rq->next->len<16*1024){
					DPRINT("sending ack %d\n", cp->ack[cp->afirst]);
				if(cp->sendack){
					DPRINT("sending ack %d\n", cp->ack);
					nosendctl(cp, /*NO_NULL*/0, 0);
				}
				qunlock(cp);

M port/ipdat.h => port/ipdat.h +1 -1
@@ 116,7 116,7 @@ enum					/* Packet types */
	Ilack,
	Ilquerey,
	Ilstate,
	Ilreset,
	Ilclose,
};

enum					/* Connection state */

M port/portdat.h => port/portdat.h +1 -0
@@ 137,6 137,7 @@ struct Chan
{
	QLock	rdl;			/* read access */
	QLock	wrl;			/* write access */
	Lock	offl;			/* offset access */
	Ref;
	union{
		Chan	*next;		/* allocation */

M port/stil.c => port/stil.c +71 -37
@@ 12,8 12,9 @@
#include 	"ipdat.h"

#define DPRINT if(pip)print
int 	ilcksum = 1;
static 	int initseq = 25000;
int 		ilcksum = 1;
static 	int 	initseq = 25000;
static	Rendez	ilackr;
char	*ilstate[] = { "Closed", "Syncer", "Syncee", "Established", "Listening", "Closing" };

void	ilrcvmsg(Ipconv*, Block*);


@@ 56,12 57,37 @@ void
ilclose(Queue *q)
{
	Ipconv *s;
	Ilcb *ic;
	Block *bp, *next;

	s = (Ipconv *)(q->ptr);
	ic = &s->ilctl;
	qlock(s);
	s->ref--;
	qunlock(s);
	s->readq = 0;
	qunlock(s);

	switch(ic->state) {
	case Ilclosed:
		break;
	case Ilsyncer:
	case Ilsyncee:
	case Ilestablished:
		for(bp = ic->outoforder; bp; bp = next) {
			next = bp->list;
			freeb(bp);
		}
		ic->outoforder = 0;
		ic->state = Ilclosing;
		ilsendctl(s, 0, Ilclose, 0);
		break;
	Illistening:
		ic->state = Ilclosed;
		break;
	Ilclosing:
		/* ?? */
		break;
	}
}

void


@@ 90,9 116,9 @@ iloput(Queue *q, Block *bp)
	}

	/* Only allow atomic Il writes to form datagrams */
	for(f = bp; f && (f->flags&S_DELIM) == 0; f = f->next)
	for(f = bp; f->next; f = f->next)
		;
	if(f ==0 || (f->flags & S_DELIM) == 0) {
	if((f->flags & S_DELIM) == 0) {
		freeb(bp);
		error(Emsgsize);
	}


@@ 117,10 143,10 @@ iloput(Queue *q, Block *bp)
	hnputs(ih->illen, dlen+IL_HDRSIZE);
	hnputs(ih->ilsrc, ipc->psrc);
	hnputs(ih->ildst, ipc->pdst);
	ih->iltype = Ildata;
	ih->ilspec = 0;
	hnputl(ih->ilid, ic->sent++);
	hnputl(ih->ilack, ic->recvd);
	ih->iltype = Ildata;
	ih->ilspec = 0;
	ih->ilsum[0] = 0;
	ih->ilsum[1] = 0;



@@ 163,7 189,6 @@ ilackto(Ilcb *ic, ulong ackto)
		bp->list = 0;
		freeb(bp);
	}
	if(ic->unacked == 0) print("ack empty: %d\n", ackto);
}

void


@@ 201,12 226,13 @@ ilrcvmsg(Ipconv *ipc, Block *bp)
	dst = nhgetl(ih->src);

	etab = &ipc[conf.ip];
	for(s = ipc; s < etab; s++) {
		if(s->psrc == sp && s->pdst == dp && s->dst == dst) {
	for(s = ipc; s < etab; s++)
		if(s->psrc == sp)
		if(s->pdst == dp)
		if(s->dst == dst) {
			ilprocess(s, ih, bp);
			return;
		}
	}

	if(ih->iltype != Ilsync)
		goto drop;


@@ 216,7 242,9 @@ ilrcvmsg(Ipconv *ipc, Block *bp)

	/* Look for a listener */
	for(s = ipc; s < etab; s++) {
		if(s->ilctl.state == Illistening && s->pdst == 0 && s->dst == 0) {
		if(s->ilctl.state == Illistening)
		if(s->pdst == 0)
		if(s->dst == 0) {
			new = ipincoming(ipc);
			if(new == 0)
				goto reset;


@@ 238,7 266,7 @@ ilrcvmsg(Ipconv *ipc, Block *bp)
		}
	}
reset:
	ilsendctl(0, ih, Ilreset, 0);
	ilsendctl(0, ih, Ilclose, 0);
drop:
	freeb(bp);
}


@@ 250,7 278,6 @@ ilprocess(Ipconv *s, Ilhdr *h, Block *bp)
	Ilcb *ic;
	Ilhdr *oh;
	ulong id, ack, oid, dlen;
	int sendack = 0;

	id = nhgetl(h->ilid);
	ack = nhgetl(h->ilack);


@@ 272,7 299,7 @@ ilprocess(Ipconv *s, Ilhdr *h, Block *bp)
	case Ilsyncer:
		if(h->iltype == Ilsync && ic->start == ack) {
			ic->recvd = id+1;
			sendack = 1;
			ilsendctl(s, 0, Ilack, 1);
			ic->state = Ilestablished;
		}
		break;


@@ 295,27 322,27 @@ ilprocess(Ipconv *s, Ilhdr *h, Block *bp)
		freeb(bp);
		break;
	case Ildataquery:
		sendack = 1;
		ilsendctl(s, 0, Ilack, 1);
		/* NO break */
	case Ildata:
		ilackto(ic, ack);
		switch(ic->state) {
		ilackto(&s->ilctl, ack);
		switch(s->ilctl.state) {
		default:
			iloutoforder(s, h, bp);
			break;
		case Ilestablished:
			if(id < s->ilctl.recvd)
				freeb(bp);
			else if(s->readq == 0 || id > ic->recvd)
			else if(id > s->ilctl.recvd)
				iloutoforder(s, h, bp);
			else {
			else if(s->readq) {
				s->ilctl.recvd++;
				dlen = nhgets(h->illen)-IL_HDRSIZE;
				bp = btrim(bp, IL_EHSIZE+IL_HDRSIZE, dlen);
				bp->rptr += IL_EHSIZE+IL_HDRSIZE;
				PUTNEXT(s->readq, bp);
			}
		}
		break;
	case Ilreset:
	case Ilclose:
		ic->state = Ilclosed;
	hungup:
		if(s->readq) {


@@ 327,13 354,12 @@ ilprocess(Ipconv *s, Ilhdr *h, Block *bp)
		freeb(bp);
	}

	/* Process out of order packets */
	/* Since recvd may have changed we can process out of order packets */
	if(ic->state == Ilestablished && s->readq) {
		while(ic->outoforder) {
			bp = ic->outoforder;
			oh = (Ilhdr*)bp->rptr;
			oid = nhgetl(oh->ilid);
print("recvd = %d outoforder = %d\n", ic->recvd, oid);
			if(oid > ic->recvd)
				break;
			if(oid < ic->recvd) {


@@ 341,7 367,6 @@ print("recvd = %d outoforder = %d\n", ic->recvd, oid);
				freeb(bp);
			}
			if(oid == ic->recvd) {
print("outoforder %d\n", oid);
				ic->recvd++;
				ic->outoforder = bp->list;
				bp->list = 0;


@@ 351,11 376,6 @@ print("outoforder %d\n", oid);
			}
		}
	}

	if(sendack)
		ilsendctl(s, 0, Ilack, 1);

	print("revd = %d sent = %d\n", ic->recvd, ic->sent);
}




@@ 417,7 437,6 @@ ilsendctl(Ipconv *ipc, Ilhdr *inih, int type, int ack)
		hnputs(ih->ildst, ipc->pdst);
		hnputl(ih->ilid, ic->sent);
		hnputl(ih->ilack, ic->recvd);
		print("sendctl: id %d ack %d\n", ic->sent, ic->recvd);
	}
	ih->iltype = type;
	ih->ilspec = 0;


@@ 427,7 446,7 @@ ilsendctl(Ipconv *ipc, Ilhdr *inih, int type, int ack)
	if(ilcksum)
		hnputs(ih->ilsum, ptcl_csum(bp, IL_EHSIZE, IL_HDRSIZE));

	if(!ack && ipc) {
	if(ack == 0 && ipc) {
		ic->sent++;			/* Maybe needs locking */
		ilackq(&ipc->ilctl, bp);
	}


@@ 437,17 456,32 @@ ilsendctl(Ipconv *ipc, Ilhdr *inih, int type, int ack)
void
ilackproc(void *a)
{
	Rendez wait;
	Ipconv *base, *end, *s;
	Block *bp, *np;

	base = (Ipconv*)a;
	end = &base[conf.ip];

	for(;;) {
		tsleep(&wait, return0, 0, 250);
		tsleep(&ilackr, return0, 0, 100);
		for(s = base; s < end; s++) {
			if(s->ilctl.state == Ilclosed)
				continue;
/* Decide if we have to do the action !! */
			switch(s->ilctl.state) {
			case Ilclosed:
			case Illistening:
				break;
			case Ilclosing:
				bp = s->ilctl.unacked;
				if(bp) {
					np = copyb(bp, blen(bp));
					PUTNEXT(Ipoutput, np);
				}
				break;
			case Ilsyncer:
			case Ilsyncee:
			case Ilestablished:
				break;
			}
		}
	}
}

M port/sysfile.c => port/sysfile.c +14 -16
@@ 268,9 268,11 @@ sysread(ulong *arg)
		n = unionread(c, (void*)arg[1], n);
	else
		n = (*devtab[c->type].read)(c, (void*)arg[1], n, c->offset);
	c->offset += n;
	poperror();
	qunlock(&c->rdl);
	poperror();
	lock(&c->offl);
	c->offset += n;
	unlock(&c->offl);
	return n;
}



@@ 291,9 293,11 @@ syswrite(ulong *arg)
	if(c->qid.path & CHDIR)
		error(Eisdir);
	n = (*devtab[c->type].write)(c, (void*)arg[1], arg[2], c->offset);
	c->offset += n;
	poperror();
	qunlock(&c->wrl);
	poperror();
	lock(&c->offl);
	c->offset += n;
	unlock(&c->offl);
	return n;
}



@@ 310,32 314,26 @@ sysseek(ulong *arg)
		error(Eisdir);
	if(devchar[c->type] == '|')
		error(Eisstream);
	qlock(&c->rdl);
	qlock(&c->wrl);
	if(waserror()){
		qunlock(&c->rdl);
		qunlock(&c->wrl);
		nexterror();
	}
	off = 0;
	switch(arg[2]){
	case 0:
		c->offset = arg[1];
		off = c->offset = arg[1];
		break;

	case 1:
		lock(&c->offl);	/* lock for read/write update */
		c->offset += (long)arg[1];
		off = c->offset;
		unlock(&c->offl);
		break;

	case 2:
		(*devtab[c->type].stat)(c, buf);
		convM2D(buf, &dir);
		c->offset = dir.length + (long)arg[1];
		off = c->offset;
		break;
	}
	off = c->offset;
	poperror();
	qunlock(&c->rdl);
	qunlock(&c->wrl);
	return off;
}


M port/tcpoutput.c => port/tcpoutput.c +1 -1
@@ 226,7 226,7 @@ void
tcp_acktimer(Ipconv *s)
{
	Tcpctl *tcb = &s->tcpctl;
print("Acktimer!\n");

	qlock(tcb);
	tcb->flags |= FORCE;
	tcprcvwin(s);

M power/boot.c => power/boot.c +11 -26
@@ 59,22 59,9 @@ main(int argc, char *argv[])
	int i;
	int manual=0;

	open("#c/cons", 0);
	open("#c/cons", 1);
	open("#c/cons", 1);

	i = create("#e/sysname", 1, 0666);
	if(i < 0)
		error("sysname");
	if(write(i, argv[0], strlen(argv[0])) != strlen(argv[0]))
		error("sysname");
	close(i);
	i = create("#e/terminal", 1, 0666);
	if(i < 0)
		error("terminal");
	if(write(i, "sgi power 4D", strlen("sgi power 4D")) < 0)
		error("terminal");
	close(i);
	open("#c/cons", OREAD);
	open("#c/cons", OWRITE);
	open("#c/cons", OWRITE);

	argv++;
	argc--;	


@@ 139,7 126,7 @@ nonetdial(char *arg)
		 *  grab a lance channel, make it recognize ether type 0x900,
		 *  and push the nonet ethernet multiplexor onto it.
		 */
		efd = open("#l/1/ctl", 2);
		efd = open("#l/1/ctl", ORDWR);
		if(efd < 0){
			prerror("opening #l/1/ctl");
			return -1;


@@ 165,12 152,12 @@ nonetdial(char *arg)
	/*
	 *  grab a nonet channel and call up the file server
	 */
	fd = open("#nnonet/2/data", 2);
	fd = open("#nnonet/2/data", ORDWR);
	if(fd < 0) {
		prerror("opening #nnonet/2/data");
		return -1;
	}
	cfd = open("#nnonet/2/ctl", 2);
	cfd = open("#nnonet/2/ctl", ORDWR);
	if(cfd < 0){
		close(fd);
		fd = -1;


@@ 200,7 187,7 @@ dkdial(char *arg)
		/*
		 *  grab the hsvme and configure it for a datakit
		 */
		efd = open("#h/ctl", 2);
		efd = open("#h/ctl", ORDWR);
		if(efd < 0){
			prerror("opening #h/ctl");
			return -1;


@@ 222,12 209,12 @@ dkdial(char *arg)
	/*
	 *  grab a datakit channel and call up the file server
	 */
	fd = open("#kdk/5/data", 2);
	fd = open("#kdk/5/data", ORDWR);
	if(fd < 0) {
		prerror("opening #kdk/5/data");
		return -1;
	}
	cfd = open("#kdk/5/ctl", 2);
	cfd = open("#kdk/5/ctl", ORDWR);
	if(cfd < 0){
		close(fd);
		fd = -1;


@@ 292,8 279,6 @@ hotdial(char *arg)
	return open("#H/hotrod", ORDWR);
}



int
preamble(int fd)
{


@@ 424,9 409,9 @@ boot(int ask)
	}

	if(ask){
		execl("/mips/init", "init", "-m", 0);
		execl("/mips/init", "init", "-mc", 0);
	} else {
		execl("/mips/init", "init", 0);
		execl("/mips/init", "init", "-c", 0);
	}
	error("/mips/init");
}

M power/boot.h => power/boot.h +995 -1087
@@ 1,7 1,7 @@
ulong bootcode[]={
	0x000000407,
	0x000005788,
	0x000000748,
	0x000005660,
	0x000000700,
	0x000001290,
	0x000000000,
	0x000001020,


@@ 17,198 17,122 @@ ulong bootcode[]={
	0x0afa10004,
	0x00c000416,
	0x0afa20008,
	0x00c00094f,
	0x00c000905,
	0x0afa10004,
	0x008000412,
	0x000000027,
	0x023bdffe0,
	0x023bdffec,
	0x0afbf0000,
	0x0afa00018,
	0x0afa0000c,
	0x023c2824d,
	0x0afa20004,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa00008,
	0x023c38255,
	0x0afa30004,
	0x020020001,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa20008,
	0x023c3825d,
	0x0afa30004,
	0x020020001,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa20008,
	0x023c28265,
	0x0afa20004,
	0x020040001,
	0x0afa40008,
	0x0200201b6,
	0x00c000a92,
	0x0afa2000c,
	0x004210004,
	0x0afa1001c,
	0x023c38270,
	0x00c000849,
	0x0afa30004,
	0x08fa20028,
	0x000000027,
	0x08c420000,
	0x00c000a6e,
	0x0afa20004,
	0x0afa10014,
	0x08fa40028,
	0x08fa3001c,
	0x000000027,
	0x08c840000,
	0x00c000a6e,
	0x0afa40004,
	0x0afa10010,
	0x08fa4001c,
	0x024640004,
	0x0afa4001c,
	0x08fa20018,
	0x000000027,
	0x0afa40004,
	0x08fa30028,
	0x02445ffff,
	0x018a00013,
	0x0afa50018,
	0x08c820000,
	0x02003002d,
	0x080420000,
	0x000000027,
	0x08c630000,
	0x01443000d,
	0x000000027,
	0x0afa30008,
	0x08fa40010,
	0x00c000aba,
	0x0afa4000c,
	0x08fa30014,
	0x08c820000,
	0x02003006d,
	0x080420001,
	0x000000027,
	0x010230004,
	0x014430003,
	0x000000027,
	0x023c28278,
	0x00c000849,
	0x0afa20004,
	0x08fa3001c,
	0x00c000a8e,
	0x020020001,
	0x0afa2000c,
	0x024840004,
	0x0afa4001c,
	0x00800042e,
	0x024a5ffff,
	0x023c38026,
	0x0afa30004,
	0x023c38280,
	0x023c28265,
	0x00c0009e5,
	0x0afa20008,
	0x023c39902,
	0x0afa30004,
	0x020040001,
	0x0afa40008,
	0x0200301b6,
	0x00c000a92,
	0x0afa3000c,
	0x004210004,
	0x0afa1001c,
	0x023c2828c,
	0x00c000849,
	0x0afa20004,
	0x023c482a2,
	0x00c000a6e,
	0x0afa40004,
	0x0afa10014,
	0x08fa4001c,
	0x023c28295,
	0x0afa40004,
	0x023c28270,
	0x00c0009e5,
	0x0afa20008,
	0x08fa40014,
	0x00c000aba,
	0x0afa4000c,
	0x004210004,
	0x08fa5001c,
	0x08fa30018,
	0x020020001,
	0x010620029,
	0x023c49902,
	0x020020002,
	0x010620019,
	0x000000027,
	0x023c282af,
	0x00c000849,
	0x0afa20004,
	0x08fa3001c,
	0x00c000a8e,
	0x08fa3000c,
	0x00c000707,
	0x0afa30004,
	0x08fa20028,
	0x000000027,
	0x024450004,
	0x0afa50028,
	0x08fa30024,
	0x000000027,
	0x02466ffff,
	0x018c00013,
	0x0afa60024,
	0x08ca30000,
	0x02002002d,
	0x080630000,
	0x000000027,
	0x01462000d,
	0x000000027,
	0x08ca30000,
	0x02002006d,
	0x080630001,
	0x08fc48006,
	0x000000027,
	0x014620003,
	0x000000027,
	0x020030001,
	0x0afa30018,
	0x024a50004,
	0x0afa50028,
	0x00800047a,
	0x024c6ffff,
	0x023c28026,
	0x0afa20004,
	0x023c382b8,
	0x00c000a2f,
	0x0afa30008,
	0x023c2994a,
	0x0afa20004,
	0x023c382c3,
	0x00c000a2f,
	0x0afa30008,
	0x08fa60028,
	0x08fa20024,
	0x020030001,
	0x010430029,
	0x023c5994a,
	0x020030002,
	0x010430019,
	0x018800003,
	0x000000027,
	0x08fa20018,
	0x00c000753,
	0x0afa20004,
	0x08fc58006,
	0x00c000a44,
	0x0afa40004,
	0x08fc2801a,
	0x000000027,
	0x018a00003,
	0x018400004,
	0x000000027,
	0x00c000a8e,
	0x0afa50004,
	0x08fc3801a,
	0x000000027,
	0x018600004,
	0x000000027,
	0x08fc2801a,
	0x00c000a8e,
	0x0afa20004,
	0x00c000a44,
	0x0afa30004,
	0x0afc0801a,
	0x0afc08006,
	0x020020001,
	0x00c000753,
	0x0afa20004,
	0x08fc58006,
	0x0080004a5,
	0x020030001,
	0x00c000707,
	0x0afa30004,
	0x08fc48006,
	0x008000459,
	0x000000027,
	0x0afa50004,
	0x08cc30000,
	0x00c000a2f,
	0x0afa30008,
	0x023c28026,
	0x0afa20004,
	0x08fa30028,
	0x0afa40004,
	0x08ca20000,
	0x00c0009e5,
	0x0afa20008,
	0x023c38026,
	0x0afa30004,
	0x08fa2001c,
	0x000000027,
	0x08c630004,
	0x00c000a2f,
	0x0afa30008,
	0x0080004a0,
	0x08c420004,
	0x00c0009e5,
	0x0afa20008,
	0x008000454,
	0x000000027,
	0x0afa50004,
	0x08cc30000,
	0x00c000a2f,
	0x0afa30008,
	0x0080004a0,
	0x0afa40004,
	0x08ca20000,
	0x00c0009e5,
	0x0afa20008,
	0x008000454,
	0x000000027,
	0x023bdfff4,
	0x0afbf0000,
	0x023c382cb,
	0x0afa30004,
	0x020020002,
	0x00c000aa6,
	0x0afa20008,
	0x023c28278,
	0x0afa20004,
	0x020030002,
	0x00c000a5c,
	0x0afa30008,
	0x08fa20000,
	0x000000027,
	0x000400008,


@@ 216,16 140,16 @@ ulong bootcode[]={
	0x023bdffdc,
	0x0afbf0000,
	0x023c58092,
	0x08ca30000,
	0x08ca20000,
	0x000000027,
	0x01060000b,
	0x01040000b,
	0x000000027,
	0x0afa50014,
	0x08ca30000,
	0x08ca20000,
	0x000000027,
	0x0afa30004,
	0x0afa20004,
	0x08fa40028,
	0x00c000a1c,
	0x00c0009d2,
	0x0afa40008,
	0x08fa50014,
	0x0142000a5,


@@ 235,8 159,8 @@ ulong bootcode[]={
	0x000000027,
	0x014400008,
	0x000000027,
	0x023c382d3,
	0x00c00097a,
	0x023c38280,
	0x00c000930,
	0x0afa30004,
	0x08fa20000,
	0x023bd0024,


@@ 246,15 170,15 @@ ulong bootcode[]={
	0x000000027,
	0x014400048,
	0x000000027,
	0x023c28301,
	0x023c282ae,
	0x0afa20004,
	0x020040002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x004210008,
	0x000000027,
	0x023c3830a,
	0x00c000837,
	0x023c382b7,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0024,


@@ 262,54 186,54 @@ ulong bootcode[]={
	0x02001ffff,
	0x0afa10020,
	0x0afa10004,
	0x023c4831b,
	0x023c482c8,
	0x0afa40008,
	0x02003000d,
	0x00c000aba,
	0x00c000a70,
	0x0afa3000c,
	0x08fa50020,
	0x00421000a,
	0x000000027,
	0x00c000a8e,
	0x00c000a44,
	0x0afa50004,
	0x023c38329,
	0x00c000837,
	0x023c382d6,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0024,
	0x000400008,
	0x02001ffff,
	0x0afa50004,
	0x023c48337,
	0x023c482e4,
	0x0afa40008,
	0x02003000c,
	0x00c000aba,
	0x00c000a70,
	0x0afa3000c,
	0x08fa50020,
	0x00421000a,
	0x000000027,
	0x00c000a8e,
	0x00c000a44,
	0x0afa50004,
	0x023c38344,
	0x00c000837,
	0x023c382f1,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0024,
	0x000400008,
	0x02001ffff,
	0x0afa50004,
	0x023c48351,
	0x023c482fe,
	0x0afa40008,
	0x02003000c,
	0x00c000aba,
	0x00c000a70,
	0x0afa3000c,
	0x00421000b,
	0x000000027,
	0x08fa20020,
	0x00c000a8e,
	0x00c000a44,
	0x0afa20004,
	0x023c3835e,
	0x00c000837,
	0x023c3830b,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0024,


@@ 317,33 241,33 @@ ulong bootcode[]={
	0x02001ffff,
	0x020020001,
	0x0afc28042,
	0x023c2836b,
	0x023c28318,
	0x0afa20004,
	0x020040002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x004210008,
	0x0afa10018,
	0x023c3837a,
	0x00c000837,
	0x023c38327,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0024,
	0x000400008,
	0x02001ffff,
	0x023c38391,
	0x023c3833e,
	0x0afa30004,
	0x020040002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x00421000c,
	0x0afa1001c,
	0x08fa20018,
	0x00c000a8e,
	0x00c000a44,
	0x0afa20004,
	0x023c2839f,
	0x023c2834c,
	0x0afa20004,
	0x00c000837,
	0x00c0007ed,
	0x02003ffff,
	0x08fa20000,
	0x023bd0024,


@@ 352,7 276,7 @@ ulong bootcode[]={
	0x08fa40014,
	0x000000027,
	0x08c840004,
	0x00c000a6e,
	0x00c000a24,
	0x0afa40004,
	0x0afa10010,
	0x08fa4001c,


@@ 364,37 288,37 @@ ulong bootcode[]={
	0x000000027,
	0x0afa20008,
	0x08fa40010,
	0x00c000aba,
	0x00c000a70,
	0x0afa4000c,
	0x004210012,
	0x000000027,
	0x08fa2001c,
	0x00c000a8e,
	0x00c000a44,
	0x0afa20004,
	0x08fa30018,
	0x00c000a8e,
	0x00c000a44,
	0x0afa30004,
	0x08fa30014,
	0x000000027,
	0x08c630004,
	0x000000027,
	0x0afa30004,
	0x00c000837,
	0x00c0007ed,
	0x02002ffff,
	0x08fa20000,
	0x023bd0024,
	0x000400008,
	0x02001ffff,
	0x023c283b5,
	0x023c28362,
	0x0afc28022,
	0x023c383bb,
	0x023c38368,
	0x0afc380fe,
	0x08fa10018,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0024,
	0x0080004d9,
	0x00800048d,
	0x024a50008,
	0x023bdffa8,
	0x0afbf0000,


@@ 402,51 326,51 @@ ulong bootcode[]={
	0x000000027,
	0x014400038,
	0x000000027,
	0x023c283c3,
	0x023c28370,
	0x0afa20004,
	0x020040002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x004210008,
	0x0afc1801e,
	0x023c383ca,
	0x00c000837,
	0x023c38377,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0058,
	0x000400008,
	0x02001ffff,
	0x0afa10004,
	0x023c483d9,
	0x023c48386,
	0x0afa40008,
	0x02003000a,
	0x00c000aba,
	0x00c000a70,
	0x0afa3000c,
	0x08fc5801e,
	0x00421000a,
	0x000000027,
	0x00c000a8e,
	0x00c000a44,
	0x0afa50004,
	0x023c383e4,
	0x00c000837,
	0x023c38391,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0058,
	0x000400008,
	0x02001ffff,
	0x0afa50004,
	0x023c483ef,
	0x023c4839c,
	0x0afa40008,
	0x020030017,
	0x00c000aba,
	0x00c000a70,
	0x0afa3000c,
	0x00421000b,
	0x000000027,
	0x08fc2801e,
	0x00c000a8e,
	0x00c000a44,
	0x0afa20004,
	0x023c38407,
	0x00c000837,
	0x023c383b4,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0058,


@@ 455,35 379,35 @@ ulong bootcode[]={
	0x020020001,
	0x0afc280ce,
	0x0200307d0,
	0x00c000aae,
	0x00c000a64,
	0x0afa30004,
	0x023c3841f,
	0x023c383cc,
	0x0afa30004,
	0x020040002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x004210008,
	0x0afa10054,
	0x023c2842b,
	0x00c000837,
	0x023c283d8,
	0x00c0007ed,
	0x0afa20004,
	0x08fa20000,
	0x023bd0058,
	0x000400008,
	0x02001ffff,
	0x023c2843f,
	0x023c283ec,
	0x0afa20004,
	0x020040002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x00421000c,
	0x0afc1801a,
	0x08fa30054,
	0x00c000a8e,
	0x00c000a44,
	0x0afa30004,
	0x023c3844a,
	0x023c383f7,
	0x0afa30004,
	0x00c000837,
	0x00c0007ed,
	0x02002ffff,
	0x08fa20000,
	0x023bd0058,


@@ 491,13 415,13 @@ ulong bootcode[]={
	0x02001ffff,
	0x023a20014,
	0x0afa20004,
	0x023c3845d,
	0x023c3840a,
	0x0afa30008,
	0x08fa2005c,
	0x00c0009c4,
	0x00c00097a,
	0x0afa2000c,
	0x023a40014,
	0x00c000a6e,
	0x00c000a24,
	0x0afa40004,
	0x0afa10010,
	0x08fc4801a,


@@ 505,28 429,28 @@ ulong bootcode[]={
	0x0afa40004,
	0x0afa20008,
	0x08fa40010,
	0x00c000aba,
	0x00c000a70,
	0x0afa4000c,
	0x004210010,
	0x000000027,
	0x08fc2801a,
	0x00c000a8e,
	0x00c000a44,
	0x0afa20004,
	0x08fa30054,
	0x00c000a8e,
	0x00c000a44,
	0x0afa30004,
	0x02002ffff,
	0x0afc2801a,
	0x023a30014,
	0x00c000837,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0058,
	0x000400008,
	0x02001ffff,
	0x023c28468,
	0x023c28415,
	0x0afc28022,
	0x023c3846b,
	0x023c38418,
	0x0afc380fe,
	0x08fa10054,
	0x08fa20000,


@@ 536,7 460,7 @@ ulong bootcode[]={
	0x023bdff2c,
	0x0afbf0000,
	0x08fa300d8,
	0x00c00058d,
	0x00c000541,
	0x0afa30004,
	0x004210005,
	0x000000027,


@@ 545,32 469,32 @@ ulong bootcode[]={
	0x000400008,
	0x02001ffff,
	0x0afa100d0,
	0x00c000673,
	0x00c000627,
	0x0afa10004,
	0x08fa500d0,
	0x014200007,
	0x000000027,
	0x00c000a8e,
	0x00c000a44,
	0x0afa50004,
	0x08fa20000,
	0x023bd00d4,
	0x000400008,
	0x02001ffff,
	0x0afa50004,
	0x023c48470,
	0x023c4841d,
	0x0afa40008,
	0x0afa0000c,
	0x023c28475,
	0x023c28422,
	0x0afa20010,
	0x023c48476,
	0x00c000aa2,
	0x023c48423,
	0x00c000a58,
	0x0afa40014,
	0x004210004,
	0x000000027,
	0x023c28477,
	0x00c000849,
	0x023c28424,
	0x00c0007ff,
	0x0afa20004,
	0x00c000a9e,
	0x00c000a54,
	0x000000027,
	0x02003ffff,
	0x01023002f,


@@ 578,7 502,7 @@ ulong bootcode[]={
	0x010200022,
	0x000000027,
	0x023a20018,
	0x00c000ab6,
	0x00c000a6c,
	0x0afa20004,
	0x083a3002c,
	0x000000027,


@@ 586,93 510,93 @@ ulong bootcode[]={
	0x000000027,
	0x023a20018,
	0x024420014,
	0x00c000849,
	0x00c0007ff,
	0x0afa20004,
	0x020030002,
	0x0afa30004,
	0x023c284c7,
	0x00c00099f,
	0x023c28474,
	0x00c000955,
	0x0afa20008,
	0x020030bb8,
	0x00c000aae,
	0x00c000a64,
	0x0afa30004,
	0x020020002,
	0x0afa20004,
	0x023c384d8,
	0x00c00099f,
	0x023c38485,
	0x00c000955,
	0x0afa30008,
	0x023c284e7,
	0x023c28494,
	0x0afa20004,
	0x020030002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa30008,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd00d4,
	0x023c3847d,
	0x023c3842a,
	0x0afa30004,
	0x023c28496,
	0x023c28443,
	0x0afa20008,
	0x023c384a1,
	0x023c3844e,
	0x0afa3000c,
	0x00c000a7a,
	0x00c000a30,
	0x0afa00010,
	0x023c284b1,
	0x00c000849,
	0x023c2845e,
	0x00c0007ff,
	0x0afa20004,
	0x023c384c2,
	0x00c000849,
	0x023c3846f,
	0x00c0007ff,
	0x0afa30004,
	0x008000642,
	0x0080005f6,
	0x000000027,
	0x023bdffe0,
	0x0afbf0000,
	0x023c284f1,
	0x00c00097a,
	0x023c2849e,
	0x00c000930,
	0x0afa20004,
	0x020030032,
	0x0a3c3974a,
	0x0a3c39702,
	0x03402ffff,
	0x0a7c2974e,
	0x023c2974a,
	0x0a7c29706,
	0x023c29702,
	0x0afa20004,
	0x023c4874a,
	0x00c000e59,
	0x023c48702,
	0x00c000e0f,
	0x0afa40008,
	0x08fa30024,
	0x023c4874a,
	0x023c48702,
	0x0afa30004,
	0x0afa40008,
	0x0afa1001c,
	0x00c000aba,
	0x00c000a70,
	0x0afa1000c,
	0x08fa5001c,
	0x000000027,
	0x01025000c,
	0x000000027,
	0x023c284f8,
	0x023c284a5,
	0x0afa20004,
	0x00c00097a,
	0x00c000930,
	0x0afa50008,
	0x023c28500,
	0x00c000837,
	0x023c284ad,
	0x00c0007ed,
	0x0afa20004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x08fa20024,
	0x023c4874a,
	0x023c48702,
	0x0afa20004,
	0x0afa40008,
	0x020021000,
	0x00c000aaa,
	0x00c000a60,
	0x0afa2000c,
	0x01c200008,
	0x000000027,
	0x023c3850a,
	0x00c000837,
	0x023c384b7,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0020,


@@ 681,166 605,166 @@ ulong bootcode[]={
	0x020030002,
	0x014230003,
	0x000000027,
	0x008000697,
	0x00800064b,
	0x000000027,
	0x023c3874a,
	0x023c38702,
	0x0afa30004,
	0x023c4974a,
	0x023c49702,
	0x0afa40008,
	0x0afa1001c,
	0x00c000b57,
	0x00c000b0d,
	0x0afa1000c,
	0x014200022,
	0x000000027,
	0x023c28513,
	0x023c284c0,
	0x0afa20004,
	0x08fa3001c,
	0x000000027,
	0x0afa30008,
	0x083c2874a,
	0x083c28702,
	0x000000027,
	0x000021600,
	0x000021603,
	0x0afa2000c,
	0x083c3874b,
	0x083c38703,
	0x000000027,
	0x000031e00,
	0x000031e03,
	0x0afa30010,
	0x083c2874c,
	0x083c28704,
	0x000000027,
	0x000021600,
	0x000021603,
	0x0afa20014,
	0x083c3874d,
	0x083c38705,
	0x000000027,
	0x000031e00,
	0x000031e03,
	0x00c00097a,
	0x00c000930,
	0x0afa30018,
	0x023c28536,
	0x00c000837,
	0x023c284e3,
	0x00c0007ed,
	0x0afa20004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x083c3974a,
	0x083c39702,
	0x020020033,
	0x010620008,
	0x000000027,
	0x023c38541,
	0x00c000837,
	0x023c384ee,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x097c2974e,
	0x097c29706,
	0x03403ffff,
	0x010430008,
	0x000000027,
	0x023c2854a,
	0x00c000837,
	0x023c284f7,
	0x00c0007ed,
	0x0afa20004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x023c38558,
	0x00c00097a,
	0x023c38505,
	0x00c000930,
	0x0afa30004,
	0x020020034,
	0x0a3c2974a,
	0x0a3c29702,
	0x03403ffff,
	0x0a7c3974e,
	0x023c3974a,
	0x0a7c39706,
	0x023c39702,
	0x0afa30004,
	0x023c4874a,
	0x00c000e59,
	0x023c48702,
	0x00c000e0f,
	0x0afa40008,
	0x08fa20024,
	0x023c4874a,
	0x023c48702,
	0x0afa20004,
	0x0afa40008,
	0x0afa1001c,
	0x00c000aba,
	0x00c000a70,
	0x0afa1000c,
	0x08fa4001c,
	0x000000027,
	0x010240008,
	0x000000027,
	0x023c28563,
	0x00c000837,
	0x023c28510,
	0x00c0007ed,
	0x0afa20004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x08fa20024,
	0x023c4874a,
	0x023c48702,
	0x0afa20004,
	0x0afa40008,
	0x020021000,
	0x00c000aaa,
	0x00c000a60,
	0x0afa2000c,
	0x01c200008,
	0x000000027,
	0x023c38571,
	0x00c000837,
	0x023c3851e,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x023c3874a,
	0x023c38702,
	0x0afa30004,
	0x023c4974a,
	0x023c49702,
	0x0afa40008,
	0x00c000b57,
	0x00c000b0d,
	0x0afa1000c,
	0x014200008,
	0x000000027,
	0x023c2857e,
	0x00c000837,
	0x023c2852b,
	0x00c0007ed,
	0x0afa20004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x097c3974e,
	0x097c39706,
	0x03402ffff,
	0x010620008,
	0x000000027,
	0x023c3858d,
	0x00c000837,
	0x023c3853a,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x083c2974a,
	0x083c29702,
	0x020030037,
	0x01443000d,
	0x000000027,
	0x020020002,
	0x0afa20004,
	0x023c3859b,
	0x023c38548,
	0x0afa30008,
	0x023c2974a,
	0x023c29702,
	0x024420008,
	0x00c00099f,
	0x00c000955,
	0x0afa2000c,
	0x08fa20000,
	0x023bd0020,
	0x000400008,
	0x000000825,
	0x083c3974a,
	0x083c39702,
	0x020020035,
	0x010620008,
	0x000000027,
	0x023c385ab,
	0x00c000837,
	0x023c38558,
	0x00c0007ed,
	0x0afa30004,
	0x08fa20000,
	0x023bd0020,


@@ 857,12 781,12 @@ ulong bootcode[]={
	0x000000027,
	0x01040000a,
	0x000000027,
	0x023c385b8,
	0x023c38565,
	0x0afa30004,
	0x023c28026,
	0x0afa20008,
	0x02003001c,
	0x00c00085d,
	0x00c000813,
	0x0afa3000c,
	0x08fc68006,
	0x000000027,


@@ 874,29 798,29 @@ ulong bootcode[]={
	0x0afc28006,
	0x023c28026,
	0x0afa20004,
	0x023c485bf,
	0x023c4856c,
	0x0afa40008,
	0x020020004,
	0x00c0009dc,
	0x00c000992,
	0x0afa2000c,
	0x01420009b,
	0x01420009d,
	0x023c58026,
	0x024a20004,
	0x00c0004cb,
	0x00c00047f,
	0x0afa20004,
	0x000013025,
	0x004c0008b,
	0x004c0008d,
	0x0afc68006,
	0x004c10008,
	0x000000027,
	0x023c285f0,
	0x00c00097a,
	0x023c2859d,
	0x00c000930,
	0x0afa20004,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0068,
	0x00c000673,
	0x00c000627,
	0x0afa60004,
	0x014200005,
	0x000000027,


@@ 904,50 828,50 @@ ulong bootcode[]={
	0x000000027,
	0x000400008,
	0x023bd0068,
	0x023c385ff,
	0x023c385ac,
	0x0afa30004,
	0x08fc28006,
	0x00c000889,
	0x00c00083f,
	0x0afa20008,
	0x023c38604,
	0x023c385b1,
	0x0afa30004,
	0x08fc28006,
	0x00c000889,
	0x00c00083f,
	0x0afa20008,
	0x023c3860b,
	0x00c00097a,
	0x023c385b8,
	0x00c000930,
	0x0afa30004,
	0x023c38614,
	0x023c385c1,
	0x0afa30004,
	0x023c48616,
	0x023c485c3,
	0x0afa40008,
	0x00c000a8a,
	0x00c000a40,
	0x0afa0000c,
	0x004210004,
	0x000000027,
	0x023c28618,
	0x00c000849,
	0x023c285c5,
	0x00c0007ff,
	0x0afa20004,
	0x08fc28006,
	0x023c4861d,
	0x023c485ca,
	0x0afa20004,
	0x0afa40008,
	0x020020006,
	0x0afa2000c,
	0x023c4861f,
	0x023c485cc,
	0x0afa40010,
	0x023c28620,
	0x00c000aa2,
	0x023c285cd,
	0x00c000a58,
	0x0afa20014,
	0x004210004,
	0x000000027,
	0x023c38621,
	0x00c000849,
	0x023c385ce,
	0x00c0007ff,
	0x0afa30004,
	0x00c0008cc,
	0x00c000882,
	0x000000027,
	0x023c28627,
	0x00c00097a,
	0x023c285d4,
	0x00c000930,
	0x0afa20004,
	0x08fc58022,
	0x08fc380fe,


@@ 956,21 880,21 @@ ulong bootcode[]={
	0x000000027,
	0x023a20018,
	0x0afa20004,
	0x023c38630,
	0x023c385dd,
	0x0afa30008,
	0x00c0009c4,
	0x00c00097a,
	0x0afa5000c,
	0x08fc380fe,
	0x023a20018,
	0x0afa30004,
	0x0afa20008,
	0x00c000a8a,
	0x00c000a40,
	0x0afa0000c,
	0x08fc380fe,
	0x023c28638,
	0x023c285e5,
	0x0afa30004,
	0x0afa20008,
	0x00c000a8a,
	0x00c000a40,
	0x0afa0000c,
	0x08fc58022,
	0x000000027,


@@ 978,182 902,184 @@ ulong bootcode[]={
	0x000000027,
	0x023a20018,
	0x0afa20004,
	0x023c38641,
	0x023c385ee,
	0x0afa30008,
	0x00c0009c4,
	0x00c00097a,
	0x0afa5000c,
	0x023c38651,
	0x023c385fe,
	0x0afa30004,
	0x023a20018,
	0x00c00097a,
	0x00c000930,
	0x0afa20008,
	0x023a30018,
	0x0afa30004,
	0x023c28673,
	0x023c28620,
	0x0afa20008,
	0x00c000a8a,
	0x00c000a40,
	0x0afa0000c,
	0x08fa3006c,
	0x000000027,
	0x010600010,
	0x000000027,
	0x023c28684,
	0x023c28631,
	0x0afa20004,
	0x023c3868f,
	0x023c3863c,
	0x0afa30008,
	0x023c28694,
	0x023c28641,
	0x0afa2000c,
	0x00c000a7a,
	0x00c000a30,
	0x0afa00010,
	0x023c386a7,
	0x00c000849,
	0x0afa30004,
	0x023c28658,
	0x00c0007ff,
	0x0afa20004,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0068,
	0x023c38697,
	0x023c38645,
	0x0afa30004,
	0x023c286a2,
	0x023c28650,
	0x0afa20008,
	0x00c000a7a,
	0x0afa0000c,
	0x023c386a7,
	0x00c000849,
	0x0afa30004,
	0x023c38655,
	0x0afa3000c,
	0x00c000a30,
	0x0afa00010,
	0x023c28658,
	0x00c0007ff,
	0x0afa20004,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0068,
	0x023c385d4,
	0x00c00097a,
	0x023c38581,
	0x00c000930,
	0x0afa30004,
	0x0200203e8,
	0x00c000aae,
	0x00c000a64,
	0x0afa20004,
	0x08fc68006,
	0x08fa2005c,
	0x008000764,
	0x008000718,
	0x024450001,
	0x0afa50004,
	0x023c485c4,
	0x023c48571,
	0x0afa40008,
	0x020030004,
	0x00c0009dc,
	0x00c000992,
	0x0afa3000c,
	0x014200006,
	0x023c58026,
	0x024a30004,
	0x00c000616,
	0x00c0005ca,
	0x0afa30004,
	0x008000776,
	0x00800072a,
	0x000013025,
	0x0afa50004,
	0x023c485c9,
	0x023c48576,
	0x0afa40008,
	0x020020003,
	0x00c0009dc,
	0x00c000992,
	0x0afa2000c,
	0x014200006,
	0x023c58026,
	0x024a20003,
	0x00c00058d,
	0x00c000541,
	0x0afa20004,
	0x008000776,
	0x00800072a,
	0x000013025,
	0x0afa50004,
	0x023c485cd,
	0x023c4857a,
	0x0afa40008,
	0x020030006,
	0x00c0009dc,
	0x00c000992,
	0x0afa3000c,
	0x014200006,
	0x023c58026,
	0x024a30006,
	0x00c0004d6,
	0x00c00048a,
	0x0afa30004,
	0x008000776,
	0x00800072a,
	0x000013025,
	0x00c0004d6,
	0x00c00048a,
	0x0afa50004,
	0x008000776,
	0x00800072a,
	0x000013025,
	0x023bdffac,
	0x0afbf0000,
	0x023a20014,
	0x00c000a96,
	0x0afa20004,
	0x020030002,
	0x0afa30004,
	0x023c286b2,
	0x0afa20008,
	0x08fa30058,
	0x023a20014,
	0x0afa3000c,
	0x00c00099f,
	0x0afa20010,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0054,
	0x023bdffac,
	0x0afbf0000,
	0x023a30014,
	0x00c000a96,
	0x00c000a4c,
	0x0afa30004,
	0x020020002,
	0x0afa20004,
	0x023c386c0,
	0x023c38663,
	0x0afa30008,
	0x08fa20058,
	0x023a30014,
	0x0afa2000c,
	0x00c00099f,
	0x00c000955,
	0x0afa30010,
	0x00c00095e,
	0x0afa00004,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0054,
	0x023bdfeec,
	0x023bdffac,
	0x0afbf0000,
	0x023c386ce,
	0x023a20014,
	0x00c000a4c,
	0x0afa20004,
	0x020030002,
	0x0afa30004,
	0x08fa20118,
	0x000000027,
	0x023c28671,
	0x0afa20008,
	0x08fa3011c,
	0x00c00097a,
	0x08fa30058,
	0x023a20014,
	0x0afa3000c,
	0x00c000955,
	0x0afa20010,
	0x00c000914,
	0x0afa00004,
	0x023a30010,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0054,
	0x023bdfeec,
	0x0afbf0000,
	0x023c2867f,
	0x0afa20004,
	0x08fa30118,
	0x000000027,
	0x0afa30008,
	0x08fa2011c,
	0x00c000930,
	0x0afa2000c,
	0x0afa00004,
	0x023a20010,
	0x0afa20008,
	0x08fa40120,
	0x00c000aaa,
	0x00c000a60,
	0x0afa4000c,
	0x014200003,
	0x000012825,
	0x00800085f,
	0x008000815,
	0x000000027,
	0x004210006,
	0x0afa10110,
	0x023c286d7,
	0x00c000849,
	0x0afa20004,
	0x023c38688,
	0x00c0007ff,
	0x0afa30004,
	0x08fa50110,
	0x000000027,
	0x020020001,
	0x010a2000b,
	0x020030001,
	0x010a3000b,
	0x000000027,
	0x023a30010,
	0x000a31821,
	0x0a060ffff,
	0x08fa3011c,
	0x023a20010,
	0x0afa30004,
	0x00c000a2f,
	0x0afa20008,
	0x000a21021,
	0x0a040ffff,
	0x08fa2011c,
	0x023a30010,
	0x0afa20004,
	0x00c0009e5,
	0x0afa30008,
	0x08fa50110,
	0x000000027,
	0x08fa20000,


@@ 1165,77 1091,77 @@ ulong bootcode[]={
	0x08fa30024,
	0x02004002f,
	0x0afa30004,
	0x00c0009fc,
	0x00c0009b2,
	0x0afa40008,
	0x010200038,
	0x000000027,
	0x024250001,
	0x023c2874a,
	0x023c28702,
	0x0afa20004,
	0x023c386f9,
	0x023c386aa,
	0x0afa30008,
	0x00c0009c4,
	0x00c00097a,
	0x0afa5000c,
	0x023c2874a,
	0x023c28702,
	0x0afa20004,
	0x020040001,
	0x0afa40008,
	0x0200201b6,
	0x00c000a92,
	0x00c000a48,
	0x0afa2000c,
	0x004210004,
	0x0afa10018,
	0x023c386ff,
	0x00c000849,
	0x023c386b0,
	0x00c0007ff,
	0x0afa30004,
	0x023c2874a,
	0x023c28702,
	0x0afa20004,
	0x023c38706,
	0x023c386b7,
	0x0afa30008,
	0x08fa20028,
	0x00c0009c4,
	0x00c00097a,
	0x0afa2000c,
	0x023c3874a,
	0x00c000a6e,
	0x023c38702,
	0x00c000a24,
	0x0afa30004,
	0x0afa10014,
	0x023c4874a,
	0x00c000a6e,
	0x023c48702,
	0x00c000a24,
	0x0afa40004,
	0x0afa10010,
	0x08fa40018,
	0x023c3874a,
	0x023c38702,
	0x0afa40004,
	0x0afa30008,
	0x08fa40010,
	0x00c000aba,
	0x00c000a70,
	0x0afa4000c,
	0x08fa30014,
	0x000000027,
	0x010230004,
	0x000000027,
	0x023c28709,
	0x00c000849,
	0x023c286ba,
	0x00c0007ff,
	0x0afa20004,
	0x08fa30018,
	0x00c000a8e,
	0x00c000a44,
	0x0afa30004,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0020,
	0x08fa50024,
	0x008000893,
	0x008000849,
	0x000000027,
	0x023bdfefc,
	0x0afbf0000,
	0x023c2870f,
	0x00c00097a,
	0x023c286c0,
	0x00c000930,
	0x0afa20004,
	0x023c28717,
	0x023c286c8,
	0x0afa20004,
	0x020040002,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x004210005,
	0x000000027,


@@ 1245,59 1171,59 @@ ulong bootcode[]={
	0x023bd0104,
	0x0afa10018,
	0x0afa10004,
	0x023c4871f,
	0x023c486d0,
	0x0afa40008,
	0x0afa0000c,
	0x023c28727,
	0x023c286d8,
	0x0afa20010,
	0x023c48728,
	0x00c000aa2,
	0x023c486d9,
	0x00c000a58,
	0x0afa40014,
	0x08fa50018,
	0x004210007,
	0x000000027,
	0x00c000a8e,
	0x00c000a44,
	0x0afa50004,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0104,
	0x00c000a8e,
	0x00c000a44,
	0x0afa50004,
	0x023c38729,
	0x023c386da,
	0x0afa30004,
	0x023a40090,
	0x00c000ab2,
	0x00c000a68,
	0x0afa40008,
	0x004210004,
	0x000000027,
	0x023c28731,
	0x00c000849,
	0x023c286e2,
	0x00c0007ff,
	0x0afa20004,
	0x023a30090,
	0x0afa30004,
	0x023a2001c,
	0x00c000abe,
	0x00c000a74,
	0x0afa20008,
	0x023a30090,
	0x0afa30004,
	0x023c28736,
	0x023c286e7,
	0x0afa20008,
	0x08fa3007c,
	0x00c0009c4,
	0x00c00097a,
	0x0afa3000c,
	0x0afa00004,
	0x023c2873a,
	0x00c00121f,
	0x023c286eb,
	0x00c0011d5,
	0x0afa20008,
	0x023c28742,
	0x023c286f3,
	0x0afa20004,
	0x020040001,
	0x00c000aa6,
	0x00c000a5c,
	0x0afa40008,
	0x0afa10018,
	0x023a30090,
	0x00c000a6e,
	0x00c000a24,
	0x0afa30004,
	0x0afa10014,
	0x08fa30018,


@@ 1305,10 1231,10 @@ ulong bootcode[]={
	0x0afa30004,
	0x0afa20008,
	0x08fa30014,
	0x00c000aba,
	0x00c000a70,
	0x0afa3000c,
	0x08fa20018,
	0x00c000a8e,
	0x00c000a44,
	0x0afa20004,
	0x08fa20000,
	0x000000027,


@@ 1318,7 1244,7 @@ ulong bootcode[]={
	0x000002825,
	0x028a20021,
	0x010400011,
	0x023c698c6,
	0x023c6987e,
	0x000051080,
	0x000461021,
	0x08c420000,


@@ 1343,7 1269,7 @@ ulong bootcode[]={
	0x000002025,
	0x028820021,
	0x01040000d,
	0x023c598c6,
	0x023c5987e,
	0x000041080,
	0x000451021,
	0x08c420000,


@@ 1364,10 1290,10 @@ ulong bootcode[]={
	0x000000027,
	0x014400003,
	0x000000027,
	0x00c00095e,
	0x00c000914,
	0x0afa00004,
	0x023c38046,
	0x00c00095e,
	0x00c000914,
	0x0afa30004,
	0x08fa20000,
	0x000000027,


@@ 1375,7 1301,7 @@ ulong bootcode[]={
	0x023bd0008,
	0x023bdfff0,
	0x0afbf0000,
	0x023c698c6,
	0x023c6987e,
	0x020040020,
	0x004800010,
	0x000000027,


@@ 1391,11 1317,11 @@ ulong bootcode[]={
	0x000a0f809,
	0x0ac400000,
	0x08fa4000c,
	0x023c698c6,
	0x008000962,
	0x023c6987e,
	0x008000918,
	0x02484ffff,
	0x08fa30014,
	0x00c000a86,
	0x00c000a3c,
	0x0afa30004,
	0x08fa20000,
	0x000000027,


@@ 1411,14 1337,14 @@ ulong bootcode[]={
	0x023a41020,
	0x0afa3000c,
	0x024840004,
	0x00c00129c,
	0x00c001252,
	0x0afa40010,
	0x023a6001c,
	0x020020001,
	0x0afa20004,
	0x0afa60008,
	0x000261023,
	0x00c000aba,
	0x00c000a70,
	0x0afa2000c,
	0x0afa10014,
	0x00421000c,


@@ 1430,7 1356,7 @@ ulong bootcode[]={
	0x014400006,
	0x0afc38002,
	0x023c2800a,
	0x00c00095e,
	0x00c000914,
	0x0afa20004,
	0x08fa50014,
	0x000000027,


@@ 1448,14 1374,14 @@ ulong bootcode[]={
	0x023a41024,
	0x0afa3000c,
	0x024840004,
	0x00c00129c,
	0x00c001252,
	0x0afa40010,
	0x08fa21020,
	0x023a6001c,
	0x0afa20004,
	0x0afa60008,
	0x000261023,
	0x00c000aba,
	0x00c000a70,
	0x0afa2000c,
	0x0afa10014,
	0x00421000c,


@@ 1467,7 1393,7 @@ ulong bootcode[]={
	0x014400006,
	0x0afc38002,
	0x023c2800a,
	0x00c00095e,
	0x00c000914,
	0x0afa20004,
	0x08fa50014,
	0x000000027,


@@ 1487,7 1413,7 @@ ulong bootcode[]={
	0x023a40024,
	0x0afa2000c,
	0x024840004,
	0x00c00129c,
	0x00c001252,
	0x0afa40010,
	0x08fa20014,
	0x000000027,


@@ 1539,7 1465,7 @@ ulong bootcode[]={
	0x014400008,
	0x000000027,
	0x0afa50004,
	0x00c001834,
	0x00c0017ea,
	0x0afa00008,
	0x08fa20000,
	0x000000027,


@@ 1551,12 1477,12 @@ ulong bootcode[]={
	0x000000027,
	0x000042600,
	0x000042603,
	0x00c001834,
	0x00c0017ea,
	0x0afa40008,
	0x010200004,
	0x000000027,
	0x0afa1000c,
	0x008000a0b,
	0x0080009c1,
	0x024250001,
	0x08fa1000c,
	0x08fa20000,


@@ 1650,7 1576,7 @@ ulong bootcode[]={
	0x08fa20010,
	0x000000027,
	0x0afa20004,
	0x00c001834,
	0x00c0017ea,
	0x0afa00008,
	0x08fa30010,
	0x08fa20000,


@@ 1663,7 1589,7 @@ ulong bootcode[]={
	0x023a30010,
	0x0afa20004,
	0x024630004,
	0x00c000a9a,
	0x00c000a50,
	0x0afa30008,
	0x08fa20000,
	0x000000027,


@@ 1734,7 1660,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x08fa3001c,


@@ 1744,7 1670,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x08fa3001c,


@@ 1754,7 1680,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa5001c,
	0x08fa20010,


@@ 1949,10 1875,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x020020040,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x008000b8a,
	0x008000b40,
	0x024650040,
	0x020020038,
	0x010620031,


@@ 1980,7 1906,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x08fa3001c,


@@ 1990,7 1916,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x08fa3001c,


@@ 2000,10 1926,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x008000b8a,
	0x008000b40,
	0x02445001c,
	0x090a30000,
	0x090a20001,


@@ 2012,7 1938,7 @@ ulong bootcode[]={
	0x000021200,
	0x000621825,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c30008,
	0x090a20000,
	0x090a30001,


@@ 2053,7 1979,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000b8a,
	0x008000b40,
	0x0acc20010,
	0x02002003f,
	0x00043202a,


@@ 2087,10 2013,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x008000b8a,
	0x008000b40,
	0x02445001c,
	0x090a20000,
	0x090a30001,


@@ 2099,7 2025,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c20002,
	0x090a30000,
	0x090a20001,


@@ 2116,7 2042,7 @@ ulong bootcode[]={
	0x000021200,
	0x000621825,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c3000c,
	0x090a20000,
	0x090a30001,


@@ 2157,7 2083,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000b8a,
	0x008000b40,
	0x0acc20010,
	0x020020040,
	0x01062005b,


@@ 2185,7 2111,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa6001c,
	0x08fa20010,


@@ 2209,7 2135,7 @@ ulong bootcode[]={
	0x024a20004,
	0x024450001,
	0x080420000,
	0x008000b8a,
	0x008000b40,
	0x0a0c2002a,
	0x090a20000,
	0x090a30001,


@@ 2250,7 2176,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000b8a,
	0x008000b40,
	0x0acc20010,
	0x090a30000,
	0x090a20001,


@@ 2262,7 2188,7 @@ ulong bootcode[]={
	0x024a20002,
	0x024450001,
	0x080420000,
	0x008000b8a,
	0x008000b40,
	0x0a0c2002a,
	0x090a20000,
	0x090a30001,


@@ 2303,7 2229,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000b8a,
	0x008000b40,
	0x0acc20010,
	0x02002004c,
	0x00043202a,


@@ 2348,7 2274,7 @@ ulong bootcode[]={
	0x000021200,
	0x000621825,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0acc3000c,
	0x090a30000,
	0x090a20001,


@@ 2385,7 2311,7 @@ ulong bootcode[]={
	0x024450001,
	0x0acc50010,
	0x08cc2000c,
	0x008000b8a,
	0x008000b40,
	0x000a22821,
	0x090a20000,
	0x090a30001,


@@ 2406,7 2332,7 @@ ulong bootcode[]={
	0x024650001,
	0x0acc50010,
	0x08cc3000c,
	0x008000b8a,
	0x008000b40,
	0x000a32821,
	0x090a30000,
	0x090a20001,


@@ 2439,7 2365,7 @@ ulong bootcode[]={
	0x000021200,
	0x000621825,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0acc3000c,
	0x090a20000,
	0x090a30001,


@@ 2448,7 2374,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c20002,
	0x020020049,
	0x01062001d,


@@ 2470,7 2396,7 @@ ulong bootcode[]={
	0x000021200,
	0x000621825,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c30002,
	0x090a20000,
	0x090a30001,


@@ 2479,7 2405,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c20002,
	0x090a30000,
	0x090a20001,


@@ 2488,7 2414,7 @@ ulong bootcode[]={
	0x000021200,
	0x000621825,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c30002,
	0x090a20000,
	0x090a30001,


@@ 2497,7 2423,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c20002,
	0x020020050,
	0x00043202a,


@@ 2525,7 2451,7 @@ ulong bootcode[]={
	0x000021200,
	0x000621825,
	0x024a50002,
	0x008000b8a,
	0x008000b40,
	0x0a4c30002,
	0x090a20000,
	0x090a30001,


@@ 2540,10 2466,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x020020074,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x008000b8a,
	0x008000b40,
	0x024650074,
	0x090a30000,
	0x090a20001,


@@ 2558,10 2484,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x020030074,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x008000b8a,
	0x008000b40,
	0x024450074,
	0x090a20000,
	0x090a30001,


@@ 2584,10 2510,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x008000b8a,
	0x008000b40,
	0x02465001c,
	0x020020051,
	0x01062fe27,


@@ 2615,10 2541,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001e,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x008000b8a,
	0x008000b40,
	0x02465001e,
	0x090a30000,
	0x090a20001,


@@ 2633,7 2559,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x08fa3001c,


@@ 2643,10 2569,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x020030024,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x008000b8a,
	0x008000b40,
	0x024450024,
	0x023bdffec,
	0x0afbf0000,


@@ 2710,7 2636,7 @@ ulong bootcode[]={
	0x024a30008,
	0x0afa30008,
	0x020020040,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 2747,7 2673,7 @@ ulong bootcode[]={
	0x024a20008,
	0x0afa20008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x02003001c,


@@ 2758,7 2684,7 @@ ulong bootcode[]={
	0x000000027,
	0x024420024,
	0x0afa20008,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x02003001c,


@@ 2769,7 2695,7 @@ ulong bootcode[]={
	0x000000027,
	0x024420040,
	0x0afa20008,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x000000027,


@@ 2875,7 2801,7 @@ ulong bootcode[]={
	0x024a2000e,
	0x0afa20008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x000000027,


@@ 3001,7 2927,7 @@ ulong bootcode[]={
	0x024a2000e,
	0x0afa20008,
	0x02003001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa70018,
	0x08fa20010,


@@ 3238,7 3164,7 @@ ulong bootcode[]={
	0x000000027,
	0x0afa20008,
	0x08ca3000c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20018,
	0x08fa30010,


@@ 3275,7 3201,7 @@ ulong bootcode[]={
	0x000000027,
	0x0afa20008,
	0x08ca3000c,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20018,
	0x08fa30010,


@@ 3473,7 3399,7 @@ ulong bootcode[]={
	0x024a30008,
	0x0afa30008,
	0x020020074,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 3497,7 3423,7 @@ ulong bootcode[]={
	0x024a20008,
	0x0afa20008,
	0x020030074,
	0x00c0018e7,
	0x00c001932,
	0x0afa3000c,
	0x08fa20010,
	0x000000027,


@@ 3532,7 3458,7 @@ ulong bootcode[]={
	0x024a3000e,
	0x0afa30008,
	0x02002001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 3569,7 3495,7 @@ ulong bootcode[]={
	0x024a30024,
	0x0afa30008,
	0x02002001e,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 3593,7 3519,7 @@ ulong bootcode[]={
	0x024a30008,
	0x0afa30008,
	0x02002001c,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x020020024,


@@ 3604,7 3530,7 @@ ulong bootcode[]={
	0x000000027,
	0x024630024,
	0x0afa30008,
	0x00c0018e7,
	0x00c001932,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 3621,72 3547,72 @@ ulong bootcode[]={
	0x023bdfff0,
	0x0afbf0000,
	0x03c020000,
	0x03442549c,
	0x034425374,
	0x0afc2810e,
	0x020030001,
	0x0a3c39871,
	0x0a3c39829,
	0x020020001,
	0x0a3c29873,
	0x0a3c2982b,
	0x020030001,
	0x0a3c39869,
	0x0a3c39821,
	0x020020001,
	0x0a3c298ae,
	0x0a3c29866,
	0x020030001,
	0x0a3c398b2,
	0x0a3c3986a,
	0x020020001,
	0x0a3c298bb,
	0x0a3c29873,
	0x03c030000,
	0x034634e08,
	0x034634ce0,
	0x0afc38112,
	0x020020002,
	0x0a3c298aa,
	0x0a3c29862,
	0x020030002,
	0x0a3c398b5,
	0x0a3c3986d,
	0x020020002,
	0x0a3c298be,
	0x0a3c29876,
	0x020030002,
	0x0a3c3989e,
	0x0a3c39856,
	0x03c020000,
	0x034425550,
	0x034425428,
	0x0afc28116,
	0x020030003,
	0x0a3c398ab,
	0x0a3c39863,
	0x020020003,
	0x0a3c298ac,
	0x0a3c29864,
	0x020030003,
	0x0a3c398ad,
	0x0a3c39865,
	0x020020003,
	0x0a3c2988b,
	0x0a3c29843,
	0x020030003,
	0x0a3c3988d,
	0x0a3c39845,
	0x03c020000,
	0x0344253d4,
	0x0344252ac,
	0x0afc2811a,
	0x020030004,
	0x0a3c398a9,
	0x0a3c39861,
	0x03c020000,
	0x03442541c,
	0x0344252f4,
	0x0afc2811e,
	0x020030005,
	0x0a3c398b9,
	0x0a3c39871,
	0x03c020000,
	0x03442546c,
	0x034425344,
	0x0afc28122,
	0x020030006,
	0x0a3c3986b,
	0x0a3c39823,
	0x020020007,
	0x0afc2808e,
	0x023c397c6,
	0x023c3977e,
	0x0afa30004,
	0x020020001,
	0x0afa20008,
	0x020030080,
	0x00c001955,
	0x00c00189d,
	0x0afa3000c,
	0x0a3c097c6,
	0x0a3c097cf,
	0x0a3c097d0,
	0x0a3c097eb,
	0x0a3c0977e,
	0x0a3c09787,
	0x0a3c09788,
	0x0a3c097a3,
	0x08fa20000,
	0x000000027,
	0x000400008,


@@ 3697,7 3623,7 @@ ulong bootcode[]={
	0x000000027,
	0x014c00005,
	0x000000027,
	0x00c001223,
	0x00c0011d9,
	0x000000027,
	0x08fc6808e,
	0x000000027,


@@ 3716,7 3642,7 @@ ulong bootcode[]={
	0x000021603,
	0x000021600,
	0x000021603,
	0x023c39846,
	0x023c397fe,
	0x000431021,
	0x024c30001,
	0x0afc3808e,


@@ 3725,7 3651,7 @@ ulong bootcode[]={
	0x000021603,
	0x000021600,
	0x000021603,
	0x023c39846,
	0x023c397fe,
	0x000431021,
	0x080420000,
	0x023c3810a,


@@ 3742,7 3668,7 @@ ulong bootcode[]={
	0x023bdffcc,
	0x0afbf0000,
	0x08fab0044,
	0x023ce97c6,
	0x023ce977e,
	0x08fca80e2,
	0x08fa60040,
	0x08fc2805e,


@@ 3813,7 3739,7 @@ ulong bootcode[]={
	0x02002000a,
	0x014a20003,
	0x0254a0001,
	0x0080012ac,
	0x008001262,
	0x000005025,
	0x020020009,
	0x014a2ffc2,


@@ 3821,7 3747,7 @@ ulong bootcode[]={
	0x025430007,
	0x0201cfff8,
	0x0007c5024,
	0x0080012ac,
	0x008001262,
	0x000000027,
	0x02008fc18,
	0x0200dfc18,


@@ 3835,7 3761,7 @@ ulong bootcode[]={
	0x000052e03,
	0x014a00003,
	0x000000027,
	0x0080012ac,
	0x008001262,
	0x024c6ffff,
	0x02002002e,
	0x014a20007,


@@ 3844,7 3770,7 @@ ulong bootcode[]={
	0x015020002,
	0x000000027,
	0x000004025,
	0x0080012f3,
	0x0080012a9,
	0x000006825,
	0x028a20031,
	0x014400025,


@@ 3866,11 3792,11 @@ ulong bootcode[]={
	0x000000027,
	0x014a0ffe4,
	0x000094025,
	0x0080012ac,
	0x008001262,
	0x024c6ffff,
	0x014a0ffe0,
	0x000096825,
	0x0080012ac,
	0x008001262,
	0x024c6ffff,
	0x02002000a,
	0x001220018,


@@ 3883,7 3809,7 @@ ulong bootcode[]={
	0x000000027,
	0x000052e00,
	0x000052e03,
	0x00800130f,
	0x0080012c5,
	0x02469ffd0,
	0x020030030,
	0x014a30006,


@@ 3891,7 3817,7 @@ ulong bootcode[]={
	0x02003fc18,
	0x011030003,
	0x000000027,
	0x00800130e,
	0x0080012c4,
	0x000000027,
	0x02002002a,
	0x014a20009,


@@ 3900,9 3826,9 @@ ulong bootcode[]={
	0x02002fc18,
	0x015020003,
	0x0256b0004,
	0x0080012f3,
	0x0080012a9,
	0x000054025,
	0x0080012f3,
	0x0080012a9,
	0x000056825,
	0x030a5007f,
	0x0afab0044,


@@ 3914,7 3840,7 @@ ulong bootcode[]={
	0x0afac0028,
	0x0afac0010,
	0x0afa50014,
	0x023c29846,
	0x023c297fe,
	0x000451021,
	0x080420000,
	0x023c3810a,


@@ 3934,16 3860,16 @@ ulong bootcode[]={
	0x08fc7805e,
	0x08fa60040,
	0x004210005,
	0x023ce97c6,
	0x023ce977e,
	0x08fa40028,
	0x000011023,
	0x0080012f3,
	0x0080012a9,
	0x000826025,
	0x0080012ac,
	0x008001262,
	0x001615821,
	0x000e51021,
	0x024a50001,
	0x0080012af,
	0x008001265,
	0x0a0480000,
	0x023bdfff0,
	0x0afbf0000,


@@ 3961,13 3887,13 @@ ulong bootcode[]={
	0x0afa30004,
	0x0afa40008,
	0x08fa3001c,
	0x00c00145d,
	0x00c001413,
	0x0afa3000c,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0010,
	0x008001375,
	0x00800132b,
	0x000042023,
	0x023bdffa8,
	0x0afbf0000,


@@ 4060,7 3986,7 @@ ulong bootcode[]={
	0x02002fc18,
	0x0afa30008,
	0x0afa2000c,
	0x00c00136a,
	0x00c001320,
	0x0afa70010,
	0x08fa10028,
	0x08fa20000,


@@ 4079,12 4005,12 @@ ulong bootcode[]={
	0x024a5ffff,
	0x001651021,
	0x020040030,
	0x0080013d1,
	0x008001387,
	0x0a0440000,
	0x024a5ffff,
	0x001651021,
	0x020040078,
	0x0080013ed,
	0x0080013a3,
	0x0a0440000,
	0x030e30040,
	0x01060001e,


@@ 4106,27 4032,27 @@ ulong bootcode[]={
	0x000000027,
	0x01d200003,
	0x000000027,
	0x0080013c2,
	0x008001378,
	0x000000027,
	0x01d000003,
	0x000000027,
	0x0080013c2,
	0x008001378,
	0x000000027,
	0x030e20040,
	0x01440ffa0,
	0x024a5ffff,
	0x0010a001b,
	0x0080013b7,
	0x00800136d,
	0x000003010,
	0x0010a001b,
	0x0080013fe,
	0x0080013b4,
	0x000004012,
	0x0200d0001,
	0x0080013af,
	0x008001365,
	0x000084023,
	0x08ca80000,
	0x020030004,
	0x0080013aa,
	0x008001360,
	0x0afa30028,
	0x08ca20000,
	0x000000027,


@@ 4138,15 4064,15 @@ ulong bootcode[]={
	0x000031c03,
	0x020020004,
	0x0afa20028,
	0x0080013aa,
	0x008001360,
	0x000034025,
	0x08ca80000,
	0x020030004,
	0x0080013aa,
	0x008001360,
	0x0afa30028,
	0x08ca80000,
	0x020030004,
	0x0080013aa,
	0x008001360,
	0x0afa30028,
	0x020030030,
	0x01043000a,


@@ 4154,11 4080,11 @@ ulong bootcode[]={
	0x020030048,
	0x010430003,
	0x000000027,
	0x0080013a7,
	0x00800135d,
	0x000000027,
	0x08ca90000,
	0x020030004,
	0x0080013aa,
	0x008001360,
	0x0afa30028,
	0x08ca30000,
	0x000000027,


@@ 4168,14 4094,14 @@ ulong bootcode[]={
	0x03042ffff,
	0x020030004,
	0x0afa30028,
	0x0080013aa,
	0x008001360,
	0x000024025,
	0x008001397,
	0x00800134d,
	0x0200a000a,
	0x0200e0001,
	0x008001397,
	0x00800134d,
	0x0200a0010,
	0x008001397,
	0x00800134d,
	0x0200a0008,
	0x020030075,
	0x011430006,


@@ 4183,15 4109,15 @@ ulong bootcode[]={
	0x020030078,
	0x01143fff7,
	0x000000027,
	0x008001397,
	0x00800134d,
	0x000000027,
	0x0200a000a,
	0x008001397,
	0x00800134d,
	0x034e70020,
	0x023bdfff0,
	0x0afbf0000,
	0x08fa30014,
	0x00c000a6e,
	0x00c000a24,
	0x0afa30004,
	0x08fac0014,
	0x08faa0018,


@@ 4216,7 4142,7 @@ ulong bootcode[]={
	0x000000027,
	0x01ce00003,
	0x000000027,
	0x00800146d,
	0x008001423,
	0x000000027,
	0x000c9202b,
	0x010800005,


@@ 4234,7 4160,7 @@ ulong bootcode[]={
	0x02003fc18,
	0x010e3ffe3,
	0x000000027,
	0x00800146d,
	0x008001423,
	0x024e7ffff,
	0x020020009,
	0x01562fff9,


@@ 4245,7 4171,7 @@ ulong bootcode[]={
	0x02003fc18,
	0x010e3ffd8,
	0x0afc880e2,
	0x00800146d,
	0x008001423,
	0x024e7ffff,
	0x02002fc18,
	0x011420003,


@@ 4270,7 4196,7 @@ ulong bootcode[]={
	0x0a0640000,
	0x025080001,
	0x024a50001,
	0x0080014a2,
	0x008001458,
	0x0afc880e2,
	0x000aa202a,
	0x01080ffba,


@@ 4285,7 4211,7 @@ ulong bootcode[]={
	0x0a0440000,
	0x025080001,
	0x024a50001,
	0x0080014b1,
	0x008001467,
	0x0afc880e2,
	0x023bdffe4,
	0x0afbf0000,


@@ 4293,11 4219,11 @@ ulong bootcode[]={
	0x000000027,
	0x01440001f,
	0x000000027,
	0x00c001223,
	0x00c0011d9,
	0x000000027,
	0x08fa40030,
	0x08fa30020,
	0x023c19846,
	0x023c197fe,
	0x0afa30004,
	0x08fa20024,
	0x000240821,


@@ 4334,7 4260,7 @@ ulong bootcode[]={
	0x0afa30004,
	0x0afa00008,
	0x02002fc18,
	0x00c00145d,
	0x00c001413,
	0x0afa2000c,
	0x08fa20000,
	0x023bd001c,


@@ 4352,7 4278,7 @@ ulong bootcode[]={
	0x08fa3001c,
	0x02002fc18,
	0x0afa30008,
	0x00c00145d,
	0x00c001413,
	0x0afa2000c,
	0x08fa20000,
	0x023bd0014,


@@ 4372,7 4298,7 @@ ulong bootcode[]={
	0x000000027,
	0x0afa3000c,
	0x08fa20024,
	0x00c00136a,
	0x00c001320,
	0x0afa20010,
	0x08fa20000,
	0x023bd0014,


@@ 4446,7 4372,7 @@ ulong bootcode[]={
	0x0e7a6004c,
	0x0e7a70004,
	0x0e7a60008,
	0x00c001991,
	0x00c0018d9,
	0x000000027,
	0x01020000e,
	0x000000027,


@@ 4457,7 4383,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00136a,
	0x00c001320,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4468,7 4394,7 @@ ulong bootcode[]={
	0x020030001,
	0x0e7a10004,
	0x0e7a00008,
	0x00c0019c1,
	0x00c001909,
	0x0afa3000c,
	0x01020000e,
	0x000000027,


@@ 4479,7 4405,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00136a,
	0x00c001320,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4490,7 4416,7 @@ ulong bootcode[]={
	0x02003ffff,
	0x0e7a10004,
	0x0e7a00008,
	0x00c0019c1,
	0x00c001909,
	0x0afa3000c,
	0x08fad00b4,
	0x08fac00ac,


@@ 4504,7 4430,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00136a,
	0x00c001320,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4548,7 4474,7 @@ ulong bootcode[]={
	0x023a20034,
	0x0e7a10004,
	0x0e7a00008,
	0x00c001860,
	0x00c001816,
	0x0afa2000c,
	0x08fa20034,
	0x04444f800,


@@ 4572,7 4498,7 @@ ulong bootcode[]={
	0x000023043,
	0x0afa60030,
	0x000061023,
	0x00c00180b,
	0x00c0017c1,
	0x0afa20004,
	0x0c7a30048,
	0x0c7a2004c,


@@ 4584,7 4510,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x000000027,
	0x000431023,
	0x00c00180b,
	0x00c0017c1,
	0x0afa20004,
	0x08fad00b4,
	0x023ae0078,


@@ 4607,7 4533,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x000000027,
	0x000431023,
	0x00c00180b,
	0x00c0017c1,
	0x0afa20004,
	0x08fad00b4,
	0x08fac00ac,


@@ 4616,7 4542,7 @@ ulong bootcode[]={
	0x0c7a2003c,
	0x000000027,
	0x046201182,
	0x0080015f4,
	0x0080015aa,
	0x023ae0078,
	0x0c7c180e6,
	0x0c7c080ea,


@@ 4633,7 4559,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x000000027,
	0x000431023,
	0x00c00180b,
	0x00c0017c1,
	0x0afa20004,
	0x08fad00b4,
	0x08fac00ac,


@@ 4642,7 4568,7 @@ ulong bootcode[]={
	0x0c7a2003c,
	0x000000027,
	0x046201182,
	0x00800160b,
	0x0080015c1,
	0x023ae0078,
	0x02003fc18,
	0x015830002,


@@ 4677,7 4603,7 @@ ulong bootcode[]={
	0x0200cffff,
	0x0afac00ac,
	0x0200d0065,
	0x0080015b8,
	0x00800156e,
	0x0afad00b4,
	0x0c7a70048,
	0x0c7a6004c,


@@ 4691,7 4617,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x02002ffff,
	0x000431023,
	0x00c00180b,
	0x00c0017c1,
	0x0afa20004,
	0x08fad00b4,
	0x023ae0078,


@@ 4713,7 4639,7 @@ ulong bootcode[]={
	0x000671823,
	0x004600134,
	0x0afa7002c,
	0x00c00180b,
	0x00c0017c1,
	0x0afa30004,
	0x0c7a30040,
	0x0c7a20044,


@@ 4722,7 4648,7 @@ ulong bootcode[]={
	0x046201083,
	0x0e7a30004,
	0x0e7a20008,
	0x00c0017c9,
	0x00c00177f,
	0x000000027,
	0x08fad00b4,
	0x023ae0078,


@@ 4780,7 4706,7 @@ ulong bootcode[]={
	0x024e70001,
	0x02484fff6,
	0x0a0440001,
	0x00800169b,
	0x008001651,
	0x024c6ffff,
	0x010e00007,
	0x0200b0001,


@@ 4848,7 4774,7 @@ ulong bootcode[]={
	0x020030030,
	0x0a0430000,
	0x024e7ffff,
	0x0080016e2,
	0x008001698,
	0x024c60001,
	0x019000013,
	0x000000027,


@@ 4868,7 4794,7 @@ ulong bootcode[]={
	0x0256b0001,
	0x0a0430000,
	0x02508ffff,
	0x0080016f3,
	0x0080016a9,
	0x024c60001,
	0x08fa300b0,
	0x000000027,


@@ 4897,7 4823,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00136a,
	0x00c001320,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4953,19 4879,19 @@ ulong bootcode[]={
	0x000001810,
	0x024630030,
	0x0a0430000,
	0x00800171a,
	0x0080016d0,
	0x024c60001,
	0x000061825,
	0x001231021,
	0x02003002b,
	0x0a0430000,
	0x00800173b,
	0x0080016f1,
	0x024c60001,
	0x000061025,
	0x001221821,
	0x020020065,
	0x0a0620000,
	0x008001731,
	0x0080016e7,
	0x024c60001,
	0x020030067,
	0x011a30006,


@@ 4973,7 4899,7 @@ ulong bootcode[]={
	0x020030068,
	0x011a30003,
	0x000000027,
	0x008001714,
	0x0080016ca,
	0x000000027,
	0x024c7ffff,
	0x004e00006,


@@ 4993,11 4919,11 @@ ulong bootcode[]={
	0x000000027,
	0x01107ff93,
	0x000073025,
	0x008001714,
	0x0080016ca,
	0x024c60001,
	0x008001779,
	0x00800172f,
	0x02508ffff,
	0x008001771,
	0x008001727,
	0x024e7ffff,
	0x08fa30034,
	0x02002ffff,


@@ 5007,7 4933,7 @@ ulong bootcode[]={
	0x000003825,
	0x08fa30034,
	0x0200d0068,
	0x0080016cf,
	0x008001685,
	0x001835023,
	0x08fa200b0,
	0x000000027,


@@ 5018,7 4944,7 @@ ulong bootcode[]={
	0x001221821,
	0x02002002b,
	0x0a0620000,
	0x0080016c0,
	0x008001676,
	0x024c60001,
	0x0c7c180e6,
	0x0c7c080ea,


@@ 5028,7 4954,7 @@ ulong bootcode[]={
	0x0e7a60044,
	0x0e7a70004,
	0x0e7a60008,
	0x00c0017c9,
	0x00c00177f,
	0x000000027,
	0x08fad00b4,
	0x023ae0078,


@@ 5055,14 4981,14 @@ ulong bootcode[]={
	0x046222181,
	0x0e7a70040,
	0x0e7a60044,
	0x008001692,
	0x008001648,
	0x000000027,
	0x00800162e,
	0x0080015e4,
	0x0258cffff,
	0x020020001,
	0x0afa20014,
	0x025ad0020,
	0x0080015b8,
	0x00800156e,
	0x0afad00b4,
	0x023bdffe8,
	0x0afbf0000,


@@ 5079,7 5005,7 @@ ulong bootcode[]={
	0x04624c081,
	0x0e7a30004,
	0x0e7a20008,
	0x00c0018ae,
	0x00c001864,
	0x0afa2000c,
	0x04620c032,
	0x000000027,


@@ 5108,7 5034,7 @@ ulong bootcode[]={
	0x023a2001c,
	0x0e7a30004,
	0x0e7a20008,
	0x00c0018ae,
	0x00c001864,
	0x0afa2000c,
	0x0c7a1001c,
	0x0c7a00020,


@@ 5124,7 5050,7 @@ ulong bootcode[]={
	0x04624c081,
	0x0e7a30004,
	0x0e7a20008,
	0x00c0017c9,
	0x00c00177f,
	0x000000027,
	0x08fa20000,
	0x023bd000c,


@@ 5137,7 5063,7 @@ ulong bootcode[]={
	0x004810008,
	0x000000027,
	0x000041023,
	0x00c00180b,
	0x00c0017c1,
	0x0afa20004,
	0x08fa20000,
	0x023bd0014,


@@ 5158,12 5084,12 @@ ulong bootcode[]={
	0x000042843,
	0x0afa50010,
	0x000851823,
	0x00c00180b,
	0x00c0017c1,
	0x0afa30004,
	0x0e7a10008,
	0x0e7a0000c,
	0x08fa20010,
	0x00c00180b,
	0x00c0017c1,
	0x0afa20004,
	0x0c7a30008,
	0x0c7a2000c,


@@ 5348,138 5274,28 @@ ulong bootcode[]={
	0x08fa4000c,
	0x000000027,
	0x000821024,
	0x0080018cf,
	0x008001885,
	0x0afa2000c,
	0x08fa3000c,
	0x08fa40004,
	0x08fa50008,
	0x023bdfff0,
	0x08fa3001c,
	0x08fa40014,
	0x08fa50018,
	0x028610004,
	0x014200022,
	0x000833021,
	0x028620004,
	0x000a4082b,
	0x014200036,
	0x000a33821,
	0x01440002a,
	0x000000027,
	0x000a40826,
	0x030210003,
	0x014200026,
	0x000000027,
	0x030a500ff,
	0x000050a00,
	0x000a12825,
	0x000050c00,
	0x000a12825,
	0x030810003,
	0x010200008,
	0x000000027,
	0x080a80000,
	0x010200006,
	0x000000027,
	0x0a0880000,
	0x0a0850000,
	0x024840001,
	0x030810003,
	0x01420fffa,
	0x024a50001,
	0x024c3fff1,
	0x00083082b,
	0x01020000d,
	0x000000027,
	0x08ca80000,
	0x08ca90004,
	0x0ac880000,
	0x08ca80008,
	0x0ac890004,
	0x08ca9000c,
	0x0ac880008,
	0x0ac89000c,
	0x024840010,
	0x00083082b,
	0x01420fff5,
	0x024a50010,
	0x024c3fffd,
	0x00083082b,
	0x010200008,
	0x000000027,
	0x08ca80000,
	0x000000027,
	0x0ac880000,
	0x024840004,
	0x00083082b,
	0x01420fffa,
	0x024a50004,
	0x010e50006,
	0x000000027,
	0x080a80000,
	0x024a50001,
	0x0a0880000,
	0x014e5fffc,
	0x024840001,
	0x08fa10004,
	0x003e00008,
	0x000000027,
	0x014400028,
	0x000000027,
	0x000e60826,
	0x030210003,
	0x014200024,
	0x000000027,
	0x030e10003,
	0x010200007,
	0x000000027,
	0x080e8ffff,
	0x024e7ffff,
	0x0a0c8ffff,
	0x030e10003,
	0x01420fffb,
	0x024c6ffff,
	0x024a3000f,
	0x00067082b,
	0x01020000d,
	0x000000027,
	0x08ce8fffc,
	0x08ce9fff8,
	0x0acc8fffc,
	0x08ce8fff4,
	0x0acc9fff8,
	0x08ce9fff0,
	0x024e7fff0,
	0x0acc8fff4,
	0x0acc9fff0,
	0x00067082b,
	0x01420fff5,
	0x024c6fff0,
	0x024a30003,
	0x00067082b,
	0x010200007,
	0x000000027,
	0x08ce8fffc,
	0x024e7fffc,
	0x0acc8fffc,
	0x00067082b,
	0x01420fffb,
	0x024c6fffc,
	0x010e5ffd3,
	0x000000027,
	0x080e8ffff,
	0x000000027,
	0x0a0c8ffff,
	0x024c6ffff,
	0x00800194d,
	0x024e7ffff,
	0x023bdfff0,
	0x08fa3001c,
	0x08fa40014,
	0x08fa50018,
	0x028610004,
	0x014200022,
	0x000833021,
	0x030a500ff,
	0x000050a00,
	0x000a12825,
	0x000050c00,
	0x000a12825,
	0x030810003,
	0x010200006,
	0x000000027,
	0x0a0850000,
	0x024840001,
	0x030810003,
	0x01420fffc,
	0x000000027,
	0x01420fffc,
	0x000000027,
	0x024c3fff1,
	0x00083082b,
	0x010200008,


@@ 5539,7 5355,7 @@ ulong bootcode[]={
	0x000000825,
	0x0e7a50004,
	0x0e7a40008,
	0x00c0019c1,
	0x00c001909,
	0x0afa0000c,
	0x014200005,
	0x000000027,


@@ 5609,6 5425,116 @@ ulong bootcode[]={
	0x023bd000c,
	0x003e00008,
	0x000000825,
	0x08fa3000c,
	0x08fa40004,
	0x08fa50008,
	0x000833021,
	0x028620004,
	0x000a4082b,
	0x014200036,
	0x000a33821,
	0x01440002a,
	0x000000027,
	0x000a40826,
	0x030210003,
	0x014200026,
	0x000000027,
	0x030810003,
	0x010200008,
	0x000000027,
	0x080a80000,
	0x000000027,
	0x0a0880000,
	0x024840001,
	0x030810003,
	0x01420fffa,
	0x024a50001,
	0x024c3fff1,
	0x00083082b,
	0x01020000d,
	0x000000027,
	0x08ca80000,
	0x08ca90004,
	0x0ac880000,
	0x08ca80008,
	0x0ac890004,
	0x08ca9000c,
	0x0ac880008,
	0x0ac89000c,
	0x024840010,
	0x00083082b,
	0x01420fff5,
	0x024a50010,
	0x024c3fffd,
	0x00083082b,
	0x010200008,
	0x000000027,
	0x08ca80000,
	0x000000027,
	0x0ac880000,
	0x024840004,
	0x00083082b,
	0x01420fffa,
	0x024a50004,
	0x010e50006,
	0x000000027,
	0x080a80000,
	0x024a50001,
	0x0a0880000,
	0x014e5fffc,
	0x024840001,
	0x08fa10004,
	0x003e00008,
	0x000000027,
	0x014400028,
	0x000000027,
	0x000e60826,
	0x030210003,
	0x014200024,
	0x000000027,
	0x030e10003,
	0x010200007,
	0x000000027,
	0x080e8ffff,
	0x024e7ffff,
	0x0a0c8ffff,
	0x030e10003,
	0x01420fffb,
	0x024c6ffff,
	0x024a3000f,
	0x00067082b,
	0x01020000d,
	0x000000027,
	0x08ce8fffc,
	0x08ce9fff8,
	0x0acc8fffc,
	0x08ce8fff4,
	0x0acc9fff8,
	0x08ce9fff0,
	0x024e7fff0,
	0x0acc8fff4,
	0x0acc9fff0,
	0x00067082b,
	0x01420fff5,
	0x024c6fff0,
	0x024a30003,
	0x00067082b,
	0x010200007,
	0x000000027,
	0x08ce8fffc,
	0x024e7fffc,
	0x0acc8fffc,
	0x00067082b,
	0x01420fffb,
	0x024c6fffc,
	0x010e5ffd3,
	0x000000027,
	0x080e8ffff,
	0x000000027,
	0x0a0c8ffff,
	0x024c6ffff,
	0x008001998,
	0x024e7ffff,
	0x000000000,
	0x000000000,
	0x07072696e,


@@ 5675,7 5601,7 @@ ulong bootcode[]={
	0x000000000,
	0x0001fffff,
	0x07fffffff,
	0x000005300,
	0x0000051d8,
	0x000000000,
	0x000000000,
	0x000000000,


@@ 5761,322 5687,304 @@ ulong bootcode[]={
	0x0632f636f,
	0x06e730023,
	0x0632f636f,
	0x06e730023,
	0x0652f7379,
	0x0736e616d,
	0x065007379,
	0x0736e616d,
	0x065007379,
	0x0736e616d,
	0x065002365,
	0x02f746572,
	0x06d696e61,
	0x06c007465,
	0x0726d696e,
	0x0616c0073,
	0x067692070,
	0x06f776572,
	0x020344400,
	0x073676920,
	0x0706f7765,
	0x072203444,
	0x000746572,
	0x06d696e61,
	0x06c006269,
	0x07421626f,
	0x06f746573,
	0x0002f6d69,
	0x070732f39,
	0x00023332f,
	0x062697433,
	0x00063616e,
	0x027742063,
	0x06f6e7665,
	0x07274206e,
	0x06f6e6574,
	0x020616464,
	0x072657373,
	0x020746f20,
	0x065746865,
	0x072206164,
	0x06e730062,
	0x069742162,
	0x06f6f7465,
	0x073002f6d,
	0x06970732f,
	0x039002333,
	0x02f626974,
	0x033006361,
	0x06e277420,
	0x0636f6e76,
	0x065727420,
	0x06e6f6e65,
	0x074206164,
	0x064726573,
	0x0730a0023,
	0x06c2f312f,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x07320746f,
	0x020657468,
	0x065722061,
	0x064647265,
	0x073730a00,
	0x0236c2f31,
	0x02f63746c,
	0x000636f6e,
	0x06e656374,
	0x020307839,
	0x030300063,
	0x06f6e6e65,
	0x063742030,
	0x078393030,
	0x000707573,
	0x068206e6f,
	0x065746865,
	0x072007075,
	0x0006f7065,
	0x06e696e67,
	0x020236c2f,
	0x0312f6374,
	0x06c00636f,
	0x06e6e6563,
	0x074203078,
	0x039303000,
	0x0636f6e6e,
	0x065637420,
	0x030783930,
	0x030007075,
	0x07368206e,
	0x06f657468,
	0x065720063,
	0x06f6e6669,
	0x067206e6f,
	0x06e657400,
	0x065720070,
	0x075736820,
	0x06e6f6574,
	0x068657200,
	0x0636f6e66,
	0x06967206e,
	0x06f6e6574,
	0x000236e6e,
	0x000636f6e,
	0x066696720,
	0x06e6f6e65,
	0x07400236e,
	0x06e6f6e65,
	0x0742f322f,
	0x064617461,
	0x0006f7065,
	0x06e696e67,
	0x020236e6e,
	0x06f6e6574,
	0x02f322f64,
	0x061746100,
	0x06f70656e,
	0x0696e6720,
	0x0236e6e6f,
	0x06e65742f,
	0x0322f6461,
	0x074610023,
	0x06e6e6f6e,
	0x065742f32,
	0x0322f6374,
	0x06c006f70,
	0x0656e696e,
	0x06720236e,
	0x06e6f6e65,
	0x0742f322f,
	0x063746c00,
	0x06e6f6e65,
	0x07400236e,
	0x06e6f6e65,
	0x074002368,
	0x02f63746c,
	0x0006f7065,
	0x06e696e67,
	0x020236e6e,
	0x06f6e6574,
	0x02f322f63,
	0x0746c006e,
	0x06f6e6574,
	0x000236e6e,
	0x06f6e6574,
	0x00023682f,
	0x02023682f,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x023682f63,
	0x0746c0070,
	0x070757368,
	0x020646b6d,
	0x075780070,
	0x075736820,
	0x0646b6d75,
	0x078007075,
	0x073682064,
	0x06b6d7578,
	0x000636f6e,
	0x066696720,
	0x034203235,
	0x036207265,
	0x073746172,
	0x07420646b,
	0x000636f6e,
	0x066696720,
	0x034203235,
	0x036207265,
	0x073746172,
	0x07420646b,
	0x000236b64,
	0x06b2f352f,
	0x064617461,
	0x07800636f,
	0x06e666967,
	0x020342032,
	0x035362072,
	0x065737461,
	0x072742064,
	0x06b00636f,
	0x06e666967,
	0x020342032,
	0x035362072,
	0x065737461,
	0x072742064,
	0x06b00236b,
	0x0646b2f35,
	0x02f646174,
	0x061006f70,
	0x0656e696e,
	0x06720236b,
	0x0646b2f35,
	0x02f646174,
	0x06100236b,
	0x0646b2f35,
	0x02f63746c,
	0x0006f7065,
	0x06e696e67,
	0x020236b64,
	0x06b2f352f,
	0x064617461,
	0x000236b64,
	0x06b2f352f,
	0x063746c00,
	0x06f70656e,
	0x0696e6720,
	0x0236b646b,
	0x02f352f63,
	0x0746c0063,
	0x06f6e6e65,
	0x063742025,
	0x07300646b,
	0x000236b64,
	0x06b002f64,
	0x065760000,
	0x0006d6f75,
	0x06e74002f,
	0x06465762f,
	0x06d697073,
	0x02f62696e,
	0x02f686f74,
	0x0726f6462,
	0x06f6f7400,
	0x0686f7472,
	0x06f64626f,
	0x06f74002f,
	0x06465762f,
	0x0686f6262,
	0x069742f68,
	0x06f740065,
	0x07865636c,
	0x020686f74,
	0x0636f6e6e,
	0x065637420,
	0x025730064,
	0x06b00236b,
	0x0646b002f,
	0x064657600,
	0x000006d6f,
	0x0756e7400,
	0x02f646576,
	0x02f6d6970,
	0x0732f6269,
	0x06e2f686f,
	0x074726f64,
	0x0626f6f74,
	0x000686f74,
	0x0726f6462,
	0x06f6f7400,
	0x0666f726b,
	0x000736c65,
	0x065702033,
	0x020736563,
	0x06f6e6473,
	0x00a00676f,
	0x020666f72,
	0x02069742e,
	0x02e2e2e0a,
	0x00023482f,
	0x0686f7472,
	0x06f64006e,
	0x06f702e2e,
	0x02e006e20,
	0x03d202564,
	0x00a007772,
	0x069746520,
	0x06e6f7000,
	0x072656164,
	0x0206e6f70,
	0x0006e203d,
	0x02025643b,
	0x020627566,
	0x02f646576,
	0x02f686f62,
	0x06269742f,
	0x0686f7400,
	0x065786563,
	0x06c20686f,
	0x074726f64,
	0x0626f6f74,
	0x000666f72,
	0x06b00736c,
	0x065657020,
	0x033207365,
	0x0636f6e64,
	0x0730a0067,
	0x06f20666f,
	0x072206974,
	0x02e2e2e2e,
	0x00a002348,
	0x02f686f74,
	0x0726f6400,
	0x06e6f702e,
	0x02e2e006e,
	0x0203d2025,
	0x02e327820,
	0x0640a0077,
	0x072697465,
	0x0206e6f70,
	0x000726561,
	0x064206e6f,
	0x070006e20,
	0x03d202564,
	0x03b206275,
	0x066203d20,
	0x0252e3278,
	0x020252e32,
	0x07820252e,
	0x032780a00,
	0x0666f726d,
	0x06174206e,
	0x06f70006e,
	0x06f742052,
	0x032782025,
	0x02e32780a,
	0x000666f72,
	0x06d617420,
	0x06e6f7000,
	0x074616720,
	0x06e6f7420,
	0x04e4f5441,
	0x047007365,
	0x07373696f,
	0x06e2e2e2e,
	0x000777269,
	0x074652073,
	0x0526e6f70,
	0x000746167,
	0x0206e6f74,
	0x0204e4f54,
	0x041470073,
	0x065737369,
	0x06f6e0072,
	0x065616420,
	0x06f6e2e2e,
	0x02e007772,
	0x069746520,
	0x073657373,
	0x0696f6e00,
	0x072656164,
	0x020736573,
	0x073696f6e,
	0x000666f72,
	0x06d617420,
	0x073657373,
	0x0696f6e00,
	0x0666f726d,
	0x061742073,
	0x074616720,
	0x06e6f7420,
	0x04e4f5441,
	0x04700626f,
	0x06f743a20,
	0x06572726f,
	0x072202573,
	0x00a006e6f,
	0x074205273,
	0x065737369,
	0x06f6e0074,
	0x06167206e,
	0x06f74204e,
	0x04f544147,
	0x000626f6f,
	0x0743a2065,
	0x072726f72,
	0x02025730a,
	0x0006e6f74,
	0x020527365,
	0x07373696f,
	0x06e007365,
	0x072766572,
	0x000626974,
	0x02100686f,
	0x074210064,
	0x06b21006e,
	0x06f6e6574,
	0x021006361,
	0x06e277420,
	0x0636f6e6e,
	0x06563742c,
	0x020726574,
	0x07279696e,
	0x0672e2e2e,
	0x00a006361,
	0x06e277420,
	0x0636f6e6e,
	0x06563740a,
	0x000626f6f,
	0x07400626f,
	0x06f746573,
	0x0006d6f75,
	0x06e742e2e,
	0x02e002f00,
	0x02f006269,
	0x06e64002f,
	0x00000006d,
	0x06f756e74,
	0x000737563,
	0x063657373,
	0x00a002f6e,
	0x065742f25,
	0x073002f6e,
	0x065742f6e,
	0x06f6e0073,
	0x065727665,
	0x072006269,
	0x074210068,
	0x06f742100,
	0x0646b2100,
	0x06e6f6e65,
	0x074210063,
	0x0616e2774,
	0x020636f6e,
	0x06e656374,
	0x02c207265,
	0x074727969,
	0x06e672e2e,
	0x02e0a0063,
	0x0616e2774,
	0x020636f6e,
	0x06e656374,
	0x00a00626f,
	0x06f740062,
	0x06f6f7465,
	0x073006d6f,
	0x0756e742e,
	0x02e2e002f,
	0x0002f0062,
	0x0696e6400,
	0x02f000000,
	0x06d6f756e,
	0x074007375,
	0x063636573,
	0x0730a002f,
	0x06e65742f,
	0x02573002f,
	0x06e65742f,
	0x06e657400,
	0x02f6c6962,
	0x02f6e6574,
	0x061646472,
	0x02e257300,
	0x062696e64,
	0x0696e6720,
	0x02573206f,
	0x06e746f20,
	0x02f6c6962,
	0x02f6e6574,
	0x061646472,
	0x02e6e6574,
	0x00a002f6c,
	0x069622f6e,
	0x065746164,
	0x064722e6e,
	0x06574002f,
	0x06c69622f,
	0x06e657461,
	0x06464722e,
	0x025730062,
	0x0696e6469,
	0x06e672025,
	0x073206f6e,
	0x0746f202f,
	0x06c69622f,
	0x06e657461,
	0x06464722e,
	0x06e65740a,
	0x0002f6c69,
	0x0622f6e65,
	0x074616464,
	0x0722e6e65,
	0x074002f6d,
	0x06d697073,
	0x02f696e69,
	0x07400696e,
	0x06974002d,
	0x06d63002f,
	0x06d697073,
	0x02f696e69,
	0x07400696e,
	0x06974002d,
	0x063002f6d,
	0x06970732f,
	0x0696e6974,
	0x000696e69,
	0x074002d6d,
	0x0002f6d69,
	0x070732f69,
	0x06e697400,
	0x0696e6974,
	0x0002f6d69,
	0x070732f69,
	0x06e697400,
	0x0626f6f74,
	0x03a202573,
	0x03a202573,
	0x00a00626f,
	0x06f743a20,
	0x025733a20,
	0x025730a00,
	0x025735b25,
	0x0735d3a20,
	0x00063616e,
	0x027742072,
	0x065616420,
	0x023632f63,
	0x06f6e733b,
	0x020706c65,
	0x061736520,
	0x07265626f,
	0x06f740023,
	0x0732f2573,
	0x000637265,
	0x061746500,
	0x025640077,
	0x072697465,
	0x00074696d,
	0x0652e2e2e,
	0x00023732f,
	0x0626f6f74,
	0x0002f6e2f,
	0x0626f6f74,
	0x00000002f,
	0x06e2f626f,
	0x06f740073,
	0x074617400,
	0x0256c6400,
	0x000626f6f,
	0x0743a2025,
	0x0733a2025,
	0x0730a0062,
	0x06f6f743a,
	0x02025733a,
	0x02025730a,
	0x00025735b,
	0x025735d3a,
	0x020006361,
	0x06e277420,
	0x072656164,
	0x02023632f,
	0x0636f6e73,
	0x03b20706c,
	0x065617365,
	0x020726562,
	0x06f6f7400,
	0x023732f25,
	0x073006372,
	0x065617465,
	0x000256400,
	0x077726974,
	0x065007469,
	0x06d652e2e,
	0x02e002373,
	0x02f626f6f,
	0x074002f6e,
	0x02f626f6f,
	0x074000000,
	0x02f6e2f62,
	0x06f6f7400,
	0x023632f74,
	0x0696d6500,
	0x00005ef0,
	0x073746174,
	0x000256c64,
	0x0002f6e2f,
	0x0626f6f74,
	0x00023632f,
	0x074696d65,
	0x000000000,
	0x000000000,
	0x00005d80,
	0x0,
	0x00005ef0,
	0x00005d80,
	0x0,
};

M power/main.c => power/main.c +2 -0
@@ 231,6 231,8 @@ init0(void)

	if(!waserror()){
		ksetenv("cputype", "mips");
		ksetenv("terminal", "sgi power 4D");
		ksetenv("sysname", sysname);
		poperror();
	}


M ss/main.c => ss/main.c +1 -1
@@ 111,7 111,7 @@ init0(void)
	u->dot = clone(u->slash, 0);

	if(!waserror()){
		ksetenv("terminal", "sun sparc slc");
		ksetenv("terminal", "sun slc");
		ksetenv("cputype", "sparc");
		poperror();
	}