Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/x86/include Add definitions from [1] for the I/O AP...
details: https://anonhg.NetBSD.org/src/rev/d7d90f941c81
branches: trunk
changeset: 768491:d7d90f941c81
user: dyoung <dyoung%NetBSD.org@localhost>
date: Wed Aug 17 14:55:11 2011 +0000
description:
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.
diffstat:
sys/arch/x86/include/i82093reg.h | 30 +++++++++++++++++++++++++++++-
1 files changed, 29 insertions(+), 1 deletions(-)
diffs (44 lines):
diff -r c28e14014b56 -r d7d90f941c81 sys/arch/x86/include/i82093reg.h
--- a/sys/arch/x86/include/i82093reg.h Wed Aug 17 14:52:09 2011 +0000
+++ b/sys/arch/x86/include/i82093reg.h Wed Aug 17 14:55:11 2011 +0000
@@ -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.
*/
Home |
Main Index |
Thread Index |
Old Index