Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Sep 2003 18:18:09 -0700 (PDT)
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 38823 for review
Message-ID:  <200309300118.h8U1I9AR026799@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=38823

Change 38823 by peter@peter_hammer on 2003/09/29 18:17:31

	remove 686 B0 workaround
	fix setidt call

Affected files ...

.. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#6 edit

Differences ...

==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#6 (text+ko) ====

@@ -242,7 +242,7 @@
 	KASSERT(vector != IDT_SYSCALL, ("Attempt to overwrite syscall entry"));
 	KASSERT(ioint_handlers[vector / 32] != NULL,
 	    ("No ISR handler for IRQ %d", IDT_TO_IRQ(vector)));
-	setidt(vector, ioint_handlers[vector / 32], SDT_SYSIGT, 0);
+	setidt(vector, ioint_handlers[vector / 32], SDT_SYSIGT, SEL_KPL,SEL_KPL,  0);
 }
 
 void
@@ -517,17 +517,6 @@
 
 	if (best_enum == NULL)
 		return;
-	/*
-	 * To work around an errata, we disable the local APIC on some
-	 * CPUs during early startup.  We need to turn the local APIC back
-	 * on on such CPUs now.
-	 */
-	if (cpu == CPU_686 && strcmp(cpu_vendor, "GenuineIntel") == 0 &&
-	    (cpu_id & 0xff0) == 0x610) {
-		apic_base = rdmsr(MSR_APICBASE);
-		apic_base |= APICBASE_ENABLED;
-		wrmsr(MSR_APICBASE, apic_base);
-	}
 	retval = best_enum->apic_setup_local();
 	if (retval != 0)
 		printf("%s: Failed to setup the local APIC: returned %d\n",



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200309300118.h8U1I9AR026799>