Module Name: src
Committed By: dyoung
Date: Wed Aug 17 14:55:11 UTC 2011
Modified Files:
src/sys/arch/x86/include: i82093reg.h
Log Message:
Add definitions from [1] for the I/O APIC's MSI Message Address & Data
registers.
[1] Intel Corporation, Intel 64 and IA-32 Architectures Software
Developer's Manual, Volume 3A: System Programming Guide, Part 1,
http://www.intel.com/Assets/PDF/manual/253668.pdf, Chapter 10,
January, 2011.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/x86/include/i82093reg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x86/include/i82093reg.h
diff -u src/sys/arch/x86/include/i82093reg.h:1.2 src/sys/arch/x86/include/i82093reg.h:1.3
--- src/sys/arch/x86/include/i82093reg.h:1.2 Mon Apr 28 20:23:40 2008
+++ src/sys/arch/x86/include/i82093reg.h Wed Aug 17 14:55:11 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: i82093reg.h,v 1.2 2008/04/28 20:23:40 martin Exp $ */
+/* $NetBSD: i82093reg.h,v 1.3 2011/08/17 14:55:11 dyoung Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -36,6 +36,34 @@
*/
#define IOAPIC_BASE_DEFAULT 0xfec00000
+#define IOAPIC_MSIADDR_BASE 0xfee00000
+#define IOAPIC_MSIADDR_DSTID_MASK __BITS(19, 12)
+#define IOAPIC_MSIADDR_RSVD0_MASK __BITS(11, 4)
+#define IOAPIC_MSIADDR_RH __BIT(3)
+#define IOAPIC_MSIADDR_DM __BIT(2)
+#define IOAPIC_MSIADDR_RSVD1_MASK __BITS(1, 0)
+
+#define IOAPIC_MSIDATA_VECTOR_MASK __BITS(7, 0)
+#define IOAPIC_MSIDATA_DM_MASK __BITS(10, 8)
+#define IOAPIC_MSIDATA_DM_FIXED __SHIFTIN(0, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_DM_LOPRI __SHIFTIN(1, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_DM_SMI __SHIFTIN(2, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_DM_RSVD0 __SHIFTIN(3, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_DM_NMI __SHIFTIN(4, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_DM_INIT __SHIFTIN(5, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_DM_RSVD1 __SHIFTIN(6, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_DM_EXTINT __SHIFTIN(7, IOAPIC_MSIDATA_DM_MASK)
+#define IOAPIC_MSIDATA_RSVD0_MASK __BITS(13, 11)
+#define IOAPIC_MSIDATA_LEVEL_MASK __BIT(14)
+#define IOAPIC_MSIDATA_LEVEL_DEASSERT __SHIFTIN(0, IOAPIC_MSIDATA_LEVEL_MASK)
+#define IOAPIC_MSIDATA_LEVEL_ASSERT __SHIFTIN(1, IOAPIC_MSIDATA_LEVEL_MASK)
+#define IOAPIC_MSIDATA_TRGMODE_MASK __BIT(15)
+#define IOAPIC_MSIDATA_TRGMODE_EDGE \
+ __SHIFTIN(0, IOAPIC_MSIDATA_TRGMODE_MASK)
+#define IOAPIC_MSIDATA_TRGMODE_LEVEL \
+ __SHIFTIN(1, IOAPIC_MSIDATA_TRGMODE_MASK)
+#define IOAPIC_MSIDATA_RSVD1_MASK __BITS(31, 16)
+
/*
* Memory-space registers.
*/