~kris/9p

9hist

141c876c43e192bc2ecaf9da399849e782245131 — David du Colombier 29 years ago a2c9945
Plan 9 from Bell Labs 1997-05-24
2 files changed, 13 insertions(+), 17 deletions(-)

M ip/gre.c
M pc/mp.c
M ip/gre.c => ip/gre.c +1 -14
@@ 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)

M pc/mp.c => pc/mp.c +12 -3
@@ 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;
}