“spelling” ??? sl Begin forwarded message: > From: The Computer > Date: July 24, 2018 at 3:32:15 AM EDT > To: 9front-commits@9front.org > Subject: [9front-commits] 23hiro: hg/plan9front: spelling > Reply-To: 9front-commits@9front.org > > details: http://code.9front.org/hg/plan9front/rev/57022f22e3f0 > changeset: 6645:57022f22e3f0 > user: 23hiro@gmail.com > date: Tue Jul 24 09:04:50 2018 +0200 > description: spelling > > Subject: 23hiro: hg/plan9front: merge > > details: http://code.9front.org/hg/plan9front/rev/cbf36e85095a > changeset: 6646:cbf36e85095a > user: 23hiro@gmail.com > date: Tue Jul 24 09:17:11 2018 +0200 > description: merge > > > diffstat: > > sys/man/6/authsrv | 2 +- > sys/src/9/pc/archacpi.c | 2 +- > sys/src/9/pc/archmp.c | 2 +- > sys/src/9/pc/bios32.c | 4 +- > sys/src/9/pc/fns.h | 3 +- > sys/src/9/pc/memory.c | 84 ++++++++++++++++++++++++++++++++++++------- > sys/src/9/pc/pci.c | 2 +- > sys/src/9/pc64/fns.h | 3 +- > sys/src/9/pc64/memory.c | 84 +++++++++++++++++++++++++++++++++++-------- > sys/src/9/port/devmnt.c | 3 + > sys/src/9/port/devmouse.c | 4 +- > sys/src/cmd/ndb/dnserver.c | 52 ++++++++++++++------------- > sys/src/cmd/ssh.c | 4 +- > sys/src/cmd/vnc/devmouse.c | 2 +- > sys/src/games/dmid.c | 19 +++++---- > sys/src/games/doom/d_main.c | 5 ++ > sys/src/games/doom/i_sound.c | 10 +---- > sys/src/libdraw/event.c | 4 +- > sys/src/libdraw/mouse.c | 2 +- > 19 files changed, 202 insertions(+), 89 deletions(-) > > diffs (truncated from 661 to 300 lines): > > diff --git a/sys/man/6/authsrv b/sys/man/6/authsrv > --- a/sys/man/6/authsrv > +++ b/sys/man/6/authsrv > @@ -293,7 +293,7 @@ Initially, the server and client keys > .I Ks > and > .I Kc > -where equivalent to the password derived 56-bit DES keys, which > +were equivalent to the password derived 56-bit DES keys, which > made the encrypted tickets subject to offline dictionary attacks > and provided too small a key space against brute force attacks > on current hardware. > diff --git a/sys/src/9/pc/archacpi.c b/sys/src/9/pc/archacpi.c > --- a/sys/src/9/pc/archacpi.c > +++ b/sys/src/9/pc/archacpi.c > @@ -788,7 +788,7 @@ identify(void) > return 1; > pa = (uintptr)strtoull(cp, nil, 16); > if(pa <= 1) > - rsd = sigsearch("RSD PTR "); > + rsd = rsdsearch(); > else if(pa < MemMin) > rsd = KADDR(pa); > else > diff --git a/sys/src/9/pc/archmp.c b/sys/src/9/pc/archmp.c > --- a/sys/src/9/pc/archmp.c > +++ b/sys/src/9/pc/archmp.c > @@ -395,7 +395,7 @@ identify(void) > * if correct, check the version. > * To do: check extended table checksum. > */ > - if((_mp_ = sigsearch("_MP_")) == nil || checksum(_mp_, _MP_sz) != 0 || _mp_->physaddr == 0) > + if((_mp_ = sigsearch("_MP_", _MP_sz)) == nil || _mp_->physaddr == 0) > return 1; > > len = PCMPsz; > diff --git a/sys/src/9/pc/bios32.c b/sys/src/9/pc/bios32.c > --- a/sys/src/9/pc/bios32.c > +++ b/sys/src/9/pc/bios32.c > @@ -54,9 +54,7 @@ bios32locate(void) > BIOS32sdh *sdh; > > VFLAG("bios32link\n"); > - if((sdh = sigsearch("_32_")) == nil) > - return -1; > - if(checksum(sdh, sizeof(BIOS32sdh))) > + if((sdh = sigsearch("_32_", sizeof(BIOS32sdh))) == nil) > return -1; > VFLAG("sdh @ %#p, entry %#ux\n", sdh, l32get(sdh->physaddr)); > > diff --git a/sys/src/9/pc/fns.h b/sys/src/9/pc/fns.h > --- a/sys/src/9/pc/fns.h > +++ b/sys/src/9/pc/fns.h > @@ -171,10 +171,11 @@ void putdr7(u32int); > void* rampage(void); > int rdmsr(int, vlong*); > void realmode(Ureg*); > +void* rsdsearch(void); > void screeninit(void); > void (*screenputs)(char*, int); > void setconfenv(void); > -void* sigsearch(char*); > +void* sigsearch(char*, int); > void syncclock(void); > void* tmpmap(Page*); > void tmpunmap(void*); > diff --git a/sys/src/9/pc/memory.c b/sys/src/9/pc/memory.c > --- a/sys/src/9/pc/memory.c > +++ b/sys/src/9/pc/memory.c > @@ -21,8 +21,9 @@ enum { > MemUPA = 0, /* unbacked physical address */ > MemRAM = 1, /* physical memory */ > MemUMB = 2, /* upper memory block (<16MB) */ > - MemReserved = 3, > - NMemType = 4, > + MemACPI = 3, /* ACPI tables */ > + MemReserved = 4, > + NMemType = 5, > > KB = 1024, > > @@ -75,6 +76,13 @@ static RMap rmapumbrw = { > &mapumbrw[nelem(mapumbrw)-1], > }; > > +static Map mapacpi[16]; > +static RMap rmapacpi = { > + "ACPI tables", > + mapacpi, > + &mapacpi[nelem(mapacpi)-1], > +}; > + > void > mapprint(RMap *rmap) > { > @@ -101,6 +109,7 @@ memdebug(void) > mapprint(&rmapumb); > mapprint(&rmapumbrw); > mapprint(&rmapupa); > + mapprint(&rmapacpi); > } > > static void > @@ -327,16 +336,20 @@ checksum(void *v, int n) > } > > static void* > -sigscan(uchar* addr, int len, char* signature) > +sigscan(uchar *addr, int len, char *sig, int size, int step) > { > + uchar *e, *p; > int sl; > - uchar *e, *p; > > - e = addr+len; > - sl = strlen(signature); > - for(p = addr; p+sl < e; p += 16) > - if(memcmp(p, signature, sl) == 0) > - return p; > + sl = strlen(sig); > + e = addr+len-(size > sl ? size : sl); > + for(p = addr; p <= e; p += step){ > + if(memcmp(p, sig, sl) != 0) > + continue; > + if(size && checksum(p, size) != 0) > + continue; > + return p; > + } > return nil; > } > > @@ -359,7 +372,7 @@ convmemsize(void) > } > > void* > -sigsearch(char* signature) > +sigsearch(char* signature, int size) > { > uintptr p; > uchar *bda; > @@ -376,18 +389,44 @@ sigsearch(char* signature) > bda = KADDR(0x400); > if(memcmp(KADDR(0xfffd9), "EISA", 4) == 0){ > if((p = (bda[0x0f]<<8)|bda[0x0e]) != 0){ > - if((r = sigscan(KADDR(p<<4), 1024, signature)) != nil) > + if((r = sigscan(KADDR(p<<4), 1024, signature, size, 16)) != nil) > return r; > } > } > - if((r = sigscan(KADDR(convmemsize()), 1024, signature)) != nil) > + if((r = sigscan(KADDR(convmemsize()), 1024, signature, size, 16)) != nil) > return r; > > /* hack for virtualbox: look in KiB below 0xa0000 */ > - if((r = sigscan(KADDR(0xa0000-1024), 1024, signature)) != nil) > + if((r = sigscan(KADDR(0xa0000-1024), 1024, signature, size, 16)) != nil) > return r; > > - return sigscan(KADDR(0xe0000), 0x20000, signature); > + return sigscan(KADDR(0xe0000), 0x20000, signature, size, 16); > +} > + > +void* > +rsdsearch(void) > +{ > + static char signature[] = "RSD PTR "; > + uchar *v, *p; > + Map *m; > + > + if((p = sigsearch(signature, 36)) != nil) > + return p; > + if((p = sigsearch(signature, 20)) != nil) > + return p; > + for(m = rmapacpi.map; m < rmapacpi.mapend && m->size; m++){ > + if(m->size > 0x7FFFFFFF) > + continue; > + if((v = vmap(m->addr, m->size)) != nil){ > + p = sigscan(v, m->size, signature, 36, 4); > + if(p == nil) > + p = sigscan(v, m->size, signature, 20, 4); > + vunmap(v, m->size); > + if(p != nil) > + return vmap(m->addr + (p - v), 64); > + } > + } > + return nil; > } > > static void > @@ -683,6 +722,10 @@ map(ulong base, ulong len, int type) > mapfree(&rmapupa, base, len); > flags = 0; > break; > + case MemACPI: > + mapfree(&rmapacpi, base, len); > + flags = 0; > + break; > default: > case MemReserved: > flags = 0; > @@ -774,7 +817,18 @@ e820scan(void) > */ > if(last < base) > map(last, base-last, MemUPA); > - map(base, len, (e->type == 1) ? MemRAM : MemReserved); > + > + switch(e->type){ > + case 1: > + map(base, len, MemRAM); > + break; > + case 3: > + map(base, len, MemACPI); > + break; > + default: > + map(base, len, MemReserved); > + } > + > last = base + len; > if(last == 0) > break; > diff --git a/sys/src/9/pc/pci.c b/sys/src/9/pc/pci.c > --- a/sys/src/9/pc/pci.c > +++ b/sys/src/9/pc/pci.c > @@ -748,7 +748,7 @@ pcirouting(void) > Pcidev *sbpci, *pci; > uchar *p, pin, irq, link, *map; > > - if((p = sigsearch("$PIR")) == nil) > + if((p = sigsearch("$PIR", 0)) == nil) > return; > > r = (Router*)p; > diff --git a/sys/src/9/pc64/fns.h b/sys/src/9/pc64/fns.h > --- a/sys/src/9/pc64/fns.h > +++ b/sys/src/9/pc64/fns.h > @@ -170,10 +170,11 @@ void putdr7(u64int); > void* rampage(void); > int rdmsr(int, vlong*); > void realmode(Ureg*); > +void* rsdsearch(void); > void screeninit(void); > void (*screenputs)(char*, int); > void setconfenv(void); > -void* sigsearch(char*); > +void* sigsearch(char*, int); > void syncclock(void); > void syscallentry(void); > void touser(void*); > diff --git a/sys/src/9/pc64/memory.c b/sys/src/9/pc64/memory.c > --- a/sys/src/9/pc64/memory.c > +++ b/sys/src/9/pc64/memory.c > @@ -20,8 +20,9 @@ enum { > MemUPA = 0, /* unbacked physical address */ > MemRAM = 1, /* physical memory */ > MemUMB = 2, /* upper memory block (<16MB) */ > - MemReserved = 3, > - NMemType = 4, > + MemACPI = 3, /* ACPI tables */ > + MemReserved = 4, > + NMemType = 5, > > KB = 1024, > }; > @@ -72,6 +73,13 @@ static RMap rmapumbrw = { > &mapumbrw[nelem(mapumbrw)-1], > }; > > +static Map mapacpi[16]; > +static RMap rmapacpi = { > + "ACPI tables", > + mapacpi, > + &mapacpi[nelem(mapacpi)-1], > +}; > + > void > mapprint(RMap *rmap) > { > @@ -98,6 +106,7 @@ memdebug(void) > mapprint(&rmapumb); > mapprint(&rmapumbrw); > mapprint(&rmapupa); > + mapprint(&rmapacpi); > } > > static void > @@ -324,16 +333,20 @@ checksum(void *v, int n) > } > > static void* > -sigscan(uchar* addr, int len, char* signature) > +sigscan(uchar *addr, int len, char *sig, int size, int step) > { > + uchar *e, *p; > int sl; > - uchar *e, *p; > > - e = addr+len; > - sl = strlen(signature); > - for(p = addr; p+sl < e; p += 16) > - if(memcmp(p, signature, sl) == 0)