From 7a0c9a6ebe25857f0855a7d43adf24c6c5723a9b Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Wed, 10 Jul 1991 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1991-07-10 --- gnot/clock.c | 7 +- gnot/fault68020.c | 2 +- gnot/main.c | 66 --- gnot/screen.c | 7 +- gnot/screen.h | 6 +- gnot/trap.c | 25 +- pc/fault386.c | 18 + pc/fns.h | 3 + pc/io.h | 1 + pc/l.s | 78 +++- pc/mem.h | 13 +- pc/trap.c | 93 ++-- port/alarm.c | 30 ++ port/devbit.c | 10 +- port/pgrp.c | 5 +- port/proc.c | 23 + port/segment.c | 2 +- port/sysproc.c | 4 +- power/boot.h | 1054 +++++++++++++++++++++++---------------------- power/clock.c | 7 +- power/main.c | 68 +-- power/trap.c | 36 +- ss/main.c | 66 --- ss/screen.h | 2 + ss/trap.c | 25 +- 25 files changed, 794 insertions(+), 857 deletions(-) create mode 100644 pc/fault386.c diff --git a/gnot/clock.c b/gnot/clock.c index 59e2efd7c873ed076c2cb25a12c7c0635ec393b9..cc77d1423eb7979ca0280886ba8d6e71803fbff1 100644 --- a/gnot/clock.c +++ b/gnot/clock.c @@ -41,7 +41,10 @@ clock(Ureg *ur) else sched(); } - if(u->nnote && (ur->sr&SUPER)==0) - notify(ur); + if((ur->sr&SUPER) == 0){ + (*(ulong*)(USTKTOP-BY2WD)) += TK2MS(1); /* profiling clock */ + if(u->nnote) + notify(ur); + } } } diff --git a/gnot/fault68020.c b/gnot/fault68020.c index b89facab036b9255411b73a85aef5bb49d655e87..c66fce4d3c5792c9fca0057d3821e2814907b966 100644 --- a/gnot/fault68020.c +++ b/gnot/fault68020.c @@ -89,7 +89,7 @@ fault68020(Ureg *ur, FFrame *f) if(fault(addr, read) < 0){ if(user){ pprint("user %s error addr=0x%lux\n", read? "read" : "write", badvaddr); - pprint("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->sr, ur->pc, ur->sp); + pprint("status=0x%lux pc=0x%lux sp=0x%lux\n", ur->sr, ur->pc, ur->usp); pexit("Suicide", 0); } u->p->state = MMUing; diff --git a/gnot/main.c b/gnot/main.c index 1e1658ca3cb010a7efc3110b5b6d304652004c5d..9223daace9709c20bff1726bb73a14f0b48a90e2 100644 --- a/gnot/main.c +++ b/gnot/main.c @@ -203,72 +203,6 @@ exit(void) firmware(); } -/* - * Insert new into list after where - */ -void -insert(List **head, List *where, List *new) -{ - if(where == 0){ - new->next = *head; - *head = new; - }else{ - new->next = where->next; - where->next = new; - } - -} - -/* - * Insert new into list at end - */ -void -append(List **head, List *new) -{ - List *where; - - where = *head; - if(where == 0) - *head = new; - else{ - while(where->next) - where = where->next; - where->next = new; - } - new->next = 0; -} - -/* - * Delete old from list - */ -void -delete0(List **head, List *old) -{ - List *l; - - l = *head; - if(l == old){ - *head = old->next; - return; - } - while(l->next != old) - l = l->next; - l->next = old->next; -} - -/* - * Delete old from list. where->next is known to be old. - */ -void -delete(List **head, List *where, List *old) -{ - if(where == 0){ - *head = old->next; - return; - } - where->next = old->next; -} - banksize(int base) { ulong va; diff --git a/gnot/screen.c b/gnot/screen.c index e49a532d79832651892968429011deae1daa7ac3..6c8809ee61abb4b559fa456748bfaa7dbb7e6833 100644 --- a/gnot/screen.c +++ b/gnot/screen.c @@ -11,9 +11,6 @@ #include #include "screen.h" -/* gnot screen.h defines gbitblt to use balu; doesn't work here */ -#undef gbitblt - #define MINX 8 extern GFont defont0; @@ -43,7 +40,7 @@ screeninit(void) if(*(uchar*)MOUSE & (1<<4)) gscreen.ldepth = 1; defont = &defont0; /* save space; let bitblt do the conversion work */ - gbitblt(&gscreen, Pt(0, 0), &gscreen, gscreen.r, 0); + kbitblt(&gscreen, Pt(0, 0), &gscreen, gscreen.r, 0); out.pos.x = MINX; out.pos.y = 0; out.bwid = defont0.info[' '].width; @@ -60,7 +57,7 @@ screenputc(int c) out.pos.y += defont0.height; if(out.pos.y > gscreen.r.max.y-defont0.height) out.pos.y = gscreen.r.min.y; - gbitblt(&gscreen, Pt(0, out.pos.y), &gscreen, + kbitblt(&gscreen, Pt(0, out.pos.y), &gscreen, Rect(0, out.pos.y, gscreen.r.max.x, out.pos.y+2*defont0.height), 0); }else if(c == '\t'){ out.pos.x += (8-((out.pos.x-MINX)/out.bwid&7))*out.bwid; diff --git a/gnot/screen.h b/gnot/screen.h index 055a2a1bd2dc0b94a52a58135b234a28e6aa7ca6..4fd92d336c661a0dd8759b7da095c92e15da3dc9 100644 --- a/gnot/screen.h +++ b/gnot/screen.h @@ -28,4 +28,8 @@ extern Cursorinfo cursor; extern void mouseupdate(int); -#define gbitblt(d,p,s,r,f) balubitblt(d,p,s,r,f) +/* + * kernel mustn't use balu; user (/dev/bitblt) can + */ +#define kbitblt gbitblt +#define ubitblt balubitblt diff --git a/gnot/trap.c b/gnot/trap.c index 18cfda3e9d77dd9fdb33b64865db5242ec91b0e7..0c15b2087bf75ac344e7eef7fe209d68e5ca1363 100644 --- a/gnot/trap.c +++ b/gnot/trap.c @@ -207,7 +207,7 @@ noted(Ureg *ur) } #undef CHDIR /* BUG */ -#include "/sys/src/libc/680209sys/sys.h" +#include "/sys/src/libc/9syscall/sys.h" typedef long Syscall(ulong*); Syscall sysr1, sysfork, sysexec, sysgetpid, syssleep, sysexits, sysdeath, syswait; @@ -329,26 +329,3 @@ execpc(ulong entry) { ((Ureg*)UREGADDR)->pc = entry; } - -#include "errstr.h" - -void -error(int code) -{ - strncpy(u->error, errstrtab[code], ERRLEN); - nexterror(); -} - -void -errors(char *err) -{ - strncpy(u->error, err, ERRLEN); - nexterror(); -} - - -void -nexterror(void) -{ - gotolabel(&u->errlab[--u->nerrlab]); -} diff --git a/pc/fault386.c b/pc/fault386.c new file mode 100644 index 0000000000000000000000000000000000000000..b49235fc44d21be9f35e89d015b2360bd7a331af --- /dev/null +++ b/pc/fault386.c @@ -0,0 +1,18 @@ +#include "u.h" +#include "lib.h" +#include "mem.h" +#include "dat.h" +#include "fns.h" +#include "ureg.h" + +void +faultinit(void) +{ + setvec(Faultvec, fault386, SEGTG); +} + +void +fault386(Ureg *ur) +{ + panic("fault"); +} diff --git a/pc/fns.h b/pc/fns.h index 492f2c36fe094c1e5c4807f1b26761b3e293b529..5cdd80268d5d9182e083b513f85e434a5510ea6d 100644 --- a/pc/fns.h +++ b/pc/fns.h @@ -3,6 +3,7 @@ void clock(Ureg*); void clockinit(void); void delay(int); +void fault386(Ureg*); void floppyinit(void); void floppyintr(Ureg*); void floppystart(int); @@ -33,6 +34,7 @@ void intr20(void); void intr21(void); void intr22(void); void intr23(void); +void intr64(void); void intrbad(void); void kbdinit(void); void kbdintr(Ureg*); @@ -48,3 +50,4 @@ void setvec(int, void (*)(Ureg*), int); void systrap(void); void trapinit(void); int tas(Lock*); +#define waserror() (u->nerrlab++, setlabel(&u->errlab[u->nerrlab-1])) diff --git a/pc/io.h b/pc/io.h index 948fc0e41188fb0e03a92580cda1dcc987ff2be8..088fa514ea0df6494c713b43d72ccf421a0a9375 100644 --- a/pc/io.h +++ b/pc/io.h @@ -3,6 +3,7 @@ */ enum { + Faultvec= 14, /* page fault */ Int0vec= 16, /* first interrupt vector used by the 8259 */ Clockvec= Int0vec+0, /* clock interrupts */ Kbdvec= Int0vec+1, /* keyboard interrupts */ diff --git a/pc/l.s b/pc/l.s index 576ce5a743c6530109ba7334fd7aa8ebe4997665..b7065e0cfa42a9acac63e4220f4ed8ebdd68c498 100644 --- a/pc/l.s +++ b/pc/l.s @@ -24,7 +24,7 @@ TEXT origin(SB),$0 MOVSL /* JMPFAR 00:$lowcore(SB) /**/ BYTE $0xEA - WORD $lowcore(SB) + WORD $lowcore-KZERO(SB) WORD $0 TEXT lowcore(SB),$0 @@ -56,7 +56,7 @@ TEXT lowcore(SB),$0 BYTE $0x0f BYTE $0x01 BYTE $0x16 - WORD $tgdtptr(SB) + WORD $tgdtptr-KZERO(SB) MOVL CR0,AX ORL $1,AX MOVL AX,CR0 @@ -82,7 +82,7 @@ flush: /* JMPFAR SELECTOR(2, SELGDT, 0):$mode32bit(SB) /**/ BYTE $0xEA - WORD $mode32bit(SB) + WORD $mode32bit-KZERO(SB) WORD $SELECTOR(2, SELGDT, 0) TEXT mode32bit(SB),$0 @@ -90,16 +90,48 @@ TEXT mode32bit(SB),$0 /* * Clear BSS */ - LEAL edata(SB),SI - LEAL edata+4(SB),DI + LEAL edata-KZERO(SB),SI + MOVL SI,DI + ADDL $4,DI MOVL $0,AX MOVL AX,(SI) - LEAL end(SB),CX + LEAL end-KZERO(SB),CX SUBL DI,CX SHRL $2,CX REP MOVSL + /* + * make a bottom level page table page that maps the first + * 4 meg of physical memory + */ + LEAL tpt-KZERO(SB),AX /* get phys addr of temporary page table */ + ADDL $(BY2PG-1),AX /* must be page alligned */ + ANDL $(~(BY2PG-1)),AX /* ... */ + MOVL $1024,CX /* pte's per page */ + MOVL $(((1024-1)<<12)|PTEVALID|PTEKERNEL|PTEWRITE),BX +setpte: + MOVL BX,-4(AX)(CX*4) + SUBL $(1<<12),BX + LOOP setpte + + /* + * make a top level page table page that maps the first + * 4 meg of memory to 0 thru 4meg and to KZERO thru KZERO+4meg + */ + MOVL AX,BX + ADDL $BY2PG,AX + MOVL BX,0(AX) + MOVL BX,((KZERO>>22)&(BY2PG-1))(AX) + + /* + * point processor to top level page & turn on paging + */ + MOVL AX,CR3 + MOVL CR0,AX + ORL $1,AX + MOVL AX,CR0 + /* * stack and mach */ @@ -117,6 +149,7 @@ loop: GLOBL mach0+0(SB), $MACHSIZE GLOBL u(SB), $4 GLOBL m(SB), $4 +GLOBL tpt(SB), $(BY2PG*3) /* * gdt to get us to 32-bit/segmented/unpaged mode @@ -141,7 +174,7 @@ TEXT tgdt(SB),$0 TEXT tgdtptr(SB),$0 WORD $(3*8) - LONG $tgdt(SB) + LONG $tgdt-KZERO(SB) /* * input a byte @@ -289,6 +322,10 @@ TEXT intr23(SB),$0 PUSHL $0 PUSHL $23 JMP intrcommon +TEXT intr64(SB),$0 + PUSHL $0 + PUSHL $64 + JMP intrcommon TEXT intrbad(SB),$0 PUSHL $0 PUSHL $0x1ff @@ -324,6 +361,8 @@ intrscommon: * turn interrupts and traps on */ TEXT spllo(SB),$0 + PUSHFL + POPL AX STI RET @@ -331,6 +370,8 @@ TEXT spllo(SB),$0 * turn interrupts and traps off */ TEXT splhi(SB),$0 + PUSHFL + POPL AX CLI RET @@ -338,10 +379,31 @@ TEXT splhi(SB),$0 * set interrupt level */ TEXT splx(SB),$0 + MOVL s+0(FP),AX + PUSHL AX + POPFL RET /* - * + * do nothing whatsoever till interrupt happens */ TEXT idle(SB),$0 HLT + RET + +/* + * label consists of a stack pointer and a PC + */ +TEXT gotolabel(SB),$0 + MOVL l+0(FP),AX + MOVL 0(AX),SP /* restore sp */ + MOVL 4(AX),AX /* put return pc on the stack */ + MOVL AX,0(SP) + RET + +TEXT setlabel(SB),$0 + MOVL l+0(FP),AX + MOVL SP,0(AX) /* store sp */ + MOVL 0(SP),BX /* store return pc */ + MOVL BX,4(AX) + RET diff --git a/pc/mem.h b/pc/mem.h index 2e57b401bf0644e67ce39a4215406696ecb109b4..e34d89d65b601e5023c1b760c680f8eddb0d8ca4 100644 --- a/pc/mem.h +++ b/pc/mem.h @@ -96,8 +96,19 @@ #define SEGD (1<<22) /* default 1==32bit (for code) */ /* - * virtual MMU entries + * virtual MMU */ #define PTEMAPMEM (1024*1024) /* ??? */ #define SEGMAPSIZE 16 /* ??? */ #define PTEPERTAB (PTEMAPMEM/BY2PG) /* ??? */ + +/* + * physical MMU + */ +#define PPN(x) ((x)&~(BY2PG-1)) +#define PTEVALID (1<<0) +#define PTEUNCACHED 0 /* everything is uncached */ +#define PTEWRITE (1<<1) +#define PTERONLY (0<<1) +#define PTEKERNEL (0<<2) +#define PTEUSER (1<<2) diff --git a/pc/trap.c b/pc/trap.c index 933efbb66d7a926c2c9db03088d2e830ccd4305b..13eabd4ef5b3bcd9c1d390789558ca54c0bf70df 100644 --- a/pc/trap.c +++ b/pc/trap.c @@ -29,10 +29,10 @@ Segdesc ilt[256]; void (*ivec[256])(void*); void -sethvec(int v, void (*r)(void), int type) +sethvec(int v, void (*r)(void), int type, int pri) { ilt[v].d0 = ((ulong)r)&0xFFFF|(KESEL<<16); - ilt[v].d1 = ((ulong)r)&0xFFFF0000|SEGP|SEGPL(3)|type; + ilt[v].d1 = ((ulong)r)&0xFFFF0000|SEGP|SEGPL(pri)|type; } void @@ -62,36 +62,42 @@ trapinit(void) /* * set the standard traps */ - sethvec(0, intr0, SEGTG); - sethvec(1, intr1, SEGTG); - sethvec(2, intr2, SEGTG); - sethvec(3, intr3, SEGTG); - sethvec(4, intr4, SEGTG); - sethvec(5, intr5, SEGTG); - sethvec(6, intr6, SEGTG); - sethvec(7, intr7, SEGTG); - sethvec(8, intr8, SEGTG); - sethvec(9, intr9, SEGTG); - sethvec(10, intr10, SEGTG); - sethvec(11, intr11, SEGTG); - sethvec(12, intr12, SEGTG); - sethvec(13, intr13, SEGTG); - sethvec(14, intr14, SEGTG); - sethvec(15, intr15, SEGTG); - sethvec(16, intr16, SEGTG); - sethvec(17, intr17, SEGTG); - sethvec(18, intr18, SEGTG); - sethvec(19, intr19, SEGTG); - sethvec(20, intr20, SEGTG); - sethvec(21, intr21, SEGTG); - sethvec(22, intr22, SEGTG); - sethvec(23, intr23, SEGTG); + sethvec(0, intr0, SEGTG, 0); + sethvec(1, intr1, SEGTG, 0); + sethvec(2, intr2, SEGTG, 0); + sethvec(3, intr3, SEGTG, 0); + sethvec(4, intr4, SEGTG, 0); + sethvec(5, intr5, SEGTG, 0); + sethvec(6, intr6, SEGTG, 0); + sethvec(7, intr7, SEGTG, 0); + sethvec(8, intr8, SEGTG, 0); + sethvec(9, intr9, SEGTG, 0); + sethvec(10, intr10, SEGTG, 0); + sethvec(11, intr11, SEGTG, 0); + sethvec(12, intr12, SEGTG, 0); + sethvec(13, intr13, SEGTG, 0); + sethvec(14, intr14, SEGTG, 0); + sethvec(15, intr15, SEGTG, 0); + sethvec(16, intr16, SEGTG, 0); + sethvec(17, intr17, SEGTG, 0); + sethvec(18, intr18, SEGTG, 0); + sethvec(19, intr19, SEGTG, 0); + sethvec(20, intr20, SEGTG, 0); + sethvec(21, intr21, SEGTG, 0); + sethvec(22, intr22, SEGTG, 0); + sethvec(23, intr23, SEGTG, 0); /* * set all others to unknown */ for(i = 24; i < 256; i++) - sethvec(i, intrbad, SEGIG); + sethvec(i, intrbad, SEGIG, 0); + + /* + * system calls + */ + sethvec(64, intr64, SEGTG, 3); +/* setvec(64, syscall, SEGTG); /**/ /* * tell the hardware where the table is (and how long) @@ -114,6 +120,7 @@ trapinit(void) /* * All traps */ +void trap(Ureg *ur) { if(ur->trap>=256 || ivec[ur->trap] == 0) @@ -130,3 +137,35 @@ trap(Ureg *ur) */ outb(Int0ctl, EOI); } + +/* + * system calls + */ +long +syscall(Ureg *ur) +{ + panic("syscall"); +} + +#include "errstr.h" + +void +error(int code) +{ + strncpy(u->error, errstrtab[code], ERRLEN); + nexterror(); +} + +void +errors(char *err) +{ + strncpy(u->error, err, ERRLEN); + nexterror(); +} + + +void +nexterror(void) +{ + gotolabel(&u->errlab[--u->nerrlab]); +} diff --git a/port/alarm.c b/port/alarm.c index 7f83f77bad7b349570088c901353a858308df180..23aa3f96f57326873f2616a1cdffbfa16631ce5d 100644 --- a/port/alarm.c +++ b/port/alarm.c @@ -175,3 +175,33 @@ done: return TK2MS(old); } + +/* + * Insert new into list after where + */ +void +insert(List **head, List *where, List *new) +{ + if(where == 0){ + new->next = *head; + *head = new; + }else{ + new->next = where->next; + where->next = new; + } + +} + +/* + * Delete old from list. where->next is known to be old. + */ +void +delete(List **head, List *where, List *old) +{ + if(where == 0){ + *head = old->next; + return; + } + where->next = old->next; +} + diff --git a/port/devbit.c b/port/devbit.c index ff337c585d4d40134af9f15c94820e9d9046e721..e31c2694ea1b89f1dffd8b14a446736236a9786a 100644 --- a/port/devbit.c +++ b/port/devbit.c @@ -645,7 +645,7 @@ bitwrite(Chan *c, void *va, long n, ulong offset) cursoroff(1); isoff = 1; } - gbitblt(dst, pt, src, rect, fc); + ubitblt(dst, pt, src, rect, fc); m -= 31; p += 31; break; @@ -1152,10 +1152,10 @@ cursoron(int dolock) cursor.r.min = mouse.xy; cursor.r.max = add(mouse.xy, Pt(16, 16)); cursor.r = raddp(cursor.r, cursor.offset); - gbitblt(&cursorback, Pt(0, 0), &gscreen, cursor.r, S); - gbitblt(&gscreen, add(mouse.xy, cursor.offset), + kbitblt(&cursorback, Pt(0, 0), &gscreen, cursor.r, S); + kbitblt(&gscreen, add(mouse.xy, cursor.offset), &clr, Rect(0, 0, 16, 16), flipping? flipD[D&~S] : D&~S); - gbitblt(&gscreen, add(mouse.xy, cursor.offset), + kbitblt(&gscreen, add(mouse.xy, cursor.offset), &set, Rect(0, 0, 16, 16), flipping? flipD[S|D] : S|D); } if(dolock) @@ -1168,7 +1168,7 @@ cursoroff(int dolock) if(dolock) lock(&cursor); if(--cursor.visible == 0) - gbitblt(&gscreen, cursor.r.min, &cursorback, Rect(0, 0, 16, 16), S); + kbitblt(&gscreen, cursor.r.min, &cursorback, Rect(0, 0, 16, 16), S); if(dolock) unlock(&cursor); } diff --git a/port/pgrp.c b/port/pgrp.c index 70833cc42f417aa947540031d49af4245740abcf..9cd03c0b081f30301f85bfa368171039ffb4529d 100644 --- a/port/pgrp.c +++ b/port/pgrp.c @@ -189,9 +189,10 @@ dupfgrp(Fgrp *f) void resrcwait(char *reason) { - print("%s\n", reason); + if(reason) + print("%s\n", reason); if(u == 0) - panic("resched"); + panic("resrcwait"); u->p->state = Wakeme; alarm(1000, wakeme, u->p); sched(); diff --git a/port/proc.c b/port/proc.c index 64d316e6315d8d5035a2eed81eb6b0afb579f08c..59637cf21fa193bf80ef49380cc59217e84c60e5 100644 --- a/port/proc.c +++ b/port/proc.c @@ -726,3 +726,26 @@ procctl(Proc *p) return; } } + +#include "errstr.h" + +void +error(int code) +{ + strncpy(u->error, errstrtab[code], ERRLEN); + nexterror(); +} + +void +errors(char *err) +{ + strncpy(u->error, err, ERRLEN); + nexterror(); +} + +void +nexterror(void) +{ + gotolabel(&u->errlab[--u->nerrlab]); +} + diff --git a/port/segment.c b/port/segment.c index 0a53b6c1c9b3f5c8b58c898e76a603f0c5aaf8f1..178adb301186e6a465e032940ee93f5cdf6a2966 100644 --- a/port/segment.c +++ b/port/segment.c @@ -214,7 +214,7 @@ attachimage(int type, Chan *c, ulong base, ulong len) while(!(i = imagealloc.free)) { unlock(&imagealloc); imagereclaim(); - resrcwait("no images"); + resrcwait(0); lock(&imagealloc); } diff --git a/port/sysproc.c b/port/sysproc.c index f5b2e92b679f502542e9cde766ca28ea8be26803..804bac2b0aac08ddd80cf9ade5fd5a7298f056ce 100644 --- a/port/sysproc.c +++ b/port/sysproc.c @@ -175,7 +175,7 @@ sysexec(ulong *arg) /* * Args: pass 1: count */ - nbytes = 0; + nbytes = BY2WD; /* hole for profiling clock at top of stack */ nargs = 0; if(indir){ argp = progarg; @@ -298,7 +298,7 @@ sysexec(ulong *arg) u->notified = 0; procsetup(p); unlock(&p->debug); - return 0; + return (USTKTOP-BY2WD); /* address of user-level clock */ } int diff --git a/power/boot.h b/power/boot.h index 699e0a2b463427b7e2e4946876c4eda66d7e9459..4bbaab431c2b7720d6a5de5ddb2ee3604f7867d2 100644 --- a/power/boot.h +++ b/power/boot.h @@ -1,6 +1,6 @@ ulong bootcode[]={ 0x000000407, - 0x000005588, + 0x000005590, 0x0000007d0, 0x000001190, 0x000000000, @@ -11,54 +11,55 @@ ulong bootcode[]={ 0x0afbf0000, 0x03c1e0000, 0x037deeffe, + 0x0afc180d2, 0x08fa10014, 0x023a20018, 0x0afa10004, - 0x00c000415, + 0x00c000416, 0x0afa20008, - 0x00c00093c, + 0x00c00093d, 0x0afa10004, - 0x008000411, + 0x008000412, 0x000000027, 0x023bdffe0, 0x0afbf0000, 0x0afa00018, - 0x023c282e1, + 0x023c282e5, 0x0afa20004, - 0x00c000a73, + 0x00c000a74, 0x0afa00008, - 0x023c382e9, + 0x023c382ed, 0x0afa30004, 0x020020001, - 0x00c000a73, + 0x00c000a74, 0x0afa20008, - 0x023c382f1, + 0x023c382f5, 0x0afa30004, 0x020020001, - 0x00c000a73, + 0x00c000a74, 0x0afa20008, - 0x023c282f9, + 0x023c282fd, 0x0afa20004, 0x020040001, 0x0afa40008, 0x0200201b6, - 0x00c000a5f, + 0x00c000a60, 0x0afa2000c, 0x004210004, 0x0afa1001c, - 0x023c38304, - 0x00c0008d0, + 0x023c38308, + 0x00c0008d1, 0x0afa30004, 0x08fa20028, 0x000000027, 0x08c420000, - 0x00c000a3b, + 0x00c000a3c, 0x0afa20004, 0x0afa10014, 0x08fa40028, 0x000000027, 0x08c840000, - 0x00c000a3b, + 0x00c000a3c, 0x0afa40004, 0x0afa10010, 0x08fa4001c, @@ -70,48 +71,48 @@ ulong bootcode[]={ 0x000000027, 0x0afa30008, 0x08fa40010, - 0x00c000a87, + 0x00c000a88, 0x0afa4000c, 0x08fa30014, 0x000000027, 0x010230004, 0x000000027, - 0x023c2830c, - 0x00c0008d0, + 0x023c28310, + 0x00c0008d1, 0x0afa20004, 0x08fa3001c, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, - 0x023c38314, + 0x023c38318, 0x0afa30004, 0x020040001, 0x0afa40008, 0x0200301b6, - 0x00c000a5f, + 0x00c000a60, 0x0afa3000c, 0x004210004, 0x0afa1001c, - 0x023c28320, - 0x00c0008d0, + 0x023c28324, + 0x00c0008d1, 0x0afa20004, - 0x023c48336, - 0x00c000a3b, + 0x023c4833a, + 0x00c000a3c, 0x0afa40004, 0x0afa10014, 0x08fa4001c, - 0x023c28329, + 0x023c2832d, 0x0afa40004, 0x0afa20008, 0x08fa40014, - 0x00c000a87, + 0x00c000a88, 0x0afa4000c, 0x004210004, 0x000000027, - 0x023c28343, - 0x00c0008d0, + 0x023c28347, + 0x00c0008d1, 0x0afa20004, 0x08fa3001c, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, 0x08fa20028, 0x000000027, @@ -138,17 +139,17 @@ ulong bootcode[]={ 0x0afa30018, 0x024a50004, 0x0afa50028, - 0x008000479, + 0x00800047a, 0x024c6ffff, 0x023c28026, 0x0afa20004, - 0x023c3834c, - 0x00c0009fc, + 0x023c38350, + 0x00c0009fd, 0x0afa30008, 0x023c298d2, 0x0afa20004, - 0x023c38357, - 0x00c0009fc, + 0x023c3835b, + 0x00c0009fd, 0x0afa30008, 0x08fa60028, 0x08fa20024, @@ -159,54 +160,54 @@ ulong bootcode[]={ 0x010430019, 0x000000027, 0x08fa20018, - 0x00c000752, + 0x00c000753, 0x0afa20004, 0x08fc58006, 0x000000027, 0x018a00003, 0x000000027, - 0x00c000a5b, + 0x00c000a5c, 0x0afa50004, 0x08fc3801a, 0x000000027, 0x018600004, 0x000000027, 0x08fc2801a, - 0x00c000a5b, + 0x00c000a5c, 0x0afa20004, 0x0afc0801a, 0x0afc08006, 0x020020001, - 0x00c000752, + 0x00c000753, 0x0afa20004, 0x08fc58006, - 0x0080004a4, + 0x0080004a5, 0x000000027, 0x0afa50004, 0x08cc30000, - 0x00c0009fc, + 0x00c0009fd, 0x0afa30008, 0x023c28026, 0x0afa20004, 0x08fa30028, 0x000000027, 0x08c630004, - 0x00c0009fc, + 0x00c0009fd, 0x0afa30008, - 0x00800049f, + 0x0080004a0, 0x000000027, 0x0afa50004, 0x08cc30000, - 0x00c0009fc, + 0x00c0009fd, 0x0afa30008, - 0x00800049f, + 0x0080004a0, 0x000000027, 0x023bdfff4, 0x0afbf0000, - 0x023c3835f, + 0x023c38363, 0x0afa30004, 0x020020002, - 0x00c000a73, + 0x00c000a74, 0x0afa20008, 0x08fa20000, 0x000000027, @@ -224,7 +225,7 @@ ulong bootcode[]={ 0x000000027, 0x0afa30004, 0x08fa40028, - 0x00c0009e9, + 0x00c0009ea, 0x0afa40008, 0x08fa50014, 0x0142000a5, @@ -234,8 +235,8 @@ ulong bootcode[]={ 0x000000027, 0x014400008, 0x000000027, - 0x023c38367, - 0x00c000967, + 0x023c3836b, + 0x00c000968, 0x0afa30004, 0x08fa20000, 0x023bd0024, @@ -245,15 +246,15 @@ ulong bootcode[]={ 0x000000027, 0x014400048, 0x000000027, - 0x023c28395, + 0x023c28399, 0x0afa20004, 0x020040002, - 0x00c000a73, + 0x00c000a74, 0x0afa40008, 0x004210008, 0x000000027, - 0x023c3839e, - 0x00c0008be, + 0x023c383a2, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0024, @@ -261,54 +262,54 @@ ulong bootcode[]={ 0x02001ffff, 0x0afa10020, 0x0afa10004, - 0x023c483af, + 0x023c483b3, 0x0afa40008, 0x02003000d, - 0x00c000a87, + 0x00c000a88, 0x0afa3000c, 0x08fa50020, 0x00421000a, 0x000000027, - 0x00c000a5b, + 0x00c000a5c, 0x0afa50004, - 0x023c383bd, - 0x00c0008be, + 0x023c383c1, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0024, 0x000400008, 0x02001ffff, 0x0afa50004, - 0x023c483cb, + 0x023c483cf, 0x0afa40008, 0x02003000c, - 0x00c000a87, + 0x00c000a88, 0x0afa3000c, 0x08fa50020, 0x00421000a, 0x000000027, - 0x00c000a5b, + 0x00c000a5c, 0x0afa50004, - 0x023c383d8, - 0x00c0008be, + 0x023c383dc, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0024, 0x000400008, 0x02001ffff, 0x0afa50004, - 0x023c483e5, + 0x023c483e9, 0x0afa40008, 0x02003000c, - 0x00c000a87, + 0x00c000a88, 0x0afa3000c, 0x00421000b, 0x000000027, 0x08fa20020, - 0x00c000a5b, + 0x00c000a5c, 0x0afa20004, - 0x023c383f2, - 0x00c0008be, + 0x023c383f6, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0024, @@ -316,33 +317,33 @@ ulong bootcode[]={ 0x02001ffff, 0x020020001, 0x0afc28042, - 0x023c283ff, + 0x023c28403, 0x0afa20004, 0x020040002, - 0x00c000a73, + 0x00c000a74, 0x0afa40008, 0x004210008, 0x0afa10018, - 0x023c3840e, - 0x00c0008be, + 0x023c38412, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0024, 0x000400008, 0x02001ffff, - 0x023c38425, + 0x023c38429, 0x0afa30004, 0x020040002, - 0x00c000a73, + 0x00c000a74, 0x0afa40008, 0x00421000c, 0x0afa1001c, 0x08fa20018, - 0x00c000a5b, + 0x00c000a5c, 0x0afa20004, - 0x023c28433, + 0x023c28437, 0x0afa20004, - 0x00c0008be, + 0x00c0008bf, 0x02003ffff, 0x08fa20000, 0x023bd0024, @@ -351,7 +352,7 @@ ulong bootcode[]={ 0x08fa40014, 0x000000027, 0x08c840004, - 0x00c000a3b, + 0x00c000a3c, 0x0afa40004, 0x0afa10010, 0x08fa4001c, @@ -363,37 +364,37 @@ ulong bootcode[]={ 0x000000027, 0x0afa20008, 0x08fa40010, - 0x00c000a87, + 0x00c000a88, 0x0afa4000c, 0x004210012, 0x000000027, 0x08fa2001c, - 0x00c000a5b, + 0x00c000a5c, 0x0afa20004, 0x08fa30018, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, 0x08fa30014, 0x000000027, 0x08c630004, 0x000000027, 0x0afa30004, - 0x00c0008be, + 0x00c0008bf, 0x02002ffff, 0x08fa20000, 0x023bd0024, 0x000400008, 0x02001ffff, - 0x023c28449, + 0x023c2844d, 0x0afc28022, - 0x023c3844f, - 0x0afc3812a, + 0x023c38453, + 0x0afc3812e, 0x08fa10018, 0x08fa20000, 0x000000027, 0x000400008, 0x023bd0024, - 0x0080004d8, + 0x0080004d9, 0x024a50008, 0x023bdffa8, 0x0afbf0000, @@ -401,51 +402,51 @@ ulong bootcode[]={ 0x000000027, 0x014400038, 0x000000027, - 0x023c28457, + 0x023c2845b, 0x0afa20004, 0x020040002, - 0x00c000a73, + 0x00c000a74, 0x0afa40008, 0x004210008, 0x0afc1801e, - 0x023c3845e, - 0x00c0008be, + 0x023c38462, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0058, 0x000400008, 0x02001ffff, 0x0afa10004, - 0x023c4846d, + 0x023c48471, 0x0afa40008, 0x02003000a, - 0x00c000a87, + 0x00c000a88, 0x0afa3000c, 0x08fc5801e, 0x00421000a, 0x000000027, - 0x00c000a5b, + 0x00c000a5c, 0x0afa50004, - 0x023c38478, - 0x00c0008be, + 0x023c3847c, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0058, 0x000400008, 0x02001ffff, 0x0afa50004, - 0x023c48483, + 0x023c48487, 0x0afa40008, 0x020030017, - 0x00c000a87, + 0x00c000a88, 0x0afa3000c, 0x00421000b, 0x000000027, 0x08fc2801e, - 0x00c000a5b, + 0x00c000a5c, 0x0afa20004, - 0x023c3849b, - 0x00c0008be, + 0x023c3849f, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0058, @@ -454,35 +455,35 @@ ulong bootcode[]={ 0x020020001, 0x0afc280ce, 0x0200307d0, - 0x00c000a7b, + 0x00c000a7c, 0x0afa30004, - 0x023c384b3, + 0x023c384b7, 0x0afa30004, 0x020040002, - 0x00c000a73, + 0x00c000a74, 0x0afa40008, 0x004210008, 0x0afa10054, - 0x023c284bf, - 0x00c0008be, + 0x023c284c3, + 0x00c0008bf, 0x0afa20004, 0x08fa20000, 0x023bd0058, 0x000400008, 0x02001ffff, - 0x023c284d3, + 0x023c284d7, 0x0afa20004, 0x020040002, - 0x00c000a73, + 0x00c000a74, 0x0afa40008, 0x00421000c, 0x0afc1801a, 0x08fa30054, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, - 0x023c384de, + 0x023c384e2, 0x0afa30004, - 0x00c0008be, + 0x00c0008bf, 0x02002ffff, 0x08fa20000, 0x023bd0058, @@ -490,13 +491,13 @@ ulong bootcode[]={ 0x02001ffff, 0x023a20014, 0x0afa20004, - 0x023c384f1, + 0x023c384f5, 0x0afa30008, 0x08fa2005c, - 0x00c0009b1, + 0x00c0009b2, 0x0afa2000c, 0x023a40014, - 0x00c000a3b, + 0x00c000a3c, 0x0afa40004, 0x0afa10010, 0x08fc4801a, @@ -504,29 +505,29 @@ ulong bootcode[]={ 0x0afa40004, 0x0afa20008, 0x08fa40010, - 0x00c000a87, + 0x00c000a88, 0x0afa4000c, 0x004210010, 0x000000027, 0x08fc2801a, - 0x00c000a5b, + 0x00c000a5c, 0x0afa20004, 0x08fa30054, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, 0x02002ffff, 0x0afc2801a, 0x023a30014, - 0x00c0008be, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0058, 0x000400008, 0x02001ffff, - 0x023c284fc, + 0x023c28500, 0x0afc28022, - 0x023c384ff, - 0x0afc3812a, + 0x023c38503, + 0x0afc3812e, 0x08fa10054, 0x08fa20000, 0x000000027, @@ -535,7 +536,7 @@ ulong bootcode[]={ 0x023bdff2c, 0x0afbf0000, 0x08fa300d8, - 0x00c00058c, + 0x00c00058d, 0x0afa30004, 0x004210005, 0x000000027, @@ -544,32 +545,32 @@ ulong bootcode[]={ 0x000400008, 0x02001ffff, 0x0afa100d0, - 0x00c000672, + 0x00c000673, 0x0afa10004, 0x08fa500d0, 0x014200007, 0x000000027, - 0x00c000a5b, + 0x00c000a5c, 0x0afa50004, 0x08fa20000, 0x023bd00d4, 0x000400008, 0x02001ffff, 0x0afa50004, - 0x023c48504, + 0x023c48508, 0x0afa40008, 0x0afa0000c, - 0x023c28509, + 0x023c2850d, 0x0afa20010, - 0x023c4850a, - 0x00c000a6f, + 0x023c4850e, + 0x00c000a70, 0x0afa40014, 0x004210004, 0x000000027, - 0x023c2850b, - 0x00c0008d0, + 0x023c2850f, + 0x00c0008d1, 0x0afa20004, - 0x00c000a6b, + 0x00c000a6c, 0x000000027, 0x02003ffff, 0x01023002f, @@ -577,7 +578,7 @@ ulong bootcode[]={ 0x010200022, 0x000000027, 0x023a20018, - 0x00c000a83, + 0x00c000a84, 0x0afa20004, 0x083a3002c, 0x000000027, @@ -585,50 +586,50 @@ ulong bootcode[]={ 0x000000027, 0x023a20018, 0x024420014, - 0x00c0008d0, + 0x00c0008d1, 0x0afa20004, 0x020030002, 0x0afa30004, - 0x023c2855b, - 0x00c00098c, + 0x023c2855f, + 0x00c00098d, 0x0afa20008, 0x020030bb8, - 0x00c000a7b, + 0x00c000a7c, 0x0afa30004, 0x020020002, 0x0afa20004, - 0x023c3856c, - 0x00c00098c, + 0x023c38570, + 0x00c00098d, 0x0afa30008, - 0x023c2857b, + 0x023c2857f, 0x0afa20004, 0x020030002, - 0x00c000a73, + 0x00c000a74, 0x0afa30008, 0x08fa20000, 0x000000027, 0x000400008, 0x023bd00d4, - 0x023c38511, + 0x023c38515, 0x0afa30004, - 0x023c2852a, + 0x023c2852e, 0x0afa20008, - 0x023c38535, + 0x023c38539, 0x0afa3000c, - 0x00c000a47, + 0x00c000a48, 0x0afa00010, - 0x023c28545, - 0x00c0008d0, + 0x023c28549, + 0x00c0008d1, 0x0afa20004, - 0x023c38556, - 0x00c0008d0, + 0x023c3855a, + 0x00c0008d1, 0x0afa30004, - 0x008000641, + 0x008000642, 0x000000027, 0x023bdffe0, 0x0afbf0000, - 0x023c28585, - 0x00c000967, + 0x023c28589, + 0x00c000968, 0x0afa20004, 0x020030032, 0x0a3c397d2, @@ -637,25 +638,25 @@ ulong bootcode[]={ 0x023c297d2, 0x0afa20004, 0x023c487d2, - 0x00c000ad3, + 0x00c000ad4, 0x0afa40008, 0x08fa30024, 0x023c487d2, 0x0afa30004, 0x0afa40008, 0x0afa1001c, - 0x00c000a87, + 0x00c000a88, 0x0afa1000c, 0x08fa5001c, 0x000000027, 0x01025000c, 0x000000027, - 0x023c2858c, + 0x023c28590, 0x0afa20004, - 0x00c000967, + 0x00c000968, 0x0afa50008, - 0x023c28594, - 0x00c0008be, + 0x023c28598, + 0x00c0008bf, 0x0afa20004, 0x08fa20000, 0x023bd0020, @@ -666,12 +667,12 @@ ulong bootcode[]={ 0x0afa20004, 0x0afa40008, 0x020021000, - 0x00c000a77, + 0x00c000a78, 0x0afa2000c, 0x01c200008, 0x000000027, - 0x023c3859e, - 0x00c0008be, + 0x023c385a2, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0020, @@ -680,18 +681,18 @@ ulong bootcode[]={ 0x020030002, 0x014230003, 0x000000027, - 0x008000696, + 0x008000697, 0x000000027, 0x023c387d2, 0x0afa30004, 0x023c497d2, 0x0afa40008, 0x0afa1001c, - 0x00c000efa, + 0x00c000efb, 0x0afa1000c, 0x014200022, 0x000000027, - 0x023c285a7, + 0x023c285ab, 0x0afa20004, 0x08fa3001c, 0x000000027, @@ -715,10 +716,10 @@ ulong bootcode[]={ 0x000000027, 0x000031e00, 0x000031e03, - 0x00c000967, + 0x00c000968, 0x0afa30018, - 0x023c285ca, - 0x00c0008be, + 0x023c285ce, + 0x00c0008bf, 0x0afa20004, 0x08fa20000, 0x023bd0020, @@ -728,8 +729,8 @@ ulong bootcode[]={ 0x020020033, 0x010620008, 0x000000027, - 0x023c385d5, - 0x00c0008be, + 0x023c385d9, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0020, @@ -739,15 +740,15 @@ ulong bootcode[]={ 0x02003ffff, 0x010430008, 0x000000027, - 0x023c285de, - 0x00c0008be, + 0x023c285e2, + 0x00c0008bf, 0x0afa20004, 0x08fa20000, 0x023bd0020, 0x000400008, 0x000000825, - 0x023c385e9, - 0x00c000967, + 0x023c385ed, + 0x00c000968, 0x0afa30004, 0x020020034, 0x0a3c297d2, @@ -756,21 +757,21 @@ ulong bootcode[]={ 0x023c397d2, 0x0afa30004, 0x023c487d2, - 0x00c000ad3, + 0x00c000ad4, 0x0afa40008, 0x08fa20024, 0x023c487d2, 0x0afa20004, 0x0afa40008, 0x0afa1001c, - 0x00c000a87, + 0x00c000a88, 0x0afa1000c, 0x08fa4001c, 0x000000027, 0x010240008, 0x000000027, - 0x023c285f4, - 0x00c0008be, + 0x023c285f8, + 0x00c0008bf, 0x0afa20004, 0x08fa20000, 0x023bd0020, @@ -781,12 +782,12 @@ ulong bootcode[]={ 0x0afa20004, 0x0afa40008, 0x020021000, - 0x00c000a77, + 0x00c000a78, 0x0afa2000c, 0x01c200008, 0x000000027, - 0x023c38602, - 0x00c0008be, + 0x023c38606, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0020, @@ -796,12 +797,12 @@ ulong bootcode[]={ 0x0afa30004, 0x023c497d2, 0x0afa40008, - 0x00c000efa, + 0x00c000efb, 0x0afa1000c, 0x014200008, 0x000000027, - 0x023c2860f, - 0x00c0008be, + 0x023c28613, + 0x00c0008bf, 0x0afa20004, 0x08fa20000, 0x023bd0020, @@ -811,8 +812,8 @@ ulong bootcode[]={ 0x02002ffff, 0x010620008, 0x000000027, - 0x023c3861e, - 0x00c0008be, + 0x023c38622, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0020, @@ -824,11 +825,11 @@ ulong bootcode[]={ 0x000000027, 0x020020002, 0x0afa20004, - 0x023c38629, + 0x023c3862d, 0x0afa30008, 0x023c297d2, 0x024420008, - 0x00c00098c, + 0x00c00098d, 0x0afa2000c, 0x08fa20000, 0x023bd0020, @@ -838,8 +839,8 @@ ulong bootcode[]={ 0x020020035, 0x010620008, 0x000000027, - 0x023c38639, - 0x00c0008be, + 0x023c3863d, + 0x00c0008bf, 0x0afa30004, 0x08fa20000, 0x023bd0020, @@ -856,12 +857,12 @@ ulong bootcode[]={ 0x000000027, 0x01040000a, 0x000000027, - 0x023c38646, + 0x023c3864a, 0x0afa30004, 0x023c28026, 0x0afa20008, 0x02003001c, - 0x00c0008e4, + 0x00c0008e5, 0x0afa3000c, 0x08fc68006, 0x000000027, @@ -873,30 +874,30 @@ ulong bootcode[]={ 0x0afc28006, 0x023c28026, 0x0afa20004, - 0x023c4864d, + 0x023c48651, 0x0afa40008, 0x020020004, - 0x00c0009c9, + 0x00c0009ca, 0x0afa2000c, 0x01420011f, 0x023c58026, 0x024a20004, 0x0afa20140, - 0x00c0004ca, + 0x00c0004cb, 0x0afa20004, 0x000013025, 0x004c0010e, 0x0afc68006, 0x004c10008, 0x000000027, - 0x023c2867e, - 0x00c000967, + 0x023c28682, + 0x00c000968, 0x0afa20004, 0x08fa20000, 0x000000027, 0x000400008, 0x023bd0150, - 0x00c000672, + 0x00c000673, 0x0afa60004, 0x014200005, 0x000000027, @@ -904,41 +905,41 @@ ulong bootcode[]={ 0x000000027, 0x000400008, 0x023bd0150, - 0x023c3868d, - 0x00c000967, + 0x023c38691, + 0x00c000968, 0x0afa30004, 0x023c287d2, 0x0afa20004, - 0x023c38695, + 0x023c38699, 0x0afa30008, 0x08fa20140, - 0x00c0009b1, + 0x00c0009b2, 0x0afa2000c, 0x023c287d2, 0x0afa20004, 0x020040001, 0x0afa40008, 0x0200201b6, - 0x00c000a5f, + 0x00c000a60, 0x0afa2000c, 0x004210004, 0x0afa10148, - 0x023c3869b, - 0x00c0008d0, + 0x023c3869f, + 0x00c0008d1, 0x0afa30004, 0x023c287d2, 0x0afa20004, - 0x023c386a2, + 0x023c386a6, 0x0afa30008, 0x08fc28006, - 0x00c0009b1, + 0x00c0009b2, 0x0afa2000c, 0x023c387d2, - 0x00c000a3b, + 0x00c000a3c, 0x0afa30004, 0x0afa10014, 0x023c487d2, - 0x00c000a3b, + 0x00c000a3c, 0x0afa40004, 0x0afa10010, 0x08fa40148, @@ -946,43 +947,43 @@ ulong bootcode[]={ 0x0afa40004, 0x0afa30008, 0x08fa40010, - 0x00c000a87, + 0x00c000a88, 0x0afa4000c, 0x08fa30014, 0x000000027, 0x010230004, 0x000000027, - 0x023c286a5, - 0x00c0008d0, + 0x023c286a9, + 0x00c0008d1, 0x0afa20004, 0x08fa30148, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, - 0x023c386ab, + 0x023c386af, 0x0afa30004, 0x020040001, 0x0afa40008, 0x0200301b6, - 0x00c000a5f, + 0x00c000a60, 0x0afa3000c, 0x004210004, 0x0afa10148, - 0x023c286b3, - 0x00c0008d0, + 0x023c286b7, + 0x00c0008d1, 0x0afa20004, 0x023c387d2, 0x0afa30004, - 0x023c286ba, + 0x023c286be, 0x0afa20008, 0x08fc38006, - 0x00c0009b1, + 0x00c0009b2, 0x0afa3000c, 0x023c287d2, - 0x00c000a3b, + 0x00c000a3c, 0x0afa20004, 0x0afa10014, 0x023c487d2, - 0x00c000a3b, + 0x00c000a3c, 0x0afa40004, 0x0afa10010, 0x08fa40148, @@ -990,81 +991,81 @@ ulong bootcode[]={ 0x0afa40004, 0x0afa30008, 0x08fa40010, - 0x00c000a87, + 0x00c000a88, 0x0afa4000c, 0x08fa30014, 0x000000027, 0x010230004, 0x000000027, - 0x023c286bd, - 0x00c0008d0, + 0x023c286c1, + 0x00c0008d1, 0x0afa20004, 0x08fa30148, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, - 0x023c286c3, - 0x00c000967, + 0x023c286c7, + 0x00c000968, 0x0afa20004, - 0x023c286cc, + 0x023c286d0, 0x0afa20004, - 0x023c486ce, + 0x023c486d2, 0x0afa40008, - 0x00c000a57, + 0x00c000a58, 0x0afa0000c, 0x004210004, 0x000000027, - 0x023c286d0, - 0x00c0008d0, + 0x023c286d4, + 0x00c0008d1, 0x0afa20004, 0x08fc28006, - 0x023c486d5, + 0x023c486d9, 0x0afa20004, 0x0afa40008, 0x020020006, 0x0afa2000c, - 0x023c486d7, + 0x023c486db, 0x0afa40010, - 0x023c286d8, - 0x00c000a6f, + 0x023c286dc, + 0x00c000a70, 0x0afa20014, 0x004210004, 0x000000027, - 0x023c386d9, - 0x00c0008d0, + 0x023c386dd, + 0x00c0008d1, 0x0afa30004, - 0x023c286df, - 0x00c000967, + 0x023c286e3, + 0x00c000968, 0x0afa20004, - 0x023c286e7, + 0x023c286eb, 0x0afa20004, 0x023a40058, - 0x00c000a7f, + 0x00c000a80, 0x0afa40008, 0x004210004, 0x000000027, - 0x023c286eb, - 0x00c0008d0, + 0x023c286ef, + 0x00c0008d1, 0x0afa20004, 0x023a30058, 0x0afa30004, 0x023a200cc, - 0x00c0011ca, + 0x00c0011cb, 0x0afa20008, - 0x023c286f0, + 0x023c286f4, 0x0afa20004, 0x020040001, - 0x00c000a73, + 0x00c000a74, 0x0afa40008, 0x0afa10148, 0x023a20058, 0x0afa20004, - 0x023c386f8, + 0x023c386fc, 0x0afa30008, 0x08fa2012c, - 0x00c0009b1, + 0x00c0009b2, 0x0afa2000c, 0x023a20058, - 0x00c000a3b, + 0x00c000a3c, 0x0afa20004, 0x0afa10014, 0x08fa20148, @@ -1072,36 +1073,36 @@ ulong bootcode[]={ 0x0afa20004, 0x0afa30008, 0x08fa20014, - 0x00c000a87, + 0x00c000a88, 0x0afa2000c, 0x08fa30148, - 0x00c000a5b, + 0x00c000a5c, 0x0afa30004, - 0x023c286fc, - 0x00c000967, + 0x023c28700, + 0x00c000968, 0x0afa20004, 0x08fc58022, - 0x08fc3812a, + 0x08fc3812e, 0x000000027, 0x010600015, 0x000000027, 0x023a20018, 0x0afa20004, - 0x023c38705, + 0x023c38709, 0x0afa30008, - 0x00c0009b1, + 0x00c0009b2, 0x0afa5000c, - 0x08fc3812a, + 0x08fc3812e, 0x023a20018, 0x0afa30004, 0x0afa20008, - 0x00c000a57, + 0x00c000a58, 0x0afa0000c, - 0x08fc3812a, - 0x023c2870d, + 0x08fc3812e, + 0x023c28711, 0x0afa30004, 0x0afa20008, - 0x00c000a57, + 0x00c000a58, 0x0afa0000c, 0x08fc58022, 0x000000027, @@ -1109,123 +1110,123 @@ ulong bootcode[]={ 0x000000027, 0x023a20018, 0x0afa20004, - 0x023c38716, + 0x023c3871a, 0x0afa30008, - 0x00c0009b1, + 0x00c0009b2, 0x0afa5000c, - 0x023c38726, + 0x023c3872a, 0x0afa30004, 0x023a20018, - 0x00c000967, + 0x00c000968, 0x0afa20008, 0x023a30018, 0x0afa30004, - 0x023c28748, + 0x023c2874c, 0x0afa20008, - 0x00c000a57, + 0x00c000a58, 0x0afa0000c, 0x08fa30154, 0x000000027, 0x010600010, 0x000000027, - 0x023c28759, + 0x023c2875d, 0x0afa20004, - 0x023c38764, + 0x023c38768, 0x0afa30008, - 0x023c28769, + 0x023c2876d, 0x0afa2000c, - 0x00c000a47, + 0x00c000a48, 0x0afa00010, - 0x023c3877c, - 0x00c0008d0, + 0x023c38780, + 0x00c0008d1, 0x0afa30004, 0x08fa20000, 0x000000027, 0x000400008, 0x023bd0150, - 0x023c3876c, + 0x023c38770, 0x0afa30004, - 0x023c28777, + 0x023c2877b, 0x0afa20008, - 0x00c000a47, + 0x00c000a48, 0x0afa0000c, - 0x023c3877c, - 0x00c0008d0, + 0x023c38780, + 0x00c0008d1, 0x0afa30004, 0x08fa20000, 0x000000027, 0x000400008, 0x023bd0150, - 0x023c38662, - 0x00c000967, + 0x023c38666, + 0x00c000968, 0x0afa30004, 0x0200203e8, - 0x00c000a7b, + 0x00c000a7c, 0x0afa20004, 0x08fc68006, 0x08fa20144, - 0x008000763, + 0x008000764, 0x024450001, 0x0afa50004, - 0x023c48652, + 0x023c48656, 0x0afa40008, 0x020030004, - 0x00c0009c9, + 0x00c0009ca, 0x0afa3000c, 0x014200007, 0x023c58026, 0x024a30004, 0x0afa30140, - 0x00c000615, + 0x00c000616, 0x0afa30004, - 0x008000776, + 0x008000777, 0x000013025, 0x0afa50004, - 0x023c48657, + 0x023c4865b, 0x0afa40008, 0x020020003, - 0x00c0009c9, + 0x00c0009ca, 0x0afa2000c, 0x014200007, 0x023c58026, 0x024a20003, 0x0afa20140, - 0x00c00058c, + 0x00c00058d, 0x0afa20004, - 0x008000776, + 0x008000777, 0x000013025, 0x0afa50004, - 0x023c4865b, + 0x023c4865f, 0x0afa40008, 0x020030006, - 0x00c0009c9, + 0x00c0009ca, 0x0afa3000c, 0x014200007, 0x023c58026, 0x024a30006, 0x0afa30140, - 0x00c0004d5, + 0x00c0004d6, 0x0afa30004, - 0x008000776, + 0x008000777, 0x000013025, 0x0afa50140, - 0x00c0004d5, + 0x00c0004d6, 0x0afa50004, - 0x008000776, + 0x008000777, 0x000013025, 0x023bdffac, 0x0afbf0000, 0x023a20014, - 0x00c000a63, + 0x00c000a64, 0x0afa20004, 0x020030002, 0x0afa30004, - 0x023c28787, + 0x023c2878b, 0x0afa20008, 0x08fa30058, 0x023a20014, 0x0afa3000c, - 0x00c00098c, + 0x00c00098d, 0x0afa20010, 0x08fa20000, 0x000000027, @@ -1234,18 +1235,18 @@ ulong bootcode[]={ 0x023bdffac, 0x0afbf0000, 0x023a30014, - 0x00c000a63, + 0x00c000a64, 0x0afa30004, 0x020020002, 0x0afa20004, - 0x023c38795, + 0x023c38799, 0x0afa30008, 0x08fa20058, 0x023a30014, 0x0afa2000c, - 0x00c00098c, + 0x00c00098d, 0x0afa30010, - 0x00c00094b, + 0x00c00094c, 0x0afa00004, 0x08fa20000, 0x000000027, @@ -1253,28 +1254,28 @@ ulong bootcode[]={ 0x023bd0054, 0x023bdfeec, 0x0afbf0000, - 0x023c387a3, + 0x023c387a7, 0x0afa30004, 0x08fa20118, 0x000000027, 0x0afa20008, 0x08fa3011c, - 0x00c000967, + 0x00c000968, 0x0afa3000c, 0x0afa00004, 0x023a30010, 0x0afa30008, 0x08fa40120, - 0x00c000a77, + 0x00c000a78, 0x0afa4000c, 0x014200003, 0x000012825, - 0x0080008e6, + 0x0080008e7, 0x000000027, 0x004210006, 0x0afa10110, - 0x023c287ac, - 0x00c0008d0, + 0x023c287b0, + 0x00c0008d1, 0x0afa20004, 0x08fa50110, 0x000000027, @@ -1287,7 +1288,7 @@ ulong bootcode[]={ 0x08fa3011c, 0x023a20010, 0x0afa30004, - 0x00c0009fc, + 0x00c0009fd, 0x0afa20008, 0x08fa50110, 0x000000027, @@ -1345,10 +1346,10 @@ ulong bootcode[]={ 0x000000027, 0x014400003, 0x000000027, - 0x00c00094b, + 0x00c00094c, 0x0afa00004, 0x023c38046, - 0x00c00094b, + 0x00c00094c, 0x0afa30004, 0x08fa20000, 0x000000027, @@ -1373,10 +1374,10 @@ ulong bootcode[]={ 0x0ac400000, 0x08fa4000c, 0x023c6984e, - 0x00800094f, + 0x008000950, 0x02484ffff, 0x08fa30014, - 0x00c000a53, + 0x00c000a54, 0x0afa30004, 0x08fa20000, 0x000000027, @@ -1392,14 +1393,14 @@ ulong bootcode[]={ 0x023a41020, 0x0afa3000c, 0x024840004, - 0x00c001284, + 0x00c001285, 0x0afa40010, 0x023a6001c, 0x020020001, 0x0afa20004, 0x0afa60008, 0x000261023, - 0x00c000a87, + 0x00c000a88, 0x0afa2000c, 0x0afa10014, 0x00421000c, @@ -1411,7 +1412,7 @@ ulong bootcode[]={ 0x014400006, 0x0afc38002, 0x023c2800a, - 0x00c00094b, + 0x00c00094c, 0x0afa20004, 0x08fa50014, 0x000000027, @@ -1429,14 +1430,14 @@ ulong bootcode[]={ 0x023a41024, 0x0afa3000c, 0x024840004, - 0x00c001284, + 0x00c001285, 0x0afa40010, 0x08fa21020, 0x023a6001c, 0x0afa20004, 0x0afa60008, 0x000261023, - 0x00c000a87, + 0x00c000a88, 0x0afa2000c, 0x0afa10014, 0x00421000c, @@ -1448,7 +1449,7 @@ ulong bootcode[]={ 0x014400006, 0x0afc38002, 0x023c2800a, - 0x00c00094b, + 0x00c00094c, 0x0afa20004, 0x08fa50014, 0x000000027, @@ -1459,7 +1460,7 @@ ulong bootcode[]={ 0x023bdffe4, 0x0afbf0000, 0x08fa50020, - 0x08fc280de, + 0x08fc280e2, 0x024a41000, 0x0afa20014, 0x0afa50004, @@ -1468,11 +1469,11 @@ ulong bootcode[]={ 0x023a40024, 0x0afa2000c, 0x024840004, - 0x00c001284, + 0x00c001285, 0x0afa40010, 0x08fa20014, 0x000000027, - 0x0afc280de, + 0x0afc280e2, 0x08fa20020, 0x000000027, 0x000220823, @@ -1599,7 +1600,7 @@ ulong bootcode[]={ 0x08fa20010, 0x000000027, 0x0afa20004, - 0x00c0017e7, + 0x00c0017e8, 0x0afa00008, 0x08fa30010, 0x08fa20000, @@ -1612,7 +1613,7 @@ ulong bootcode[]={ 0x023a30010, 0x0afa20004, 0x024630004, - 0x00c000a67, + 0x00c000a68, 0x0afa30008, 0x08fa20000, 0x000000027, @@ -1676,7 +1677,7 @@ ulong bootcode[]={ 0x000000027, 0x023bdffe4, 0x0afbf0000, - 0x023c280ea, + 0x023c280ee, 0x0afa20010, 0x000002825, 0x028a30003, @@ -1691,14 +1692,14 @@ ulong bootcode[]={ 0x08fa2002c, 0x000000027, 0x08c420000, - 0x00c000a77, + 0x00c000a78, 0x0afa2000c, 0x014200015, 0x0afa10018, 0x020030002, 0x0afa30004, - 0x023c280ee, - 0x00c00098c, + 0x023c280f2, + 0x00c00098d, 0x0afa20008, 0x08fa30014, 0x000000027, @@ -1720,24 +1721,24 @@ ulong bootcode[]={ 0x08fa20000, 0x023bd001c, 0x000400008, - 0x023c18100, + 0x023c18104, 0x08fa30024, 0x000000027, 0x0afa30004, 0x08fa40028, 0x000000027, 0x0afa40008, - 0x00c000efa, + 0x00c000efb, 0x0afa1000c, 0x014200009, 0x0afa10018, 0x020020002, 0x0afa20004, - 0x023c3810b, - 0x00c00098c, + 0x023c3810f, + 0x00c00098d, 0x0afa30008, - 0x023c28121, - 0x008000aa5, + 0x023c28125, + 0x008000aa6, 0x0afa20010, 0x08fa3002c, 0x000000027, @@ -1837,7 +1838,7 @@ ulong bootcode[]={ 0x024a20008, 0x0afa20008, 0x020030040, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x000000027, @@ -1863,7 +1864,7 @@ ulong bootcode[]={ 0x024a20008, 0x0afa20008, 0x02003001c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x02003001c, @@ -1874,7 +1875,7 @@ ulong bootcode[]={ 0x000000027, 0x024420024, 0x0afa20008, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x02003001c, @@ -1885,7 +1886,7 @@ ulong bootcode[]={ 0x000000027, 0x024420040, 0x0afa20008, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x000000027, @@ -2017,7 +2018,7 @@ ulong bootcode[]={ 0x024a3000e, 0x0afa30008, 0x02002001c, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, 0x08fa2001c, @@ -2166,7 +2167,7 @@ ulong bootcode[]={ 0x024a2000e, 0x0afa20008, 0x02003001c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa70018, 0x08fa20010, @@ -2246,7 +2247,7 @@ ulong bootcode[]={ 0x000000027, 0x0afa20008, 0x08ca3000c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20018, 0x08fa30010, @@ -2390,7 +2391,7 @@ ulong bootcode[]={ 0x000000027, 0x0afa20008, 0x08ca3000c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20018, 0x08fa30010, @@ -2521,7 +2522,7 @@ ulong bootcode[]={ 0x024a30008, 0x0afa30008, 0x020020074, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, 0x08fa2001c, @@ -2577,7 +2578,7 @@ ulong bootcode[]={ 0x024a20008, 0x0afa20008, 0x020030074, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x000000027, @@ -2625,7 +2626,7 @@ ulong bootcode[]={ 0x024a2000e, 0x0afa20008, 0x02003001c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x000000027, @@ -2662,7 +2663,7 @@ ulong bootcode[]={ 0x08fa30018, 0x000000027, 0x0afa30008, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, 0x02002001c, @@ -2673,7 +2674,7 @@ ulong bootcode[]={ 0x000000027, 0x02463001c, 0x0afa30008, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, 0x02002001c, @@ -2684,7 +2685,7 @@ ulong bootcode[]={ 0x000000027, 0x024630038, 0x0afa30008, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa40018, 0x08fa30010, @@ -2894,17 +2895,17 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20008, 0x024c20008, 0x0afa20004, 0x0afa50010, 0x0afa50008, 0x020020040, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, - 0x008000f2c, + 0x008000f2d, 0x024650040, 0x090a20000, 0x090a30001, @@ -2919,7 +2920,7 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02002001c, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, 0x08fa2001c, @@ -2929,7 +2930,7 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02002001c, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, 0x08fa2001c, @@ -2939,10 +2940,10 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02002001c, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, - 0x008000f2c, + 0x008000f2d, 0x02465001c, 0x02003003e, 0x00062202a, @@ -2970,7 +2971,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20002, 0x090a20000, 0x090a30001, @@ -2987,7 +2988,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c2000c, 0x090a20000, 0x090a30001, @@ -3028,7 +3029,7 @@ ulong bootcode[]={ 0x000031e00, 0x000431025, 0x024a50004, - 0x008000f2c, + 0x008000f2d, 0x0acc20010, 0x090a20000, 0x090a30001, @@ -3043,10 +3044,10 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02002001c, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, - 0x008000f2c, + 0x008000f2d, 0x02465001c, 0x02003003f, 0x010430040, @@ -3100,7 +3101,7 @@ ulong bootcode[]={ 0x000031e00, 0x000431025, 0x024a50004, - 0x008000f2c, + 0x008000f2d, 0x0acc20010, 0x090a20000, 0x090a30001, @@ -3112,7 +3113,7 @@ ulong bootcode[]={ 0x024a30002, 0x024650001, 0x080630000, - 0x008000f2c, + 0x008000f2d, 0x0a0c3002a, 0x090a20000, 0x090a30001, @@ -3153,7 +3154,7 @@ ulong bootcode[]={ 0x000031e00, 0x000431025, 0x024a50004, - 0x008000f2c, + 0x008000f2d, 0x0acc20010, 0x090a20000, 0x090a30001, @@ -3168,7 +3169,7 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02002001c, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa6001c, 0x08fa30010, @@ -3192,7 +3193,7 @@ ulong bootcode[]={ 0x024a30004, 0x024650001, 0x080630000, - 0x008000f2c, + 0x008000f2d, 0x0a0c3002a, 0x02003004a, 0x00062202a, @@ -3238,7 +3239,7 @@ ulong bootcode[]={ 0x024650001, 0x0acc50010, 0x08cc3000c, - 0x008000f2c, + 0x008000f2d, 0x000a32821, 0x090a20000, 0x090a30001, @@ -3271,7 +3272,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0acc2000c, 0x090a20000, 0x090a30001, @@ -3312,7 +3313,7 @@ ulong bootcode[]={ 0x000031e00, 0x000431025, 0x024a50004, - 0x008000f2c, + 0x008000f2d, 0x0acc20010, 0x090a20000, 0x090a30001, @@ -3349,7 +3350,7 @@ ulong bootcode[]={ 0x024650001, 0x0acc50010, 0x08cc3000c, - 0x008000f2c, + 0x008000f2d, 0x000a32821, 0x020030047, 0x01043001d, @@ -3371,7 +3372,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20002, 0x090a20000, 0x090a30001, @@ -3380,7 +3381,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20002, 0x090a20000, 0x090a30001, @@ -3397,7 +3398,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0acc2000c, 0x090a20000, 0x090a30001, @@ -3406,7 +3407,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20002, 0x02003004e, 0x00062202a, @@ -3440,10 +3441,10 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x020020074, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, - 0x008000f2c, + 0x008000f2d, 0x024650074, 0x090a20000, 0x090a30001, @@ -3452,7 +3453,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20002, 0x090a20000, 0x090a30001, @@ -3461,7 +3462,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20002, 0x090a20000, 0x090a30001, @@ -3476,10 +3477,10 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x020020074, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, - 0x008000f2c, + 0x008000f2d, 0x024650074, 0x02003004f, 0x010430025, @@ -3515,10 +3516,10 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02002001c, - 0x00c00189a, + 0x00c00189b, 0x0afa2000c, 0x08fa30010, - 0x008000f2c, + 0x008000f2d, 0x02465001c, 0x090a20000, 0x090a30001, @@ -3527,7 +3528,7 @@ ulong bootcode[]={ 0x000031a00, 0x000431025, 0x024a50002, - 0x008000f2c, + 0x008000f2d, 0x0a4c20002, 0x023bdffec, 0x0afbf0000, @@ -3538,7 +3539,7 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02003001c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x08fa3001c, @@ -3548,7 +3549,7 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02003001c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa20010, 0x08fa3001c, @@ -3558,7 +3559,7 @@ ulong bootcode[]={ 0x0afa50010, 0x0afa50008, 0x02003001c, - 0x00c00189a, + 0x00c00189b, 0x0afa3000c, 0x08fa5001c, 0x08fa20010, @@ -3689,7 +3690,7 @@ ulong bootcode[]={ 0x000022e00, 0x000052e03, 0x014600003, - 0x023c68146, + 0x023c6814a, 0x003e00008, 0x020010001, 0x000051e00, @@ -3706,7 +3707,7 @@ ulong bootcode[]={ 0x000021603, 0x000461021, 0x080420000, - 0x023c381c6, + 0x023c381ca, 0x000021600, 0x000021603, 0x000021080, @@ -3722,7 +3723,7 @@ ulong bootcode[]={ 0x08fc2805e, 0x000000027, 0x0afa2001c, - 0x08fc380da, + 0x08fc380de, 0x000000027, 0x0afa30018, 0x08fac0038, @@ -3731,7 +3732,7 @@ ulong bootcode[]={ 0x08fa3003c, 0x000000027, 0x02463ffff, - 0x0afc380da, + 0x0afc380de, 0x000062825, 0x080a50000, 0x020020025, @@ -3741,7 +3742,7 @@ ulong bootcode[]={ 0x024c60001, 0x014a00012, 0x000000027, - 0x08fc380da, + 0x08fc380de, 0x000000027, 0x00183202b, 0x014800002, @@ -3753,12 +3754,12 @@ ulong bootcode[]={ 0x0afc3805e, 0x08fa20018, 0x000000027, - 0x0afc280da, + 0x0afc280de, 0x08fa20000, 0x023bd0034, 0x000400008, 0x0000c0825, - 0x08fc380da, + 0x08fc380de, 0x000000027, 0x00183202b, 0x010800005, @@ -3767,25 +3768,25 @@ ulong bootcode[]={ 0x0258c0001, 0x0afcc805e, 0x0a0450000, - 0x08fc280de, + 0x08fc280e2, 0x000000027, 0x024420001, - 0x0afc280de, + 0x0afc280e2, 0x02002000a, 0x014a20003, 0x000000027, - 0x008001295, - 0x0afc080de, + 0x008001296, + 0x0afc080e2, 0x020020009, 0x014a2ffd2, 0x000000027, - 0x08fc380de, + 0x08fc380e2, 0x000000027, 0x024630007, 0x0201cfff8, 0x0007c1824, - 0x008001295, - 0x0afc380de, + 0x008001296, + 0x0afc380e2, 0x02007fc18, 0x0200bfc18, 0x000005025, @@ -3798,7 +3799,7 @@ ulong bootcode[]={ 0x000052e03, 0x014a00003, 0x000000027, - 0x008001295, + 0x008001296, 0x024c6ffff, 0x02002002e, 0x014a20007, @@ -3807,7 +3808,7 @@ ulong bootcode[]={ 0x014e20002, 0x000000027, 0x000003825, - 0x0080012ce, + 0x0080012cf, 0x000005825, 0x028a20031, 0x014400025, @@ -3829,11 +3830,11 @@ ulong bootcode[]={ 0x000000027, 0x014a0ffe4, 0x000083825, - 0x008001295, + 0x008001296, 0x024c6ffff, 0x014a0ffe0, 0x000085825, - 0x008001295, + 0x008001296, 0x024c6ffff, 0x02002000a, 0x001020018, @@ -3846,7 +3847,7 @@ ulong bootcode[]={ 0x000000027, 0x000052e00, 0x000052e03, - 0x0080012ea, + 0x0080012eb, 0x02468ffd0, 0x020030030, 0x014a30006, @@ -3854,7 +3855,7 @@ ulong bootcode[]={ 0x02003fc18, 0x010e30003, 0x000000027, - 0x0080012e9, + 0x0080012ea, 0x000000027, 0x02002002a, 0x014a20009, @@ -3863,9 +3864,9 @@ ulong bootcode[]={ 0x02002fc18, 0x014e20003, 0x025290004, - 0x0080012ce, + 0x0080012cf, 0x000053825, - 0x0080012ce, + 0x0080012cf, 0x000055825, 0x030a5007f, 0x0afa90044, @@ -3877,10 +3878,10 @@ ulong bootcode[]={ 0x0afaa0028, 0x0afaa0010, 0x0afa50014, - 0x023c28146, + 0x023c2814a, 0x000451021, 0x080420000, - 0x023c381c6, + 0x023c381ca, 0x000021600, 0x000021603, 0x000021080, @@ -3898,9 +3899,9 @@ ulong bootcode[]={ 0x000000027, 0x08fa40028, 0x000011023, - 0x0080012ce, + 0x0080012cf, 0x000825025, - 0x008001295, + 0x008001296, 0x001214821, 0x023bdfff0, 0x0afbf0000, @@ -3918,13 +3919,13 @@ ulong bootcode[]={ 0x0afa30004, 0x0afa40008, 0x08fa3001c, - 0x00c001432, + 0x00c001433, 0x0afa3000c, 0x08fa20000, 0x000000027, 0x000400008, 0x023bd0010, - 0x00800134a, + 0x00800134b, 0x000042023, 0x023bdffa8, 0x0afbf0000, @@ -4017,7 +4018,7 @@ ulong bootcode[]={ 0x02002fc18, 0x0afa30008, 0x0afa2000c, - 0x00c00133f, + 0x00c001340, 0x0afa70010, 0x08fa10028, 0x08fa20000, @@ -4036,12 +4037,12 @@ ulong bootcode[]={ 0x024a5ffff, 0x001651021, 0x020040030, - 0x0080013a6, + 0x0080013a7, 0x0a0440000, 0x024a5ffff, 0x001651021, 0x020040078, - 0x0080013c2, + 0x0080013c3, 0x0a0440000, 0x030e30040, 0x01060001e, @@ -4063,27 +4064,27 @@ ulong bootcode[]={ 0x000000027, 0x01d000003, 0x000000027, - 0x008001397, + 0x008001398, 0x000000027, 0x01d400003, 0x000000027, - 0x008001397, + 0x008001398, 0x000000027, 0x030e20040, 0x01440ffa0, 0x024a5ffff, 0x00149001b, - 0x00800138c, + 0x00800138d, 0x000003010, 0x00149001b, - 0x0080013d3, + 0x0080013d4, 0x000005012, 0x0200d0001, - 0x008001384, + 0x008001385, 0x0000a5023, 0x08caa0000, 0x020030004, - 0x00800137f, + 0x008001380, 0x0afa30028, 0x08ca20000, 0x000000027, @@ -4095,15 +4096,15 @@ ulong bootcode[]={ 0x000031c03, 0x020020004, 0x0afa20028, - 0x00800137f, + 0x008001380, 0x000035025, 0x08caa0000, 0x020030004, - 0x00800137f, + 0x008001380, 0x0afa30028, 0x08caa0000, 0x020030004, - 0x00800137f, + 0x008001380, 0x0afa30028, 0x020030030, 0x01043000a, @@ -4111,11 +4112,11 @@ ulong bootcode[]={ 0x020030048, 0x010430003, 0x000000027, - 0x00800137c, + 0x00800137d, 0x000000027, 0x08ca80000, 0x020030004, - 0x00800137f, + 0x008001380, 0x0afa30028, 0x08ca30000, 0x000000027, @@ -4125,14 +4126,14 @@ ulong bootcode[]={ 0x03042ffff, 0x020030004, 0x0afa30028, - 0x00800137f, + 0x008001380, 0x000025025, - 0x00800136c, + 0x00800136d, 0x02009000a, 0x0200e0001, - 0x00800136c, + 0x00800136d, 0x020090010, - 0x00800136c, + 0x00800136d, 0x020090008, 0x020030075, 0x011230006, @@ -4140,20 +4141,20 @@ ulong bootcode[]={ 0x020030078, 0x01123fff7, 0x000000027, - 0x00800136c, + 0x00800136d, 0x000000027, 0x02009000a, - 0x00800136c, + 0x00800136d, 0x034e70020, 0x023bdfff0, 0x0afbf0000, 0x08fa30014, - 0x00c000a3b, + 0x00c000a3c, 0x0afa30004, 0x08fac0014, 0x08faa0018, - 0x08fc980da, - 0x08fc880de, + 0x08fc980de, + 0x08fc880e2, 0x08fa7001c, 0x08fc6805e, 0x02002fc18, @@ -4173,7 +4174,7 @@ ulong bootcode[]={ 0x000000027, 0x01ce00003, 0x000000027, - 0x008001442, + 0x008001443, 0x000000027, 0x000c9202b, 0x010800005, @@ -4185,13 +4186,13 @@ ulong bootcode[]={ 0x025080001, 0x02002000a, 0x015620008, - 0x0afc880de, + 0x0afc880e2, 0x000004025, - 0x0afc080de, + 0x0afc080e2, 0x02003fc18, 0x010e3ffe3, 0x000000027, - 0x008001442, + 0x008001443, 0x024e7ffff, 0x020020009, 0x01562fff9, @@ -4201,8 +4202,8 @@ ulong bootcode[]={ 0x0007c4024, 0x02003fc18, 0x010e3ffd8, - 0x0afc880de, - 0x008001442, + 0x0afc880e2, + 0x008001443, 0x024e7ffff, 0x02002fc18, 0x011420003, @@ -4227,8 +4228,8 @@ ulong bootcode[]={ 0x0a0640000, 0x025080001, 0x024a50001, - 0x008001477, - 0x0afc880de, + 0x008001478, + 0x0afc880e2, 0x000aa202a, 0x01080ffba, 0x000000027, @@ -4242,8 +4243,8 @@ ulong bootcode[]={ 0x0a0440000, 0x025080001, 0x024a50001, - 0x008001486, - 0x0afc880de, + 0x008001487, + 0x0afc880e2, 0x023bdffec, 0x0afbf0000, 0x02002002a, @@ -4257,7 +4258,7 @@ ulong bootcode[]={ 0x0afa30004, 0x0afa00008, 0x02002fc18, - 0x00c001432, + 0x00c001433, 0x0afa2000c, 0x08fa20000, 0x023bd0014, @@ -4275,7 +4276,7 @@ ulong bootcode[]={ 0x08fa3001c, 0x02002fc18, 0x0afa30008, - 0x00c001432, + 0x00c001433, 0x0afa2000c, 0x08fa20000, 0x023bd0014, @@ -4295,14 +4296,14 @@ ulong bootcode[]={ 0x000000027, 0x0afa3000c, 0x08fa20024, - 0x00c00133f, + 0x00c001340, 0x0afa20010, 0x08fa20000, 0x023bd0014, 0x000400008, 0x020010004, 0x08fc5805e, - 0x08fc280da, + 0x08fc280de, 0x000000027, 0x000a2202b, 0x010800005, @@ -4369,18 +4370,18 @@ ulong bootcode[]={ 0x0e7a6004c, 0x0e7a70004, 0x0e7a60008, - 0x00c001911, + 0x00c001912, 0x000000027, 0x01020000e, 0x000000027, - 0x023c2812e, + 0x023c28132, 0x0afa20004, 0x08fa300a8, 0x02002fc18, 0x0afa30008, 0x0afa2000c, 0x08fa300b0, - 0x00c00133f, + 0x00c001340, 0x0afa30010, 0x08fa20000, 0x023bd00a0, @@ -4391,18 +4392,18 @@ ulong bootcode[]={ 0x020030001, 0x0e7a10004, 0x0e7a00008, - 0x00c001941, + 0x00c001942, 0x0afa3000c, 0x01020000e, 0x000000027, - 0x023c28132, + 0x023c28136, 0x0afa20004, 0x08fa300a8, 0x02002fc18, 0x0afa30008, 0x0afa2000c, 0x08fa300b0, - 0x00c00133f, + 0x00c001340, 0x0afa30010, 0x08fa20000, 0x023bd00a0, @@ -4413,21 +4414,21 @@ ulong bootcode[]={ 0x02003ffff, 0x0e7a10004, 0x0e7a00008, - 0x00c001941, + 0x00c001942, 0x0afa3000c, 0x08fad00b4, 0x08fac00ac, 0x023a90050, 0x01020000e, 0x023ae0078, - 0x023c28137, + 0x023c2813b, 0x0afa20004, 0x08fa300a8, 0x02002fc18, 0x0afa30008, 0x0afa2000c, 0x08fa300b0, - 0x00c00133f, + 0x00c001340, 0x0afa30010, 0x08fa20000, 0x023bd00a0, @@ -4471,14 +4472,14 @@ ulong bootcode[]={ 0x023a20034, 0x0e7a10004, 0x0e7a00008, - 0x00c001813, + 0x00c001814, 0x0afa2000c, 0x08fa20034, 0x04444f800, 0x044821000, 0x034850003, - 0x0c7c580d2, - 0x0c7c480d6, + 0x0c7c580d6, + 0x0c7c480da, 0x0468010a1, 0x046241002, 0x038a50002, @@ -4495,7 +4496,7 @@ ulong bootcode[]={ 0x000023043, 0x0afa60030, 0x000061023, - 0x00c0017be, + 0x00c0017bf, 0x0afa20004, 0x0c7a30048, 0x0c7a2004c, @@ -4507,7 +4508,7 @@ ulong bootcode[]={ 0x08fa30034, 0x000000027, 0x000431023, - 0x00c0017be, + 0x00c0017bf, 0x0afa20004, 0x08fad00b4, 0x023ae0078, @@ -4530,7 +4531,7 @@ ulong bootcode[]={ 0x08fa30034, 0x000000027, 0x000431023, - 0x00c0017be, + 0x00c0017bf, 0x0afa20004, 0x08fad00b4, 0x08fac00ac, @@ -4539,10 +4540,10 @@ ulong bootcode[]={ 0x0c7a2003c, 0x000000027, 0x046201182, - 0x0080015a7, + 0x0080015a8, 0x023ae0078, - 0x0c7c180e2, - 0x0c7c080e6, + 0x0c7c180e6, + 0x0c7c080ea, 0x000000027, 0x04626003e, 0x000000027, @@ -4556,7 +4557,7 @@ ulong bootcode[]={ 0x08fa30034, 0x000000027, 0x000431023, - 0x00c0017be, + 0x00c0017bf, 0x0afa20004, 0x08fad00b4, 0x08fac00ac, @@ -4565,7 +4566,7 @@ ulong bootcode[]={ 0x0c7a2003c, 0x000000027, 0x046201182, - 0x0080015be, + 0x0080015bf, 0x023ae0078, 0x02003fc18, 0x015830002, @@ -4600,7 +4601,7 @@ ulong bootcode[]={ 0x0200cffff, 0x0afac00ac, 0x0200d0065, - 0x00800156b, + 0x00800156c, 0x0afad00b4, 0x0c7a70048, 0x0c7a6004c, @@ -4614,7 +4615,7 @@ ulong bootcode[]={ 0x08fa30034, 0x02002ffff, 0x000431023, - 0x00c0017be, + 0x00c0017bf, 0x0afa20004, 0x08fad00b4, 0x023ae0078, @@ -4636,7 +4637,7 @@ ulong bootcode[]={ 0x000671823, 0x004600134, 0x0afa7002c, - 0x00c0017be, + 0x00c0017bf, 0x0afa30004, 0x0c7a30040, 0x0c7a20044, @@ -4645,7 +4646,7 @@ ulong bootcode[]={ 0x046201083, 0x0e7a30004, 0x0e7a20008, - 0x00c00177c, + 0x00c00177d, 0x000000027, 0x08fad00b4, 0x023ae0078, @@ -4703,7 +4704,7 @@ ulong bootcode[]={ 0x024e70001, 0x02484fff6, 0x0a0440001, - 0x00800164e, + 0x00800164f, 0x024c6ffff, 0x010e00007, 0x0200b0001, @@ -4771,7 +4772,7 @@ ulong bootcode[]={ 0x020030030, 0x0a0430000, 0x024e7ffff, - 0x008001695, + 0x008001696, 0x024c60001, 0x019000013, 0x000000027, @@ -4791,7 +4792,7 @@ ulong bootcode[]={ 0x0256b0001, 0x0a0430000, 0x02508ffff, - 0x0080016a6, + 0x0080016a7, 0x024c60001, 0x08fa300b0, 0x000000027, @@ -4820,7 +4821,7 @@ ulong bootcode[]={ 0x0afa30008, 0x0afa2000c, 0x08fa300b0, - 0x00c00133f, + 0x00c001340, 0x0afa30010, 0x08fa20000, 0x023bd00a0, @@ -4876,19 +4877,19 @@ ulong bootcode[]={ 0x000001810, 0x024630030, 0x0a0430000, - 0x0080016cd, + 0x0080016ce, 0x024c60001, 0x000061825, 0x001231021, 0x02003002b, 0x0a0430000, - 0x0080016ee, + 0x0080016ef, 0x024c60001, 0x000061025, 0x001221821, 0x020020065, 0x0a0620000, - 0x0080016e4, + 0x0080016e5, 0x024c60001, 0x020030067, 0x011a30006, @@ -4896,7 +4897,7 @@ ulong bootcode[]={ 0x020030068, 0x011a30003, 0x000000027, - 0x0080016c7, + 0x0080016c8, 0x000000027, 0x024c7ffff, 0x004e00006, @@ -4916,11 +4917,11 @@ ulong bootcode[]={ 0x000000027, 0x01107ff93, 0x000073025, - 0x0080016c7, + 0x0080016c8, 0x024c60001, - 0x00800172c, + 0x00800172d, 0x02508ffff, - 0x008001724, + 0x008001725, 0x024e7ffff, 0x08fa30034, 0x02002ffff, @@ -4930,7 +4931,7 @@ ulong bootcode[]={ 0x000003825, 0x08fa30034, 0x0200d0068, - 0x008001682, + 0x008001683, 0x001835023, 0x08fa200b0, 0x000000027, @@ -4941,17 +4942,17 @@ ulong bootcode[]={ 0x001221821, 0x02002002b, 0x0a0620000, - 0x008001673, + 0x008001674, 0x024c60001, - 0x0c7c180e2, - 0x0c7c080e6, + 0x0c7c180e6, + 0x0c7c080ea, 0x000000027, 0x046203182, 0x0e7a70040, 0x0e7a60044, 0x0e7a70004, 0x0e7a60008, - 0x00c00177c, + 0x00c00177d, 0x000000027, 0x08fad00b4, 0x023ae0078, @@ -4978,14 +4979,14 @@ ulong bootcode[]={ 0x046222181, 0x0e7a70040, 0x0e7a60044, - 0x008001645, + 0x008001646, 0x000000027, - 0x0080015e1, + 0x0080015e2, 0x0258cffff, 0x020020001, 0x0afa20014, 0x025ad0020, - 0x00800156b, + 0x00800156c, 0x0afad00b4, 0x023bdffe8, 0x0afbf0000, @@ -5002,7 +5003,7 @@ ulong bootcode[]={ 0x04624c081, 0x0e7a30004, 0x0e7a20008, - 0x00c001861, + 0x00c001862, 0x0afa2000c, 0x04620c032, 0x000000027, @@ -5031,7 +5032,7 @@ ulong bootcode[]={ 0x023a2001c, 0x0e7a30004, 0x0e7a20008, - 0x00c001861, + 0x00c001862, 0x0afa2000c, 0x0c7a1001c, 0x0c7a00020, @@ -5047,7 +5048,7 @@ ulong bootcode[]={ 0x04624c081, 0x0e7a30004, 0x0e7a20008, - 0x00c00177c, + 0x00c00177d, 0x000000027, 0x08fa20000, 0x023bd000c, @@ -5060,7 +5061,7 @@ ulong bootcode[]={ 0x004810008, 0x000000027, 0x000041023, - 0x00c0017be, + 0x00c0017bf, 0x0afa20004, 0x08fa20000, 0x023bd0014, @@ -5081,12 +5082,12 @@ ulong bootcode[]={ 0x000042843, 0x0afa50010, 0x000851823, - 0x00c0017be, + 0x00c0017bf, 0x0afa30004, 0x0e7a10008, 0x0e7a0000c, 0x08fa20010, - 0x00c0017be, + 0x00c0017bf, 0x0afa20004, 0x0c7a30008, 0x0c7a2000c, @@ -5241,7 +5242,7 @@ ulong bootcode[]={ 0x00045202a, 0x014800013, 0x000000027, - 0x08fc3813e, + 0x08fc38142, 0x08fa40008, 0x000a31807, 0x0201cffff, @@ -5263,7 +5264,7 @@ ulong bootcode[]={ 0x00065202a, 0x01480fff3, 0x000000027, - 0x08fc38142, + 0x08fc38146, 0x024a2ffea, 0x000431007, 0x0201cffff, @@ -5271,7 +5272,7 @@ ulong bootcode[]={ 0x08fa4000c, 0x000000027, 0x000821024, - 0x008001882, + 0x008001883, 0x0afa2000c, 0x08fa3000c, 0x08fa40004, @@ -5381,7 +5382,7 @@ ulong bootcode[]={ 0x000000027, 0x0a0c8ffff, 0x024c6ffff, - 0x008001900, + 0x008001901, 0x024e7ffff, 0x023bdfff4, 0x03c027ff0, @@ -5411,7 +5412,7 @@ ulong bootcode[]={ 0x000000825, 0x0e7a50004, 0x0e7a40008, - 0x00c001941, + 0x00c001942, 0x0afa0000c, 0x014200005, 0x000000027, @@ -5483,6 +5484,7 @@ ulong bootcode[]={ 0x000000825, 0x000000000, 0x000000000, + 0x000000000, 0x07072696e, 0x074206572, 0x0726f7273, @@ -5516,23 +5518,24 @@ ulong bootcode[]={ 0x005f5e100, 0x03b9aca00, 0x000000000, - 0x00000723c, - 0x000007241, - 0x000007256, - 0x00000725d, - 0x000007272, - 0x000007278, - 0x00000728d, - 0x000007295, - 0x0000072aa, + 0x000007240, + 0x000007245, + 0x00000725a, + 0x000007261, + 0x000007276, + 0x00000727c, + 0x000007291, + 0x000007299, 0x0000072ae, - 0x0000072c3, - 0x0000072ca, + 0x0000072b2, + 0x0000072c7, + 0x0000072ce, 0x000000000, 0x000000000, 0x000000000, 0x000000007, 0x000000000, + 0x000000000, 0x03fd34413, 0x055475a32, 0x000000000, @@ -5594,13 +5597,13 @@ ulong bootcode[]={ 0x000010000, 0x002000000, 0x000000000, - 0x000005254, - 0x000005368, - 0x000004d5c, - 0x00000541c, - 0x0000052a0, - 0x0000052e8, - 0x000005338, + 0x000005258, + 0x00000536c, + 0x000004d60, + 0x000005420, + 0x0000052a4, + 0x0000052ec, + 0x00000533c, 0x000000000, 0x000000000, 0x000000000, @@ -5980,7 +5983,8 @@ ulong bootcode[]={ 0x065617365, 0x020726562, 0x06f6f7400, - 0x000000000, - 0x00005d78, + 0x00005d80, + 0x0, + 0x00005d80, 0x0, }; diff --git a/power/clock.c b/power/clock.c index 04b6387efc6653feb29e956c159c5b4b07c16e0f..79d0187b7dc7e202c240c1b420b3488d20ca41d6 100644 --- a/power/clock.c +++ b/power/clock.c @@ -115,8 +115,11 @@ clock(Ureg *ur) else sched(); } - if(u->nnote && (ur->status&KUP)) - notify(ur); + if(ur->status & KUP){ + (*(ulong*)(USTKTOP-BY2WD)) += TK2MS(1); /* profiling clock */ + if(u->nnote) + notify(ur); + } } return; } diff --git a/power/main.c b/power/main.c index 006d0c02d7564128ba35a6ce5935efb68c22bf41..1dce208ce966b886a03dc6cb713e6ac9bac59a79 100644 --- a/power/main.c +++ b/power/main.c @@ -261,7 +261,7 @@ userinit(void) * Kernel Stack */ p->sched.pc = (ulong)init0; - p->sched.sp = USERADDR+BY2PG-20; + p->sched.sp = USERADDR+BY2PG-24; /* BUG */ p->upage = newpage(0, 0, USERADDR|(p->pid&0xFFFF)); /* @@ -381,72 +381,6 @@ exit(void) firmware(); } -/* - * Insert new into list after where - */ -void -insert(List **head, List *where, List *new) -{ - if(where == 0){ - new->next = *head; - *head = new; - }else{ - new->next = where->next; - where->next = new; - } - -} - -/* - * Insert new into list at end - */ -void -append(List **head, List *new) -{ - List *where; - - where = *head; - if(where == 0) - *head = new; - else{ - while(where->next) - where = where->next; - where->next = new; - } - new->next = 0; -} - -/* - * Delete old from list - */ -void -delete0(List **head, List *old) -{ - List *l; - - l = *head; - if(l == old){ - *head = old->next; - return; - } - while(l->next != old) - l = l->next; - l->next = old->next; -} - -/* - * Delete old from list. where->next is known to be old. - */ -void -delete(List **head, List *where, List *old) -{ - if(where == 0){ - *head = old->next; - return; - } - where->next = old->next; -} - typedef struct Conftab { char *sym; ulong *x; diff --git a/power/trap.c b/power/trap.c index 02907cb49add127e49860ea25d917075663af37e..37c57d49757420090862242b6ee887b88e762aac 100644 --- a/power/trap.c +++ b/power/trap.c @@ -449,7 +449,7 @@ noted(Ureg **urp) #undef CHDIR /* BUG */ -#include "/sys/src/libc/mips9sys/sys.h" +#include "/sys/src/libc/9syscall/sys.h" typedef long Syscall(ulong*); Syscall sysbind, sysbrk_, syschdir, sysclose, syscreate, sysdeath; @@ -542,11 +542,13 @@ syscall(Ureg *aur) msg = "sys: odd stack"; goto Bad; } - if(((ulong*)ur->pc)[-2] != 0x23bdfffc) /* new calling convention: look for ADD $-4, SP */ - sp -= BY2WD; - if(sp<(USTKTOP-BY2PG) || sp>(USTKTOP-5*BY2WD)) - validaddr(sp, 5*BY2WD, 0); - ret = (*systab[r1])((ulong*)(sp+2*BY2WD)); + if(((ulong*)ur->pc)[-2] == 0x23bdfffc){ /* old calling convention: look for ADD $-4, SP */ + pprint("old system call linkage; recompile\n"); + sp += BY2WD; + } + if(sp<(USTKTOP-BY2PG) || sp>(USTKTOP-6*BY2WD)) + validaddr(sp, 6*BY2WD, 0); + ret = (*systab[r1])((ulong*)(sp+BY2WD)); } ur->pc += 4; u->nerrlab = 0; @@ -571,28 +573,6 @@ execpc(ulong entry) ((Ureg*)UREGADDR)->pc = entry - 4; /* syscall advances it */ } -#include "errstr.h" - -void -error(int code) -{ - strncpy(u->error, errstrtab[code], ERRLEN); - nexterror(); -} - -void -errors(char *err) -{ - strncpy(u->error, err, ERRLEN); - nexterror(); -} - -void -nexterror(void) -{ - gotolabel(&u->errlab[--u->nerrlab]); -} - void novme(int v) { diff --git a/ss/main.c b/ss/main.c index ae9c544c40d8f473c4da311f49a58fc29377070e..9e4f980d175d64117e6f71739c78050c45073864 100644 --- a/ss/main.c +++ b/ss/main.c @@ -182,72 +182,6 @@ exit(void) reset(); } -/* - * Insert new into list after where - */ -void -insert(List **head, List *where, List *new) -{ - if(where == 0){ - new->next = *head; - *head = new; - }else{ - new->next = where->next; - where->next = new; - } - -} - -/* - * Insert new into list at end - */ -void -append(List **head, List *new) -{ - List *where; - - where = *head; - if(where == 0) - *head = new; - else{ - while(where->next) - where = where->next; - where->next = new; - } - new->next = 0; -} - -/* - * Delete old from list - */ -void -delete0(List **head, List *old) -{ - List *l; - - l = *head; - if(l == old){ - *head = old->next; - return; - } - while(l->next != old) - l = l->next; - l->next = old->next; -} - -/* - * Delete old from list. where->next is known to be old. - */ -void -delete(List **head, List *where, List *old) -{ - if(where == 0){ - *head = old->next; - return; - } - where->next = old->next; -} - Conf conf; void diff --git a/ss/screen.h b/ss/screen.h index de51fd5b8b1ad916ffd7684fb90b38b52bf9fea4..059a4a097c290de755713b7682bc7175c6d45b40 100644 --- a/ss/screen.h +++ b/ss/screen.h @@ -27,3 +27,5 @@ extern Mouseinfo mouse; extern Cursorinfo cursor; extern void mouseupdate(int); +#define kbitblt gbitblt +#define ubitblt gbitblt diff --git a/ss/trap.c b/ss/trap.c index a692befe12d86ac85ef9aced5a720775b6ad5fd3..3a025c73d1c45f203a72c81ad64820660b57330a 100644 --- a/ss/trap.c +++ b/ss/trap.c @@ -264,7 +264,7 @@ noted(Ureg **urp) } #undef CHDIR /* BUG */ -#include "/sys/src/libc/sparc9sys/sys.h" +#include "/sys/src/libc/9syscall/sys.h" typedef long Syscall(ulong*); Syscall sysr1, sysfork, sysexec, sysgetpid, syssleep, sysexits, sysdeath, syswait; @@ -378,26 +378,3 @@ execpc(ulong entry) { ((Ureg*)UREGADDR)->pc = entry - 4; /* syscall advances it */ } - -#include "errstr.h" - -void -error(int code) -{ - strncpy(u->error, errstrtab[code], ERRLEN); - nexterror(); -} - -void -errors(char *err) -{ - strncpy(u->error, err, ERRLEN); - nexterror(); -} - - -void -nexterror(void) -{ - gotolabel(&u->errlab[--u->nerrlab]); -}