summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2009-01-13 16:48:01 +0000
committerjkim <jkim@FreeBSD.org>2009-01-13 16:48:01 +0000
commitf7ffbec8e841ce75888a95827c96dc8f040fb955 (patch)
tree587a22d4600555d8ae61aa4fba2e240d4160c220 /sys/i386
parent43a484c52896898a267b880691353c1798202103 (diff)
downloadFreeBSD-src-f7ffbec8e841ce75888a95827c96dc8f040fb955.zip
FreeBSD-src-f7ffbec8e841ce75888a95827c96dc8f040fb955.tar.gz
Enable MSI support for VIA Nano processors on i386 (missing in r187118).
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/msi.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/i386/i386/msi.c b/sys/i386/i386/msi.c
index f8d92d6..437d859 100644
--- a/sys/i386/i386/msi.c
+++ b/sys/i386/i386/msi.c
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <machine/frame.h>
#include <machine/intr_machdep.h>
#include <machine/apicvar.h>
+#include <machine/specialreg.h>
#include <dev/pci/pcivar.h>
/* Fields in address for Intel MSI messages. */
@@ -212,9 +213,18 @@ msi_init(void)
{
/* Check if we have a supported CPU. */
- if (!(cpu_vendor_id == CPU_VENDOR_INTEL ||
- cpu_vendor_id == CPU_VENDOR_AMD))
+ switch (cpu_vendor_id) {
+ case CPU_VENDOR_INTEL:
+ case CPU_VENDOR_AMD:
+ break;
+ case CPU_VENDOR_CENTAUR:
+ if (I386_CPU_FAMILY(cpu_id) == 0x6 &&
+ I386_CPU_MODEL(cpu_id) >= 0xf)
+ break;
+ /* FALLTHROUGH */
+ default:
return;
+ }
msi_enabled = 1;
intr_register_pic(&msi_pic);
OpenPOWER on IntegriCloud