From d705bfa698806e7e7a6220e43b207f09f93c1643 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Fri, 22 Sep 2000 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2000-09-22 --- ip/ethermedium.c | 17 +++++++++++++++++ pc/devarch.c | 16 +++++++++++++--- pc/ptclbsum386.s | 13 +------------ 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/ip/ethermedium.c b/ip/ethermedium.c index b15f6f06d2f1b375c24f112c3320e1958a089220..dc3870a27e6a54ed80dcb176f7a228e2929976ed 100644 --- a/ip/ethermedium.c +++ b/ip/ethermedium.c @@ -44,6 +44,22 @@ Medium ethermedium = .areg= sendgarp, }; +Medium gbemedium = +{ +.name= "gbe", +.hsize= 14, +.minmtu= 60, +.maxmtu= 9014, +.maclen= 6, +.bind= etherbind, +.unbind= etherunbind, +.bwrite= etherbwrite, +.addmulti= etheraddmulti, +.remmulti= etherremmulti, +.ares= arpenter, +.areg= sendgarp, +}; + typedef struct Etherrock Etherrock; struct Etherrock { @@ -561,4 +577,5 @@ void ethermediumlink(void) { addipmedium(ðermedium); + addipmedium(&gbemedium); } diff --git a/pc/devarch.c b/pc/devarch.c index b6563b39f5a5c98ecbf51393fe7d279229d22739..71a85f015e50c40beb28734cfdf13158ce3aeee1 100644 --- a/pc/devarch.c +++ b/pc/devarch.c @@ -482,10 +482,11 @@ cpuidprint(void) int cpuidentify(void) { - int family, model; + char *p; + int family, model, nomce; X86type *t; ulong cr4; - vlong mct; + vlong mca, mct; cpuid(m->cpuidid, &m->cpuidax, &m->cpuiddx); if(strncmp(m->cpuidid, "AuthenticAMD", 12) == 0) @@ -515,8 +516,17 @@ cpuidentify(void) cr4 = 0; if(m->cpuiddx & 0x08) cr4 |= 0x10; /* page size extensions */ - if(m->cpuiddx & 0x80) + if(p = getconf("*nomce")) + nomce = strtoul(p, 0, 0); + else + nomce = 0; + if((m->cpuiddx & 0x80) && !nomce){ cr4 |= 0x40; /* machine check enable */ + if(family == 5){ + rdmsr(0x00, &mca); + rdmsr(0x01, &mct); + } + } putcr4(cr4); if(m->cpuiddx & 0x80) rdmsr(0x01, &mct); diff --git a/pc/ptclbsum386.s b/pc/ptclbsum386.s index 6e44302461fc6d2aefad0f766e5c0fba6b022278..ba0a6a4d14e05cbc87b5b19c23bdf10b6db2bdb8 100644 --- a/pc/ptclbsum386.s +++ b/pc/ptclbsum386.s @@ -84,23 +84,12 @@ _2loop: CMPL CX, $0x02 JLT _1dreg -_2fold: - MOVL AX, BX - SHRL $16, BX - JEQ _2foldx - - ANDL $0xFFFF, AX - ADDL BX, AX - JMP _2fold - -_2foldx: MOVL CX, BP SHRL $1, BP ANDL $0x01, CX _2loopx: - XORL BX, BX /* in the loop for PPro */ - MOVW 0x00(SI), BX + MOVWLZX 0x00(SI), BX ADCL BX, AX LEAL 0x02(SI), SI