~kris/9p

9hist

62b5b5d5612d225481a1e50c6faef551ab6683b4 — David du Colombier 35 years ago 13369d1
Plan 9 from Bell Labs 1991-07-04
6 files changed, 436 insertions(+), 326 deletions(-)

A pc/clock.c
M pc/fns.h
M pc/io.h
M pc/l.s
M pc/trap.c
M power/boot.h
A pc/clock.c => pc/clock.c +14 -0
@@ 0,0 1,14 @@
#include	"u.h"
#include	"lib.h"
#include	"mem.h"
#include	"dat.h"
#include	"fns.h"
#include	"io.h"
#include	"ureg.h"

void
clockinit(void)
{
	setvec(Clockvec, clock, SEGIG);
}


M pc/fns.h => pc/fns.h +2 -1
@@ 31,7 31,8 @@ void	screeninit(void);
void	screenputc(int);
void	screenputs(char*, int);
void	setvec(int, void (*)(void*), int);
void	sti(void);
void	spllo(void);
void	splhi(void);
void	systrap(void);
void	trapinit(void);
int	tas(Lock*);

M pc/io.h => pc/io.h +41 -11
@@ 1,20 1,50 @@
/*
 *  interrupt levels
 *  8259 interrupt controllers
 */
enum {
	Clockvec=	8,
	Kbdvec=		9,
	Floppyvec=	14,
enum
{
	Int0ctl=	0x20,		/* control port */
	Int0aux=	0x21,		/* everything else port */
	Int1ctl=	0xA0,		/* control port */
	Int1aux=	0xA1,		/* everything else port */

	Intena=		0x20,		/* written to Intctlport, enables next int */

	Int0vec=	17,		/* first interrupt vector used by the 8259 */
	Clockvec=	Int0vec+0,	/* clock interrupts */
	Kbdvec=		Int0vec+1,	/* keyboard interrupts */
};
#define	INT0ENABLE	outb(Int0ctl, Intena)
#define	INT1ENABLE	outb(Int1ctl, Intena)

/*
 *  damned 8259, assume DOS sets it up for us
 *  8253 timer
 */
enum {
	Intctlport=	0x20,	/* 8259 control port */
	Intctlmask=	0x21,	/* interrupt mask */
enum
{
	Timerctl=	0x43,		/* control port */
	Timercnt=	0x40,		/* timer count port (outb count-1) */
	Timericnt=	0x41,		/* timer count input port */

	Intenable=	0x20,	/* written to Intctlport, enables next int */
	Timerlatch=	0x40,		/* latch count into Timericnt */
};

#define	INTENABLE	outb(Intctlport, Intenable)
/*
 *  8237 dma controllers
 */
enum
{
	/*
	 *  the byte registers for DMA0 are all one byte apart
	 */
	Dma0=		0x00,
	Dma0status=	Dma0+0x8,	/* status port */
	Dma0reset=	Dma0+0xD,	/* reset port */

	/*
	 *  the byte registers for DMA1 are all two bytes apart (why?)
	 */
	Dma1=		0xC0,
	Dma1status=	Dma1+2*0x8,	/* status port */
	Dma0reset=	Dma1+2*0xD,	/* reset port */
};

M pc/l.s => pc/l.s +9 -2
@@ 293,8 293,15 @@ intrscommon:
	RET

/*
 *  turn on interrupts
 *  turn interrupts and traps on
 */
TEXT	sti(SB),$0
TEXT	spllo(SB),$0
	STI
	RET

/*
 *  turn interrupts and traps off
 */
TEXT	splhi(SB),$0
	CLI
	RET

M pc/trap.c => pc/trap.c +14 -0
@@ 66,6 66,20 @@ trapinit(void)
	 *  tell the hardware where the table is (and how long)
	 */
	lidt(ilt, sizeof(ilt));

