From 141c876c43e192bc2ecaf9da399849e782245131 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sat, 24 May 1997 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1997-05-24 --- ip/gre.c | 15 +-------------- pc/mp.c | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/ip/gre.c b/ip/gre.c index 5621abf642d413c7d5ee5968c098711af688aa5d..ec617b422a1662a657ad09cd8a8448181d61021f 100644 --- a/ip/gre.c +++ b/ip/gre.c @@ -121,8 +121,7 @@ static void grekick(Conv *c, int l) { GREhdr *ghp; - Block *bp, *f; - int dlen; + Block *bp; USED(l); @@ -130,18 +129,6 @@ grekick(Conv *c, int l) if(bp == nil) return; - /* Round packet up to even number of bytes */ - dlen = blocklen(bp); - if(dlen & 1) { - for(f = bp; f->next; f = f->next) - ; - if(f->wp >= f->lim) { - f->next = allocb(1); - f = f->next; - } - *f->wp++ = 0; - } - /* Make space to fit ip header (gre header already there) */ bp = padblock(bp, GRE_IPHDRSIZE); if(bp == nil) diff --git a/pc/mp.c b/pc/mp.c index d4d200c58849eb4e5a457c601b00b041d758d1c6..ab2d9673896f03800c40f0fa80f8eb9340018096 100644 --- a/pc/mp.c +++ b/pc/mp.c @@ -207,9 +207,18 @@ mpintrinit(Bus* bus, PCMPintr* intr, int vector) break; case PcmpExtINT: -po = PcmpHIGH; -el = PcmpEDGE; v |= ApicExtINT; + /* + * The AMI Goliath doesn't boot successfully with it's LINTR0 entry + * which decodes to low+level. The PPro manual says ExtINT should be + * level, whereas the Pentium is edge. Setting the Goliath to edge+high + * seems to cure the problem. Other PPro MP tables (e.g. ASUS P/I-P65UP5 + * have a entry which decodes to edge+high, so who knows. + * Perhaps it would be best just to not set an ExtINT entry at all, + * it shouldn't be needed for SMP mode. + */ + po = PcmpHIGH; + el = PcmpEDGE; break; } @@ -587,7 +596,7 @@ mpintrenable(int v, int tbdf, Irqctl* irqctl) int r; r = mpintrenablex(v, tbdf, irqctl); - if(r == -1 && tbdf != BUSUNKNOWN && _mp_->specrev == 1) + if(r == -1 && tbdf != BUSUNKNOWN /*&& _mp_->specrev == 1*/) return mpintrenablex(v, BUSUNKNOWN, irqctl); return r; }