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

64 lines
2.5 KiB
C#

////////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: EVectors.cs
//
// Note:
//
namespace Microsoft.Singularity.Isal.IX
{
using System;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
[CLSCompliant(false)]
[AccessedByRuntime("referenced from C++", AllFields = true)]
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;
// Mapped for I/O interrupts.
internal const uint IoBaseVector = 0x60;
internal const uint IoLastVector = 0x9f;
//
internal const uint HaltApProcessors = 36;
internal const uint GCSynchronization = 37;
internal const uint SpuriousInterrupt = 0xdf;
}
}