	/*
	 *  Set up the 8259 interrupt processor #1.
	 *  Make 8259 interrupts starting at vector I8259vec.
	 *
	 *  N.B. This is all magic to me.  It comes from the 
	 *	 IBM technical reference manual.  I just
	 *	 changed the vector.
	 */
	outb(I8259ctl, 0x11);		/* ICW1 - edge, master, ICW4 */
	outb(I8259aux, I8259vec);	/* ICW2 - interrupt vector */
	outb(I8259aux, 0x04);		/* ICW3 - master level 2 */
	outb(I8259aux, 0x01);		/* ICW4 - master, 8086 mode */
	outb(I8259aux, 0x00);		/* mask - all enabled */
}



M power/boot.h => power/boot.h +356 -312
@@ 1,6 1,6 @@
ulong bootcode[]={
	0x000000407,
	0x000005588,
	0x000005638,
	0x0000007d0,
	0x000001190,
	0x000000000,


@@ 25,24 25,24 @@ ulong bootcode[]={
	0x0afa00018,
	0x023c282e1,
	0x0afa20004,
	0x00c000a73,
	0x00c000a83,
	0x0afa00008,
	0x023c382e9,
	0x0afa30004,
	0x020020001,
	0x00c000a73,
	0x00c000a83,
	0x0afa20008,
	0x023c382f1,
	0x0afa30004,
	0x020020001,
	0x00c000a73,
	0x00c000a83,
	0x0afa20008,
	0x023c282f9,
	0x0afa20004,
	0x020040001,
	0x0afa40008,
	0x0200201b6,
	0x00c000a5f,
	0x00c000a6a,
	0x0afa2000c,
	0x004210004,
	0x0afa1001c,


@@ 52,13 52,13 @@ ulong bootcode[]={
	0x08fa20028,
	0x000000027,
	0x08c420000,
	0x00c000a3b,
	0x00c000a43,
	0x0afa20004,
	0x0afa10014,
	0x08fa40028,
	0x000000027,
	0x08c840000,
	0x00c000a3b,
	0x00c000a43,
	0x0afa40004,
	0x0afa10010,
	0x08fa4001c,


@@ 70,7 70,7 @@ ulong bootcode[]={
	0x000000027,
	0x0afa30008,
	0x08fa40010,
	0x00c000a87,
	0x00c000a9c,
	0x0afa4000c,
	0x08fa30014,
	0x000000027,


@@ 80,14 80,14 @@ ulong bootcode[]={
	0x00c0008d0,
	0x0afa20004,
	0x08fa3001c,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x023c38314,
	0x0afa30004,
	0x020040001,
	0x0afa40008,
	0x0200301b6,
	0x00c000a5f,
	0x00c000a6a,
	0x0afa3000c,
	0x004210004,
	0x0afa1001c,


@@ 95,7 95,7 @@ ulong bootcode[]={
	0x00c0008d0,
	0x0afa20004,
	0x023c48336,
	0x00c000a3b,
	0x00c000a43,
	0x0afa40004,
	0x0afa10014,
	0x08fa4001c,


@@ 103,7 103,7 @@ ulong bootcode[]={
	0x0afa40004,
	0x0afa20008,
	0x08fa40014,
	0x00c000a87,
	0x00c000a9c,
	0x0afa4000c,
	0x004210004,
	0x000000027,


@@ 111,7 111,7 @@ ulong bootcode[]={
	0x00c0008d0,
	0x0afa20004,
	0x08fa3001c,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x08fa20028,
	0x000000027,


@@ 143,12 143,12 @@ ulong bootcode[]={
	0x023c28026,
	0x0afa20004,
	0x023c3834c,
	0x00c0009fc,
	0x00c000a03,
	0x0afa30008,
	0x023c298d2,
	0x0afa20004,
	0x023c38357,
	0x00c0009fc,
	0x00c000a03,
	0x0afa30008,
	0x08fa60028,
	0x08fa20024,


@@ 165,14 165,14 @@ ulong bootcode[]={
	0x000000027,
	0x018a00003,
	0x000000027,
	0x00c000a5b,
	0x00c000a65,
	0x0afa50004,
	0x08fc3801a,
	0x000000027,
	0x018600004,
	0x000000027,
	0x08fc2801a,
	0x00c000a5b,
	0x00c000a65,
	0x0afa20004,
	0x0afc0801a,
	0x0afc08006,


@@ 184,20 184,20 @@ ulong bootcode[]={
	0x000000027,
	0x0afa50004,
	0x08cc30000,
	0x00c0009fc,
	0x00c000a03,
	0x0afa30008,
	0x023c28026,
	0x0afa20004,
	0x08fa30028,
	0x000000027,
	0x08c630004,
	0x00c0009fc,
	0x00c000a03,
	0x0afa30008,
	0x00800049f,
	0x000000027,
	0x0afa50004,
	0x08cc30000,
	0x00c0009fc,
	0x00c000a03,
	0x0afa30008,
	0x00800049f,
	0x000000027,


@@ 206,7 206,7 @@ ulong bootcode[]={
	0x023c3835f,
	0x0afa30004,
	0x020020002,
	0x00c000a73,
	0x00c000a83,
	0x0afa20008,
	0x08fa20000,
	0x000000027,


@@ 224,7 224,7 @@ ulong bootcode[]={
	0x000000027,
	0x0afa30004,
	0x08fa40028,
	0x00c0009e9,
	0x00c0009ed,
	0x0afa40008,
	0x08fa50014,
	0x0142000a5,


@@ 248,7 248,7 @@ ulong bootcode[]={
	0x023c28395,
	0x0afa20004,
	0x020040002,
	0x00c000a73,
	0x00c000a83,
	0x0afa40008,
	0x004210008,
	0x000000027,


@@ 264,12 264,12 @@ ulong bootcode[]={
	0x023c483af,
	0x0afa40008,
	0x02003000d,
	0x00c000a87,
	0x00c000a9c,
	0x0afa3000c,
	0x08fa50020,
	0x00421000a,
	0x000000027,
	0x00c000a5b,
	0x00c000a65,
	0x0afa50004,
	0x023c383bd,
	0x00c0008be,


@@ 282,12 282,12 @@ ulong bootcode[]={
	0x023c483cb,
	0x0afa40008,
	0x02003000c,
	0x00c000a87,
	0x00c000a9c,
	0x0afa3000c,
	0x08fa50020,
	0x00421000a,
	0x000000027,
	0x00c000a5b,
	0x00c000a65,
	0x0afa50004,
	0x023c383d8,
	0x00c0008be,


@@ 300,12 300,12 @@ ulong bootcode[]={
	0x023c483e5,
	0x0afa40008,
	0x02003000c,
	0x00c000a87,
	0x00c000a9c,
	0x0afa3000c,
	0x00421000b,
	0x000000027,
	0x08fa20020,
	0x00c000a5b,
	0x00c000a65,
	0x0afa20004,
	0x023c383f2,
	0x00c0008be,


@@ 319,7 319,7 @@ ulong bootcode[]={
	0x023c283ff,
	0x0afa20004,
	0x020040002,
	0x00c000a73,
	0x00c000a83,
	0x0afa40008,
	0x004210008,
	0x0afa10018,


@@ 333,12 333,12 @@ ulong bootcode[]={
	0x023c38425,
	0x0afa30004,
	0x020040002,
	0x00c000a73,
	0x00c000a83,
	0x0afa40008,
	0x00421000c,
	0x0afa1001c,
	0x08fa20018,
	0x00c000a5b,
	0x00c000a65,
	0x0afa20004,
	0x023c28433,
	0x0afa20004,


@@ 351,7 351,7 @@ ulong bootcode[]={
	0x08fa40014,
	0x000000027,
	0x08c840004,
	0x00c000a3b,
	0x00c000a43,
	0x0afa40004,
	0x0afa10010,
	0x08fa4001c,


@@ 363,15 363,15 @@ ulong bootcode[]={
	0x000000027,
	0x0afa20008,
	0x08fa40010,
	0x00c000a87,
	0x00c000a9c,
	0x0afa4000c,
	0x004210012,
	0x000000027,
	0x08fa2001c,
	0x00c000a5b,
	0x00c000a65,
	0x0afa20004,
	0x08fa30018,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x08fa30014,
	0x000000027,


@@ 404,7 404,7 @@ ulong bootcode[]={
	0x023c28457,
	0x0afa20004,
	0x020040002,
	0x00c000a73,
	0x00c000a83,
	0x0afa40008,
	0x004210008,
	0x0afc1801e,


@@ 419,12 419,12 @@ ulong bootcode[]={
	0x023c4846d,
	0x0afa40008,
	0x02003000a,
	0x00c000a87,
	0x00c000a9c,
	0x0afa3000c,
	0x08fc5801e,
	0x00421000a,
	0x000000027,
	0x00c000a5b,
	0x00c000a65,
	0x0afa50004,
	0x023c38478,
	0x00c0008be,


@@ 437,12 437,12 @@ ulong bootcode[]={
	0x023c48483,
	0x0afa40008,
	0x020030017,
	0x00c000a87,
	0x00c000a9c,
	0x0afa3000c,
	0x00421000b,
	0x000000027,
	0x08fc2801e,
	0x00c000a5b,
	0x00c000a65,
	0x0afa20004,
	0x023c3849b,
	0x00c0008be,


@@ 454,12 454,12 @@ ulong bootcode[]={
	0x020020001,
	0x0afc280ce,
	0x0200307d0,
	0x00c000a7b,
	0x00c000a8d,
	0x0afa30004,
	0x023c384b3,
	0x0afa30004,
	0x020040002,
	0x00c000a73,
	0x00c000a83,
	0x0afa40008,
	0x004210008,
	0x0afa10054,


@@ 473,12 473,12 @@ ulong bootcode[]={
	0x023c284d3,
	0x0afa20004,
	0x020040002,
	0x00c000a73,
	0x00c000a83,
	0x0afa40008,
	0x00421000c,
	0x0afc1801a,
	0x08fa30054,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x023c384de,
	0x0afa30004,


@@ 496,7 496,7 @@ ulong bootcode[]={
	0x00c0009b1,
	0x0afa2000c,
	0x023a40014,
	0x00c000a3b,
	0x00c000a43,
	0x0afa40004,
	0x0afa10010,
	0x08fc4801a,


@@ 504,15 504,15 @@ ulong bootcode[]={
	0x0afa40004,
	0x0afa20008,
	0x08fa40010,
	0x00c000a87,
	0x00c000a9c,
	0x0afa4000c,
	0x004210010,
	0x000000027,
	0x08fc2801a,
	0x00c000a5b,
	0x00c000a65,
	0x0afa20004,
	0x08fa30054,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x02002ffff,
	0x0afc2801a,


@@ 549,7 549,7 @@ ulong bootcode[]={
	0x08fa500d0,
	0x014200007,
	0x000000027,
	0x00c000a5b,
	0x00c000a65,
	0x0afa50004,
	0x08fa20000,
	0x023bd00d4,


@@ 562,14 562,14 @@ ulong bootcode[]={
	0x023c28509,
	0x0afa20010,
	0x023c4850a,
	0x00c000a6f,
	0x00c000a7e,
	0x0afa40014,
	0x004210004,
	0x000000027,
	0x023c2850b,
	0x00c0008d0,
	0x0afa20004,
	0x00c000a6b,
	0x00c000a79,
	0x000000027,
	0x02003ffff,
	0x01023002f,


@@ 577,7 577,7 @@ ulong bootcode[]={
	0x010200022,
	0x000000027,
	0x023a20018,
	0x00c000a83,
	0x00c000a97,
	0x0afa20004,
	0x083a3002c,
	0x000000027,


@@ 593,7 593,7 @@ ulong bootcode[]={
	0x00c00098c,
	0x0afa20008,
	0x020030bb8,
	0x00c000a7b,
	0x00c000a8d,
	0x0afa30004,
	0x020020002,
	0x0afa20004,


@@ 603,7 603,7 @@ ulong bootcode[]={
	0x023c2857b,
	0x0afa20004,
	0x020030002,
	0x00c000a73,
	0x00c000a83,
	0x0afa30008,
	0x08fa20000,
	0x000000027,


@@ 615,7 615,7 @@ ulong bootcode[]={
	0x0afa20008,
	0x023c38535,
	0x0afa3000c,
	0x00c000a47,
	0x00c000a4f,
	0x0afa00010,
	0x023c28545,
	0x00c0008d0,


@@ 637,14 637,14 @@ ulong bootcode[]={
	0x023c297d2,
	0x0afa20004,
	0x023c487d2,
	0x00c000ad3,
	0x00c000ae9,
	0x0afa40008,
	0x08fa30024,
	0x023c487d2,
	0x0afa30004,
	0x0afa40008,
	0x0afa1001c,
	0x00c000a87,
	0x00c000a9c,
	0x0afa1000c,
	0x08fa5001c,
	0x000000027,


@@ 666,7 666,7 @@ ulong bootcode[]={
	0x0afa20004,
	0x0afa40008,
	0x020021000,
	0x00c000a77,
	0x00c000a88,
	0x0afa2000c,
	0x01c200008,
	0x000000027,


@@ 687,7 687,7 @@ ulong bootcode[]={
	0x023c497d2,
	0x0afa40008,
	0x0afa1001c,
	0x00c000efa,
	0x00c000f10,
	0x0afa1000c,
	0x014200022,
	0x000000027,


@@ 756,14 756,14 @@ ulong bootcode[]={
	0x023c397d2,
	0x0afa30004,
	0x023c487d2,
	0x00c000ad3,
	0x00c000ae9,
	0x0afa40008,
	0x08fa20024,
	0x023c487d2,
	0x0afa20004,
	0x0afa40008,
	0x0afa1001c,
	0x00c000a87,
	0x00c000a9c,
	0x0afa1000c,
	0x08fa4001c,
	0x000000027,


@@ 781,7 781,7 @@ ulong bootcode[]={
	0x0afa20004,
	0x0afa40008,
	0x020021000,
	0x00c000a77,
	0x00c000a88,
	0x0afa2000c,
	0x01c200008,
	0x000000027,


@@ 796,7 796,7 @@ ulong bootcode[]={
	0x0afa30004,
	0x023c497d2,
	0x0afa40008,
	0x00c000efa,
	0x00c000f10,
	0x0afa1000c,
	0x014200008,
	0x000000027,


@@ 919,7 919,7 @@ ulong bootcode[]={
	0x020040001,
	0x0afa40008,
	0x0200201b6,
	0x00c000a5f,
	0x00c000a6a,
	0x0afa2000c,
	0x004210004,
	0x0afa10148,


@@ 934,11 934,11 @@ ulong bootcode[]={
	0x00c0009b1,
	0x0afa2000c,
	0x023c387d2,
	0x00c000a3b,
	0x00c000a43,
	0x0afa30004,
	0x0afa10014,
	0x023c487d2,
	0x00c000a3b,
	0x00c000a43,
	0x0afa40004,
	0x0afa10010,
	0x08fa40148,


@@ 946,7 946,7 @@ ulong bootcode[]={
	0x0afa40004,
	0x0afa30008,
	0x08fa40010,
	0x00c000a87,
	0x00c000a9c,
	0x0afa4000c,
	0x08fa30014,
	0x000000027,


@@ 956,14 956,14 @@ ulong bootcode[]={
	0x00c0008d0,
	0x0afa20004,
	0x08fa30148,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x023c386ab,
	0x0afa30004,
	0x020040001,
	0x0afa40008,
	0x0200301b6,
	0x00c000a5f,
	0x00c000a6a,
	0x0afa3000c,
	0x004210004,
	0x0afa10148,


@@ 978,11 978,11 @@ ulong bootcode[]={
	0x00c0009b1,
	0x0afa3000c,
	0x023c287d2,
	0x00c000a3b,
	0x00c000a43,
	0x0afa20004,
	0x0afa10014,
	0x023c487d2,
	0x00c000a3b,
	0x00c000a43,
	0x0afa40004,
	0x0afa10010,
	0x08fa40148,


@@ 990,7 990,7 @@ ulong bootcode[]={
	0x0afa40004,
	0x0afa30008,
	0x08fa40010,
	0x00c000a87,
	0x00c000a9c,
	0x0afa4000c,
	0x08fa30014,
	0x000000027,


@@ 1000,7 1000,7 @@ ulong bootcode[]={
	0x00c0008d0,
	0x0afa20004,
	0x08fa30148,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x023c286c3,
	0x00c000967,


@@ 1009,7 1009,7 @@ ulong bootcode[]={
	0x0afa20004,
	0x023c486ce,
	0x0afa40008,
	0x00c000a57,
	0x00c000a60,
	0x0afa0000c,
	0x004210004,
	0x000000027,


@@ 1025,7 1025,7 @@ ulong bootcode[]={
	0x023c486d7,
	0x0afa40010,
	0x023c286d8,
	0x00c000a6f,
	0x00c000a7e,
	0x0afa20014,
	0x004210004,
	0x000000027,


@@ 1038,7 1038,7 @@ ulong bootcode[]={
	0x023c286e7,
	0x0afa20004,
	0x023a40058,
	0x00c000a7f,
	0x00c000a92,
	0x0afa40008,
	0x004210004,
	0x000000027,


@@ 1048,12 1048,12 @@ ulong bootcode[]={
	0x023a30058,
	0x0afa30004,
	0x023a200cc,
	0x00c0011ca,
	0x00c0011e0,
	0x0afa20008,
	0x023c286f0,
	0x0afa20004,
	0x020040001,
	0x00c000a73,
	0x00c000a83,
	0x0afa40008,
	0x0afa10148,
	0x023a20058,


@@ 1064,7 1064,7 @@ ulong bootcode[]={
	0x00c0009b1,
	0x0afa2000c,
	0x023a20058,
	0x00c000a3b,
	0x00c000a43,
	0x0afa20004,
	0x0afa10014,
	0x08fa20148,


@@ 1072,10 1072,10 @@ ulong bootcode[]={
	0x0afa20004,
	0x0afa30008,
	0x08fa20014,
	0x00c000a87,
	0x00c000a9c,
	0x0afa2000c,
	0x08fa30148,
	0x00c000a5b,
	0x00c000a65,
	0x0afa30004,
	0x023c286fc,
	0x00c000967,


@@ 1095,13 1095,13 @@ ulong bootcode[]={
	0x023a20018,
	0x0afa30004,
	0x0afa20008,
	0x00c000a57,
	0x00c000a60,
	0x0afa0000c,
	0x08fc3812a,
	0x023c2870d,
	0x0afa30004,
	0x0afa20008,
	0x00c000a57,
	0x00c000a60,
	0x0afa0000c,
	0x08fc58022,
	0x000000027,


@@ 1122,7 1122,7 @@ ulong bootcode[]={
	0x0afa30004,
	0x023c28748,
	0x0afa20008,
	0x00c000a57,
	0x00c000a60,
	0x0afa0000c,
	0x08fa30154,
	0x000000027,


@@ 1134,7 1134,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x023c28769,
	0x0afa2000c,
	0x00c000a47,
	0x00c000a4f,
	0x0afa00010,
	0x023c3877c,
	0x00c0008d0,


@@ 1147,7 1147,7 @@ ulong bootcode[]={
	0x0afa30004,
	0x023c28777,
	0x0afa20008,
	0x00c000a47,
	0x00c000a4f,
	0x0afa0000c,
	0x023c3877c,
	0x00c0008d0,


@@ 1160,7 1160,7 @@ ulong bootcode[]={
	0x00c000967,
	0x0afa30004,
	0x0200203e8,
	0x00c000a7b,
	0x00c000a8d,
	0x0afa20004,
	0x08fc68006,
	0x08fa20144,


@@ 1216,7 1216,7 @@ ulong bootcode[]={
	0x023bdffac,
	0x0afbf0000,
	0x023a20014,
	0x00c000a63,
	0x00c000a6f,
	0x0afa20004,
	0x020030002,
	0x0afa30004,


@@ 1234,7 1234,7 @@ ulong bootcode[]={
	0x023bdffac,
	0x0afbf0000,
	0x023a30014,
	0x00c000a63,
	0x00c000a6f,
	0x0afa30004,
	0x020020002,
	0x0afa20004,


@@ 1265,7 1265,7 @@ ulong bootcode[]={
	0x023a30010,
	0x0afa30008,
	0x08fa40120,
	0x00c000a77,
	0x00c000a88,
	0x0afa4000c,
	0x014200003,
	0x000012825,


@@ 1287,7 1287,7 @@ ulong bootcode[]={
	0x08fa3011c,
	0x023a20010,
	0x0afa30004,
	0x00c0009fc,
	0x00c000a03,
	0x0afa20008,
	0x08fa50110,
	0x000000027,


@@ 1376,7 1376,7 @@ ulong bootcode[]={
	0x00800094f,
	0x02484ffff,
	0x08fa30014,
	0x00c000a53,
	0x00c000a5b,
	0x0afa30004,
	0x08fa20000,
	0x000000027,


@@ 1392,14 1392,14 @@ ulong bootcode[]={
	0x023a41020,
	0x0afa3000c,
	0x024840004,
	0x00c001284,
	0x00c00129d,
	0x0afa40010,
	0x023a6001c,
	0x020020001,
	0x0afa20004,
	0x0afa60008,
	0x000261023,
	0x00c000a87,
	0x00c000a9c,
	0x0afa2000c,
	0x0afa10014,
	0x00421000c,


@@ 1429,14 1429,14 @@ ulong bootcode[]={
	0x023a41024,
	0x0afa3000c,
	0x024840004,
	0x00c001284,
	0x00c00129d,
	0x0afa40010,
	0x08fa21020,
	0x023a6001c,
	0x0afa20004,
	0x0afa60008,
	0x000261023,
	0x00c000a87,
	0x00c000a9c,
	0x0afa2000c,
	0x0afa10014,
	0x00421000c,


@@ 1468,7 1468,7 @@ ulong bootcode[]={
	0x023a40024,
	0x0afa2000c,
	0x024840004,
	0x00c001284,
	0x00c00129d,
	0x0afa40010,
	0x08fa20014,
	0x000000027,


@@ 1480,9 1480,10 @@ ulong bootcode[]={
	0x000000027,
	0x000400008,
	0x023bd001c,
	0x08fa7000c,
	0x08fa60008,
	0x08fa50004,
	0x023bdfffc,
	0x08fa70010,
	0x08fa6000c,
	0x08fa50008,
	0x000000027,
	0x024e7ffff,
	0x004e00007,


@@ 1491,10 1492,11 @@ ulong bootcode[]={
	0x000061025,
	0x080420000,
	0x000000027,
	0x01062000d,
	0x01062000f,
	0x024c60001,
	0x004e10003,
	0x004e10004,
	0x000000027,
	0x023bd0004,
	0x003e00008,
	0x000000825,
	0x080a10000,


@@ 1503,36 1505,42 @@ ulong bootcode[]={
	0x000010e03,
	0x000021600,
	0x000021603,
	0x023bd0004,
	0x003e00008,
	0x000220823,
	0x000051825,
	0x080630000,
	0x000000027,
	0x01460ffe7,
	0x01460ffe5,
	0x024a50001,
	0x023bd0004,
	0x003e00008,
	0x000000825,
	0x08fa30004,
	0x08fa20008,
	0x023bdfffc,
	0x08fa30008,
	0x08fa2000c,
	0x000000027,
	0x080410000,
	0x080640000,
	0x01020000b,
	0x01020000c,
	0x000000027,
	0x024630001,
	0x01024fffa,
	0x024420001,
	0x00024082b,
	0x014200003,
	0x014200004,
	0x000000027,
	0x023bd0004,
	0x003e00008,
	0x02001ffff,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bd0004,
	0x003e00008,
	0x00024082b,
	0x08fa30004,
	0x08fa40008,
	0x023bdfffc,
	0x08fa30008,
	0x08fa4000c,
	0x000000027,
	0x000830826,
	0x030210003,


@@ 1549,9 1557,9 @@ ulong bootcode[]={
	0x024630001,
	0x014a0fff8,
	0x024840001,
	0x08fa10004,
	0x08fa10008,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x08c850000,
	0x024840004,
	0x000a60824,


@@ 1564,42 1572,42 @@ ulong bootcode[]={
	0x030a200ff,
	0x01440fff5,
	0x0ac65fffc,
	0x08fa10004,
	0x08fa10008,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x000050e02,
	0x0a061fffc,
	0x000052c02,
	0x0a065fffd,
	0x0a060fffe,
	0x08fa10004,
	0x08fa10008,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x000052e02,
	0x0a065fffc,
	0x0a060fffd,
	0x08fa10004,
	0x08fa10008,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x0a060fffc,
	0x08fa10004,
	0x08fa10008,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x080850000,
	0x000000027,
	0x0a0650000,
	0x024630001,
	0x014a0fffb,
	0x024840001,
	0x08fa10004,
	0x08fa10008,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfff4,
	0x0afbf0000,
	0x08fa20010,
	0x000000027,
	0x0afa20004,
	0x00c0017e7,
	0x00c00180c,
	0x0afa00008,
	0x08fa30010,
	0x08fa20000,


@@ 1612,68 1620,82 @@ ulong bootcode[]={
	0x023a30010,
	0x0afa20004,
	0x024630004,
	0x00c000a67,
	0x00c000a74,
	0x0afa30008,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd000c,
	0x023bdfffc,
	0x020010008,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010002,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010004,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010016,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010001,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010007,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010009,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x02001000d,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x02001000e,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x02001000f,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010011,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010012,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010013,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdfffc,
	0x020010014,
	0x00000000c,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x023bdffe4,
	0x0afbf0000,
	0x023c280ea,


@@ 1691,7 1713,7 @@ ulong bootcode[]={
	0x08fa2002c,
	0x000000027,
	0x08c420000,
	0x00c000a77,
	0x00c000a88,
	0x0afa2000c,
	0x014200015,
	0x0afa10018,


@@ 1727,7 1749,7 @@ ulong bootcode[]={
	0x08fa40028,
	0x000000027,
	0x0afa40008,
	0x00c000efa,
	0x00c000f10,
	0x0afa1000c,
	0x014200009,
	0x0afa10018,


@@ 1737,7 1759,7 @@ ulong bootcode[]={
	0x00c00098c,
	0x0afa30008,
	0x023c28121,
	0x008000aa5,
	0x008000abb,
	0x0afa20010,
	0x08fa3002c,
	0x000000027,


@@ 1837,7 1859,7 @@ ulong bootcode[]={
	0x024a20008,
	0x0afa20008,
	0x020030040,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x000000027,


@@ 1863,7 1885,7 @@ ulong bootcode[]={
	0x024a20008,
	0x0afa20008,
	0x02003001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x02003001c,


@@ 1874,7 1896,7 @@ ulong bootcode[]={
	0x000000027,
	0x024420024,
	0x0afa20008,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x02003001c,


@@ 1885,7 1907,7 @@ ulong bootcode[]={
	0x000000027,
	0x024420040,
	0x0afa20008,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x000000027,


@@ 2017,7 2039,7 @@ ulong bootcode[]={
	0x024a3000e,
	0x0afa30008,
	0x02002001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 2166,7 2188,7 @@ ulong bootcode[]={
	0x024a2000e,
	0x0afa20008,
	0x02003001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa70018,
	0x08fa20010,


@@ 2246,7 2268,7 @@ ulong bootcode[]={
	0x000000027,
	0x0afa20008,
	0x08ca3000c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20018,
	0x08fa30010,


@@ 2390,7 2412,7 @@ ulong bootcode[]={
	0x000000027,
	0x0afa20008,
	0x08ca3000c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20018,
	0x08fa30010,


@@ 2521,7 2543,7 @@ ulong bootcode[]={
	0x024a30008,
	0x0afa30008,
	0x020020074,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 2577,7 2599,7 @@ ulong bootcode[]={
	0x024a20008,
	0x0afa20008,
	0x020030074,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x000000027,


@@ 2625,7 2647,7 @@ ulong bootcode[]={
	0x024a2000e,
	0x0afa20008,
	0x02003001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x000000027,


@@ 2662,7 2684,7 @@ ulong bootcode[]={
	0x08fa30018,
	0x000000027,
	0x0afa30008,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x02002001c,


@@ 2673,7 2695,7 @@ ulong bootcode[]={
	0x000000027,
	0x02463001c,
	0x0afa30008,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x02002001c,


@@ 2684,7 2706,7 @@ ulong bootcode[]={
	0x000000027,
	0x024630038,
	0x0afa30008,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa40018,
	0x08fa30010,


@@ 2894,17 2916,17 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20008,
	0x024c20008,
	0x0afa20004,
	0x0afa50010,
	0x0afa50008,
	0x020020040,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x008000f2c,
	0x008000f42,
	0x024650040,
	0x090a20000,
	0x090a30001,


@@ 2919,7 2941,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 2929,7 2951,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x08fa2001c,


@@ 2939,10 2961,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x008000f2c,
	0x008000f42,
	0x02465001c,
	0x02003003e,
	0x00062202a,


@@ 2970,7 2992,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20002,
	0x090a20000,
	0x090a30001,


@@ 2987,7 3009,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c2000c,
	0x090a20000,
	0x090a30001,


@@ 3028,7 3050,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000f2c,
	0x008000f42,
	0x0acc20010,
	0x090a20000,
	0x090a30001,


@@ 3043,10 3065,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x008000f2c,
	0x008000f42,
	0x02465001c,
	0x02003003f,
	0x010430040,


@@ 3100,7 3122,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000f2c,
	0x008000f42,
	0x0acc20010,
	0x090a20000,
	0x090a30001,


@@ 3112,7 3134,7 @@ ulong bootcode[]={
	0x024a30002,
	0x024650001,
	0x080630000,
	0x008000f2c,
	0x008000f42,
	0x0a0c3002a,
	0x090a20000,
	0x090a30001,


@@ 3153,7 3175,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000f2c,
	0x008000f42,
	0x0acc20010,
	0x090a20000,
	0x090a30001,


@@ 3168,7 3190,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa6001c,
	0x08fa30010,


@@ 3192,7 3214,7 @@ ulong bootcode[]={
	0x024a30004,
	0x024650001,
	0x080630000,
	0x008000f2c,
	0x008000f42,
	0x0a0c3002a,
	0x02003004a,
	0x00062202a,


@@ 3238,7 3260,7 @@ ulong bootcode[]={
	0x024650001,
	0x0acc50010,
	0x08cc3000c,
	0x008000f2c,
	0x008000f42,
	0x000a32821,
	0x090a20000,
	0x090a30001,


@@ 3271,7 3293,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0acc2000c,
	0x090a20000,
	0x090a30001,


@@ 3312,7 3334,7 @@ ulong bootcode[]={
	0x000031e00,
	0x000431025,
	0x024a50004,
	0x008000f2c,
	0x008000f42,
	0x0acc20010,
	0x090a20000,
	0x090a30001,


@@ 3349,7 3371,7 @@ ulong bootcode[]={
	0x024650001,
	0x0acc50010,
	0x08cc3000c,
	0x008000f2c,
	0x008000f42,
	0x000a32821,
	0x020030047,
	0x01043001d,


@@ 3371,7 3393,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20002,
	0x090a20000,
	0x090a30001,


@@ 3380,7 3402,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20002,
	0x090a20000,
	0x090a30001,


@@ 3397,7 3419,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0acc2000c,
	0x090a20000,
	0x090a30001,


@@ 3406,7 3428,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20002,
	0x02003004e,
	0x00062202a,


@@ 3440,10 3462,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x020020074,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x008000f2c,
	0x008000f42,
	0x024650074,
	0x090a20000,
	0x090a30001,


@@ 3452,7 3474,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20002,
	0x090a20000,
	0x090a30001,


@@ 3461,7 3483,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20002,
	0x090a20000,
	0x090a30001,


@@ 3476,10 3498,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x020020074,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x008000f2c,
	0x008000f42,
	0x024650074,
	0x02003004f,
	0x010430025,


@@ 3515,10 3537,10 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02002001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa2000c,
	0x08fa30010,
	0x008000f2c,
	0x008000f42,
	0x02465001c,
	0x090a20000,
	0x090a30001,


@@ 3527,7 3549,7 @@ ulong bootcode[]={
	0x000031a00,
	0x000431025,
	0x024a50002,
	0x008000f2c,
	0x008000f42,
	0x0a4c20002,
	0x023bdffec,
	0x0afbf0000,


@@ 3538,7 3560,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x08fa3001c,


@@ 3548,7 3570,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa20010,
	0x08fa3001c,


@@ 3558,7 3580,7 @@ ulong bootcode[]={
	0x0afa50010,
	0x0afa50008,
	0x02003001c,
	0x00c00189a,
	0x00c0018c5,
	0x0afa3000c,
	0x08fa5001c,
	0x08fa20010,


@@ 3682,14 3704,16 @@ ulong bootcode[]={
	0x000000027,
	0x000400008,
	0x023bd0014,
	0x023bdfffc,
	0x08fc780ca,
	0x083a20007,
	0x083a2000b,
	0x028e3001e,
	0x03042007f,
	0x000022e00,
	0x000052e03,
	0x014600003,
	0x014600004,
	0x023c68146,
	0x023bd0004,
	0x003e00008,
	0x020010001,
	0x000051e00,


@@ 3710,9 3734,10 @@ ulong bootcode[]={
	0x000021600,
	0x000021603,
	0x000021080,
	0x08fa40008,
	0x08fa4000c,
	0x000431021,
	0x000000825,
	0x023bd0004,
	0x003e00008,
	0x0ac440000,
	0x023bdffcc,


@@ 3774,7 3799,7 @@ ulong bootcode[]={
	0x02002000a,
	0x014a20003,
	0x000000027,
	0x008001295,
	0x0080012ae,
	0x0afc080de,
	0x020020009,
	0x014a2ffd2,


@@ 3784,7 3809,7 @@ ulong bootcode[]={
	0x024630007,
	0x0201cfff8,
	0x0007c1824,
	0x008001295,
	0x0080012ae,
	0x0afc380de,
	0x02007fc18,
	0x0200bfc18,


@@ 3798,7 3823,7 @@ ulong bootcode[]={
	0x000052e03,
	0x014a00003,
	0x000000027,
	0x008001295,
	0x0080012ae,
	0x024c6ffff,
	0x02002002e,
	0x014a20007,


@@ 3807,7 3832,7 @@ ulong bootcode[]={
	0x014e20002,
	0x000000027,
	0x000003825,
	0x0080012ce,
	0x0080012e7,
	0x000005825,
	0x028a20031,
	0x014400025,


@@ 3829,11 3854,11 @@ ulong bootcode[]={
	0x000000027,
	0x014a0ffe4,
	0x000083825,
	0x008001295,
	0x0080012ae,
	0x024c6ffff,
	0x014a0ffe0,
	0x000085825,
	0x008001295,
	0x0080012ae,
	0x024c6ffff,
	0x02002000a,
	0x001020018,


@@ 3846,7 3871,7 @@ ulong bootcode[]={
	0x000000027,
	0x000052e00,
	0x000052e03,
	0x0080012ea,
	0x008001303,
	0x02468ffd0,
	0x020030030,
	0x014a30006,


@@ 3854,7 3879,7 @@ ulong bootcode[]={
	0x02003fc18,
	0x010e30003,
	0x000000027,
	0x0080012e9,
	0x008001302,
	0x000000027,
	0x02002002a,
	0x014a20009,


@@ 3863,9 3888,9 @@ ulong bootcode[]={
	0x02002fc18,
	0x014e20003,
	0x025290004,
	0x0080012ce,
	0x0080012e7,
	0x000053825,
	0x0080012ce,
	0x0080012e7,
	0x000055825,
	0x030a5007f,
	0x0afa90044,


@@ 3898,9 3923,9 @@ ulong bootcode[]={
	0x000000027,
	0x08fa40028,
	0x000011023,
	0x0080012ce,
	0x0080012e7,
	0x000825025,
	0x008001295,
	0x0080012ae,
	0x001214821,
	0x023bdfff0,
	0x0afbf0000,


@@ 3918,13 3943,13 @@ ulong bootcode[]={
	0x0afa30004,
	0x0afa40008,
	0x08fa3001c,
	0x00c001432,
	0x00c00144b,
	0x0afa3000c,
	0x08fa20000,
	0x000000027,
	0x000400008,
	0x023bd0010,
	0x00800134a,
	0x008001363,
	0x000042023,
	0x023bdffa8,
	0x0afbf0000,


@@ 4017,7 4042,7 @@ ulong bootcode[]={
	0x02002fc18,
	0x0afa30008,
	0x0afa2000c,
	0x00c00133f,
	0x00c001358,
	0x0afa70010,
	0x08fa10028,
	0x08fa20000,


@@ 4036,12 4061,12 @@ ulong bootcode[]={
	0x024a5ffff,
	0x001651021,
	0x020040030,
	0x0080013a6,
	0x0080013bf,
	0x0a0440000,
	0x024a5ffff,
	0x001651021,
	0x020040078,
	0x0080013c2,
	0x0080013db,
	0x0a0440000,
	0x030e30040,
	0x01060001e,


@@ 4063,27 4088,27 @@ ulong bootcode[]={
	0x000000027,
	0x01d000003,
	0x000000027,
	0x008001397,
	0x0080013b0,
	0x000000027,
	0x01d400003,
	0x000000027,
	0x008001397,
	0x0080013b0,
	0x000000027,
	0x030e20040,
	0x01440ffa0,
	0x024a5ffff,
	0x00149001b,
	0x00800138c,
	0x0080013a5,
	0x000003010,
	0x00149001b,
	0x0080013d3,
	0x0080013ec,
	0x000005012,
	0x0200d0001,
	0x008001384,
	0x00800139d,
	0x0000a5023,
	0x08caa0000,
	0x020030004,
	0x00800137f,
	0x008001398,
	0x0afa30028,
	0x08ca20000,
	0x000000027,


@@ 4095,15 4120,15 @@ ulong bootcode[]={
	0x000031c03,
	0x020020004,
	0x0afa20028,
	0x00800137f,
	0x008001398,
	0x000035025,
	0x08caa0000,
	0x020030004,
	0x00800137f,
	0x008001398,
	0x0afa30028,
	0x08caa0000,
	0x020030004,
	0x00800137f,
	0x008001398,
	0x0afa30028,
	0x020030030,
	0x01043000a,


@@ 4111,11 4136,11 @@ ulong bootcode[]={
	0x020030048,
	0x010430003,
	0x000000027,
	0x00800137c,
	0x008001395,
	0x000000027,
	0x08ca80000,
	0x020030004,
	0x00800137f,
	0x008001398,
	0x0afa30028,
	0x08ca30000,
	0x000000027,


@@ 4125,14 4150,14 @@ ulong bootcode[]={
	0x03042ffff,
	0x020030004,
	0x0afa30028,
	0x00800137f,
	0x008001398,
	0x000025025,
	0x00800136c,
	0x008001385,
	0x02009000a,
	0x0200e0001,
	0x00800136c,
	0x008001385,
	0x020090010,
	0x00800136c,
	0x008001385,
	0x020090008,
	0x020030075,
	0x011230006,


@@ 4140,15 4165,15 @@ ulong bootcode[]={
	0x020030078,
	0x01123fff7,
	0x000000027,
	0x00800136c,
	0x008001385,
	0x000000027,
	0x02009000a,
	0x00800136c,
	0x008001385,
	0x034e70020,
	0x023bdfff0,
	0x0afbf0000,
	0x08fa30014,
	0x00c000a3b,
	0x00c000a43,
	0x0afa30004,
	0x08fac0014,
	0x08faa0018,


@@ 4173,7 4198,7 @@ ulong bootcode[]={
	0x000000027,
	0x01ce00003,
	0x000000027,
	0x008001442,
	0x00800145b,
	0x000000027,
	0x000c9202b,
	0x010800005,


@@ 4191,7 4216,7 @@ ulong bootcode[]={
	0x02003fc18,
	0x010e3ffe3,
	0x000000027,
	0x008001442,
	0x00800145b,
	0x024e7ffff,
	0x020020009,
	0x01562fff9,


@@ 4202,7 4227,7 @@ ulong bootcode[]={
	0x02003fc18,
	0x010e3ffd8,
	0x0afc880de,
	0x008001442,
	0x00800145b,
	0x024e7ffff,
	0x02002fc18,
	0x011420003,


@@ 4227,7 4252,7 @@ ulong bootcode[]={
	0x0a0640000,
	0x025080001,
	0x024a50001,
	0x008001477,
	0x008001490,
	0x0afc880de,
	0x000aa202a,
	0x01080ffba,


@@ 4242,7 4267,7 @@ ulong bootcode[]={
	0x0a0440000,
	0x025080001,
	0x024a50001,
	0x008001486,
	0x00800149f,
	0x0afc880de,
	0x023bdffec,
	0x0afbf0000,


@@ 4257,7 4282,7 @@ ulong bootcode[]={
	0x0afa30004,
	0x0afa00008,
	0x02002fc18,
	0x00c001432,
	0x00c00144b,
	0x0afa2000c,
	0x08fa20000,
	0x023bd0014,


@@ 4275,7 4300,7 @@ ulong bootcode[]={
	0x08fa3001c,
	0x02002fc18,
	0x0afa30008,
	0x00c001432,
	0x00c00144b,
	0x0afa2000c,
	0x08fa20000,
	0x023bd0014,


@@ 4295,12 4320,13 @@ ulong bootcode[]={
	0x000000027,
	0x0afa3000c,
	0x08fa20024,
	0x00c00133f,
	0x00c001358,
	0x0afa20010,
	0x08fa20000,
	0x023bd0014,
	0x000400008,
	0x020010004,
	0x023bdfffc,
	0x08fc5805e,
	0x08fc280da,
	0x000000027,


@@ 4311,51 4337,62 @@ ulong bootcode[]={
	0x0afc2805e,
	0x020040025,
	0x0a0a40000,
	0x023bd0004,
	0x003e00008,
	0x000000825,
	0x08fa30014,
	0x023bdfffc,
	0x08fa30018,
	0x020020068,
	0x00043202a,
	0x014800016,
	0x01480001b,
	0x000000027,
	0x010620012,
	0x010620016,
	0x000000027,
	0x020020023,
	0x01062000d,
	0x010620010,
	0x000000027,
	0x02002002b,
	0x010620008,
	0x01062000a,
	0x000000027,
	0x02002002d,
	0x010620003,
	0x010620004,
	0x000000027,
	0x023bd0004,
	0x003e00008,
	0x000000825,
	0x023bd0004,
	0x003e00008,
	0x02001fffe,
	0x023bd0004,
	0x003e00008,
	0x02001ffff,
	0x023bd0004,
	0x003e00008,
	0x02001fffc,
	0x023bd0004,
	0x003e00008,
	0x02001fff0,
	0x02002006c,
	0x010620008,
	0x01062000a,
	0x000000027,
	0x020020075,
	0x010620003,
	0x010620004,
	0x000000027,
	0x023bd0004,
	0x003e00008,
	0x000000825,
	0x023bd0004,
	0x003e00008,
	0x02001ffe0,
	0x08fa20010,
	0x08fa20014,
	0x000000027,
	0x030420008,
	0x010400003,
	0x010400004,
	0x000000027,
	0x023bd0004,
	0x003e00008,
	0x02001ffc0,
	0x023bd0004,
	0x003e00008,
	0x02001fff8,
	0x023bdff60,


@@ 4369,7 4406,7 @@ ulong bootcode[]={
	0x0e7a6004c,
	0x0e7a70004,
	0x0e7a60008,
	0x00c001911,
	0x00c00193d,
	0x000000027,
	0x01020000e,
	0x000000027,


@@ 4380,7 4417,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00133f,
	0x00c001358,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4391,7 4428,7 @@ ulong bootcode[]={
	0x020030001,
	0x0e7a10004,
	0x0e7a00008,
	0x00c001941,
	0x00c00196d,
	0x0afa3000c,
	0x01020000e,
	0x000000027,


@@ 4402,7 4439,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00133f,
	0x00c001358,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4413,7 4450,7 @@ ulong bootcode[]={
	0x02003ffff,
	0x0e7a10004,
	0x0e7a00008,
	0x00c001941,
	0x00c00196d,
	0x0afa3000c,
	0x08fad00b4,
	0x08fac00ac,


@@ 4427,7 4464,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00133f,
	0x00c001358,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4471,7 4508,7 @@ ulong bootcode[]={
	0x023a20034,
	0x0e7a10004,
	0x0e7a00008,
	0x00c001813,
	0x00c00183e,
	0x0afa2000c,
	0x08fa20034,
	0x04444f800,


@@ 4495,7 4532,7 @@ ulong bootcode[]={
	0x000023043,
	0x0afa60030,
	0x000061023,
	0x00c0017be,
	0x00c0017e3,
	0x0afa20004,
	0x0c7a30048,
	0x0c7a2004c,


@@ 4507,7 4544,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x000000027,
	0x000431023,
	0x00c0017be,
	0x00c0017e3,
	0x0afa20004,
	0x08fad00b4,
	0x023ae0078,


@@ 4530,7 4567,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x000000027,
	0x000431023,
	0x00c0017be,
	0x00c0017e3,
	0x0afa20004,
	0x08fad00b4,
	0x08fac00ac,


@@ 4539,7 4576,7 @@ ulong bootcode[]={
	0x0c7a2003c,
	0x000000027,
	0x046201182,
	0x0080015a7,
	0x0080015cc,
	0x023ae0078,
	0x0c7c180e2,
	0x0c7c080e6,


@@ 4556,7 4593,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x000000027,
	0x000431023,
	0x00c0017be,
	0x00c0017e3,
	0x0afa20004,
	0x08fad00b4,
	0x08fac00ac,


@@ 4565,7 4602,7 @@ ulong bootcode[]={
	0x0c7a2003c,
	0x000000027,
	0x046201182,
	0x0080015be,
	0x0080015e3,
	0x023ae0078,
	0x02003fc18,
	0x015830002,


@@ 4600,7 4637,7 @@ ulong bootcode[]={
	0x0200cffff,
	0x0afac00ac,
	0x0200d0065,
	0x00800156b,
	0x008001590,
	0x0afad00b4,
	0x0c7a70048,
	0x0c7a6004c,


@@ 4614,7 4651,7 @@ ulong bootcode[]={
	0x08fa30034,
	0x02002ffff,
	0x000431023,
	0x00c0017be,
	0x00c0017e3,
	0x0afa20004,
	0x08fad00b4,
	0x023ae0078,


@@ 4636,7 4673,7 @@ ulong bootcode[]={
	0x000671823,
	0x004600134,
	0x0afa7002c,
	0x00c0017be,
	0x00c0017e3,
	0x0afa30004,
	0x0c7a30040,
	0x0c7a20044,


@@ 4645,7 4682,7 @@ ulong bootcode[]={
	0x046201083,
	0x0e7a30004,
	0x0e7a20008,
	0x00c00177c,
	0x00c0017a1,
	0x000000027,
	0x08fad00b4,
	0x023ae0078,


@@ 4703,7 4740,7 @@ ulong bootcode[]={
	0x024e70001,
	0x02484fff6,
	0x0a0440001,
	0x00800164e,
	0x008001673,
	0x024c6ffff,
	0x010e00007,
	0x0200b0001,


@@ 4771,7 4808,7 @@ ulong bootcode[]={
	0x020030030,
	0x0a0430000,
	0x024e7ffff,
	0x008001695,
	0x0080016ba,
	0x024c60001,
	0x019000013,
	0x000000027,


@@ 4791,7 4828,7 @@ ulong bootcode[]={
	0x0256b0001,
	0x0a0430000,
	0x02508ffff,
	0x0080016a6,
	0x0080016cb,
	0x024c60001,
	0x08fa300b0,
	0x000000027,


@@ 4820,7 4857,7 @@ ulong bootcode[]={
	0x0afa30008,
	0x0afa2000c,
	0x08fa300b0,
	0x00c00133f,
	0x00c001358,
	0x0afa30010,
	0x08fa20000,
	0x023bd00a0,


@@ 4876,19 4913,19 @@ ulong bootcode[]={
	0x000001810,
	0x024630030,
	0x0a0430000,
	0x0080016cd,
	0x0080016f2,
	0x024c60001,
	0x000061825,
	0x001231021,
	0x02003002b,
	0x0a0430000,
	0x0080016ee,
	0x008001713,
	0x024c60001,
	0x000061025,
	0x001221821,
	0x020020065,
	0x0a0620000,
	0x0080016e4,
	0x008001709,
	0x024c60001,
	0x020030067,
	0x011a30006,


@@ 4896,7 4933,7 @@ ulong bootcode[]={
	0x020030068,
	0x011a30003,
	0x000000027,
	0x0080016c7,
	0x0080016ec,
	0x000000027,
	0x024c7ffff,
	0x004e00006,


@@ 4916,11 4953,11 @@ ulong bootcode[]={
	0x000000027,
	0x01107ff93,
	0x000073025,
	0x0080016c7,
	0x0080016ec,
	0x024c60001,
	0x00800172c,
	0x008001751,
	0x02508ffff,
	0x008001724,
	0x008001749,
	0x024e7ffff,
	0x08fa30034,
	0x02002ffff,


@@ 4930,7 4967,7 @@ ulong bootcode[]={
	0x000003825,
	0x08fa30034,
	0x0200d0068,
	0x008001682,
	0x0080016a7,
	0x001835023,
	0x08fa200b0,
	0x000000027,


@@ 4941,7 4978,7 @@ ulong bootcode[]={
	0x001221821,
	0x02002002b,
	0x0a0620000,
	0x008001673,
	0x008001698,
	0x024c60001,
	0x0c7c180e2,
	0x0c7c080e6,


@@ 4951,7 4988,7 @@ ulong bootcode[]={
	0x0e7a60044,
	0x0e7a70004,
	0x0e7a60008,
	0x00c00177c,
	0x00c0017a1,
	0x000000027,
	0x08fad00b4,
	0x023ae0078,


@@ 4978,14 5015,14 @@ ulong bootcode[]={
	0x046222181,
	0x0e7a70040,
	0x0e7a60044,
	0x008001645,
	0x00800166a,
	0x000000027,
	0x0080015e1,
	0x008001606,
	0x0258cffff,
	0x020020001,
	0x0afa20014,
	0x025ad0020,
	0x00800156b,
	0x008001590,
	0x0afad00b4,
	0x023bdffe8,
	0x0afbf0000,


@@ 5002,7 5039,7 @@ ulong bootcode[]={
	0x04624c081,
	0x0e7a30004,
	0x0e7a20008,
	0x00c001861,
	0x00c00188c,
	0x0afa2000c,
	0x04620c032,
	0x000000027,


@@ 5031,7 5068,7 @@ ulong bootcode[]={
	0x023a2001c,
	0x0e7a30004,
	0x0e7a20008,
	0x00c001861,
	0x00c00188c,
	0x0afa2000c,
	0x0c7a1001c,
	0x0c7a00020,


@@ 5047,7 5084,7 @@ ulong bootcode[]={
	0x04624c081,
	0x0e7a30004,
	0x0e7a20008,
	0x00c00177c,
	0x00c0017a1,
	0x000000027,
	0x08fa20000,
	0x023bd000c,


@@ 5060,7 5097,7 @@ ulong bootcode[]={
	0x004810008,
	0x000000027,
	0x000041023,
	0x00c0017be,
	0x00c0017e3,
	0x0afa20004,
	0x08fa20000,
	0x023bd0014,


@@ 5081,12 5118,12 @@ ulong bootcode[]={
	0x000042843,
	0x0afa50010,
	0x000851823,
	0x00c0017be,
	0x00c0017e3,
	0x0afa30004,
	0x0e7a10008,
	0x0e7a0000c,
	0x08fa20010,
	0x00c0017be,
	0x00c0017e3,
	0x0afa20004,
	0x0c7a30008,
	0x0c7a2000c,


@@ 5094,8 5131,9 @@ ulong bootcode[]={
	0x023bd0014,
	0x000400008,
	0x046220002,
	0x083a4000b,
	0x08fa30004,
	0x023bdfffc,
	0x083a4000f,
	0x08fa30008,
	0x01080000a,
	0x000000027,
	0x080610000,


@@ 5106,14 5144,15 @@ ulong bootcode[]={
	0x000000027,
	0x02461ffff,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x030610003,
	0x010200007,
	0x010200008,
	0x000000027,
	0x080610000,
	0x000000027,
	0x01420fffa,
	0x024630001,
	0x023bd0004,
	0x003e00008,
	0x02461ffff,
	0x03c06ff00,


@@ 5122,20 5161,24 @@ ulong bootcode[]={
	0x000000027,
	0x000a60824,
	0x000a71024,
	0x01020000d,
	0x010200010,
	0x024630004,
	0x010400009,
	0x01040000b,
	0x030a1ff00,
	0x010200005,
	0x010200006,
	0x030a200ff,
	0x01440fff5,
	0x000000027,
	0x023bd0004,
	0x003e00008,
	0x02461ffff,
	0x023bd0004,
	0x003e00008,
	0x02461fffe,
	0x023bd0004,
	0x003e00008,
	0x02461fffd,
	0x023bd0004,
	0x003e00008,
	0x02461fffc,
	0x023bdfff4,


@@ 5271,11 5314,12 @@ ulong bootcode[]={
	0x08fa4000c,
	0x000000027,
	0x000821024,
	0x008001882,
	0x0080018ad,
	0x0afa2000c,
	0x08fa3000c,
	0x08fa40004,
	0x08fa50008,
	0x023bdfffc,
	0x08fa30010,
	0x08fa40008,
	0x08fa5000c,
	0x000833021,
	0x028620004,
	0x000a4082b,


@@ 5331,9 5375,9 @@ ulong bootcode[]={
	0x0a0880000,
	0x014e5fffc,
	0x024840001,
	0x08fa10004,
	0x08fa10008,
	0x003e00008,
	0x000000027,
	0x023bd0004,
	0x014400028,
	0x000000027,
	0x000e60826,


@@ 5381,7 5425,7 @@ ulong bootcode[]={
	0x000000027,
	0x0a0c8ffff,
	0x024c6ffff,
	0x008001900,
	0x00800192c,
	0x024e7ffff,
	0x023bdfff4,
	0x03c027ff0,


@@ 5411,7 5455,7 @@ ulong bootcode[]={
	0x000000825,
	0x0e7a50004,
	0x0e7a40008,
	0x00c001941,
	0x00c00196d,
	0x0afa0000c,
	0x014200005,
	0x000000027,


@@ 5594,13 5638,13 @@ ulong bootcode[]={
	0x000010000,
	0x002000000,
	0x000000000,
	0x000005254,
	0x000005368,
	0x000004d5c,
	0x00000541c,
	0x0000052a0,
	0x0000052e8,
	0x000005338,
	0x0000052b8,
	0x0000053d4,
	0x000004dc0,
	0x0000054b0,
	0x000005304,
	0x00000534c,
	0x00000539c,
	0x000000000,
	0x000000000,
	0x000000000,


@@ 5981,6 6025,6 @@ ulong bootcode[]={
	0x020726562,
	0x06f6f7400,
	0x000000000,
	0x00005d78,
	0x00005e28,
	0x0,
};