singrdk/base/Kernel/Singularity/X86/EVectors.cs

92 lines
3.9 KiB
C#

////////////////////////////////////////////////////////////////////////////////
//
// Microsoft Research Singularity
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// File: EVectors.cs
//
// Note:
//
namespace Microsoft.Singularity.X86
{
using System;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
[CLSCompliant(false)]
[AccessedByRuntime("referenced from C++")]
internal struct EVectors
{
// Interrupt Vector Assignments
// 0..31 Intel defined
[AccessedByRuntime("referenced from C++")]
internal const uint DivideError = 0;
[AccessedByRuntime("referenced from C++")]
internal const uint SingleStep = 1;
[AccessedByRuntime("referenced from C++")]
internal const uint Nmi = 2;
[AccessedByRuntime("referenced from C++")]
internal const uint Breakpoint = 3;
[AccessedByRuntime("referenced from C++")]
internal const uint OverflowException = 4;
[AccessedByRuntime("referenced from C++")]
internal const uint BoundRangeException = 5;
[AccessedByRuntime("referenced from C++")]
internal const uint IllegalInstruction = 6;
[AccessedByRuntime("referenced from C++")]
internal const uint CoprocessorNotAvailable = 7;
[AccessedByRuntime("referenced from C++")]
internal const uint DoubleFault = 8;
[AccessedByRuntime("referenced from C++")]
internal const uint CoprocessorSegmentOverrun = 9;
[AccessedByRuntime("referenced from C++")]
internal const uint InvalidTss = 10;
[AccessedByRuntime("referenced from C++")]
internal const uint SegmentNotPresent = 11;
[AccessedByRuntime("referenced from C++")]
internal const uint StackSegmentFault = 12;
[AccessedByRuntime("referenced from C++")]
internal const uint GeneralProtectionFault = 13;
[AccessedByRuntime("referenced from C++")]
internal const uint PageFault = 14;
[AccessedByRuntime("referenced from C++")]
internal const uint IntelReserved = 14;
[AccessedByRuntime("referenced from C++")]
internal const uint FpuMathFault = 16;
[AccessedByRuntime("referenced from C++")]
internal const uint AlignmentCheck = 17;
[AccessedByRuntime("referenced from C++")]
internal const uint MachineCheck = 18;
[AccessedByRuntime("referenced from C++")]
internal const uint SseMathFault = 19;
// Reserved, but used by Singularity
[AccessedByRuntime("referenced from C++")]
internal const uint FirstChanceException = 29;
[AccessedByRuntime("referenced from C++")]
internal const uint SecondChanceException = 30;
[AccessedByRuntime("referenced from C++")]
internal const uint DebuggerBreakRequest = 31;
// 32..255 User defined
[AccessedByRuntime("referenced from C++")]
internal const uint BaseUserException = 32;
// haryadi defined
[AccessedByRuntime("referenced from C++")]
internal const uint PingPongInt = 33;
[AccessedByRuntime("referenced from C++")]
internal const uint ApImage = 34;
// haryadi: currently, this is 1 entry for 1 ABI.
// In the future, 1 entry should represents the whole ABI??
[AccessedByRuntime("referenced from C++")]
internal const uint AbiCall = 35;
[AccessedByRuntime("referenced from C++")]
internal const uint HaltApProcessors = 36;
}
}