summaryrefslogtreecommitdiff
path: root/src/arch/x86/apicregs.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/apicregs.hh')
-rw-r--r--src/arch/x86/apicregs.hh16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/arch/x86/apicregs.hh b/src/arch/x86/apicregs.hh
index 464c3af2d..dfea2650f 100644
--- a/src/arch/x86/apicregs.hh
+++ b/src/arch/x86/apicregs.hh
@@ -31,6 +31,8 @@
#ifndef __ARCH_X86_APICREGS_HH__
#define __ARCH_X86_APICREGS_HH__
+#include "base/bitunion.hh"
+
namespace X86ISA
{
enum ApicRegIndex
@@ -86,6 +88,20 @@ namespace X86ISA
{
return (ApicRegIndex)(APIC_INTERRUPT_REQUEST_BASE + index);
}
+
+ BitUnion32(InterruptCommandRegLow)
+ Bitfield<7, 0> vector;
+ Bitfield<10, 8> deliveryMode;
+ Bitfield<11> destMode;
+ Bitfield<12> deliveryStatus;
+ Bitfield<14> level;
+ Bitfield<15> trigger;
+ Bitfield<19, 18> destShorthand;
+ EndBitUnion(InterruptCommandRegLow)
+
+ BitUnion32(InterruptCommandRegHigh)
+ Bitfield<31, 24> destination;
+ EndBitUnion(InterruptCommandRegHigh)
}
#endif