singrdk/base/Kernel/Singularity/Isal/ix/EVectors.cs

64 lines
2.5 KiB
C#
Raw Normal View History

2008-03-05 09:52:00 -05:00
////////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: EVectors.cs
//
// Note:
//
2008-11-17 18:29:00 -05:00
namespace Microsoft.Singularity.Isal.IX
2008-03-05 09:52:00 -05:00
{
using System;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
[CLSCompliant(false)]
2008-11-17 18:29:00 -05:00
[AccessedByRuntime("referenced from C++", AllFields = true)]
2008-03-05 09:52:00 -05:00
internal struct EVectors
{
// Interrupt Vector Assignments
// 0..31 Intel defined
internal const uint DivideError = 0;
internal const uint SingleStep = 1;
internal const uint Nmi = 2;
internal const uint Breakpoint = 3;
internal const uint OverflowException = 4;
internal const uint BoundRangeException = 5;
internal const uint IllegalInstruction = 6;
internal const uint CoprocessorNotAvailable = 7;
internal const uint DoubleFault = 8;
internal const uint CoprocessorSegmentOverrun = 9;
internal const uint InvalidTss = 10;
internal const uint SegmentNotPresent = 11;
internal const uint StackSegmentFault = 12;
internal const uint GeneralProtectionFault = 13;
internal const uint PageFault = 14;
internal const uint IntelReserved = 14;
internal const uint FpuMathFault = 16;
internal const uint AlignmentCheck = 17;
internal const uint MachineCheck = 18;
internal const uint SseMathFault = 19;
// Reserved, but used by Singularity
internal const uint FirstChanceException = 29;
internal const uint SecondChanceException = 30;
internal const uint DebuggerBreakRequest = 31;
// 32..255 User defined
internal const uint BaseUserException = 32;
2008-11-17 18:29:00 -05:00
// Mapped for I/O interrupts.
internal const uint IoBaseVector = 0x60;
internal const uint IoLastVector = 0x9f;
2008-03-05 09:52:00 -05:00
2008-11-17 18:29:00 -05:00
//
2008-03-05 09:52:00 -05:00
internal const uint HaltApProcessors = 36;
2008-11-17 18:29:00 -05:00
internal const uint GCSynchronization = 37;
internal const uint SpuriousInterrupt = 0xdf;
2008-03-05 09:52:00 -05:00
}
}