109 lines
3.5 KiB
C#
109 lines
3.5 KiB
C#
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Microsoft Research Singularity
|
||
|
//
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// File: MmxContext.cs
|
||
|
//
|
||
|
// Note:
|
||
|
//
|
||
|
|
||
|
namespace Microsoft.Singularity.X86
|
||
|
{
|
||
|
using System;
|
||
|
using System.Runtime.InteropServices;
|
||
|
using System.Runtime.CompilerServices;
|
||
|
|
||
|
[CLSCompliant(false)]
|
||
|
[StructLayout(LayoutKind.Sequential)]
|
||
|
[StructAlign(16)]
|
||
|
//[AccessedByRuntime("")]
|
||
|
internal struct UINT128
|
||
|
{
|
||
|
//[AccessedByRuntime("")]
|
||
|
public ulong lo;
|
||
|
//[AccessedByRuntime("")]
|
||
|
public ulong hi;
|
||
|
}
|
||
|
|
||
|
[CLSCompliant(false)]
|
||
|
[StructLayout(LayoutKind.Sequential)]
|
||
|
[StructAlign(16)]
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
internal struct MmxContext
|
||
|
{
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public ushort fcw;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public ushort fsw;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public ushort ftw;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public ushort fop;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public uint eip;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public uint cs;
|
||
|
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public uint dp;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public uint ds;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public uint mxcsr;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public uint mxcsrmask;
|
||
|
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st0;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st1;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st2;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st3;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st4;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st5;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st6;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 st7;
|
||
|
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm0;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm1;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm2;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm3;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm4;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm5;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm6;
|
||
|
[AccessedByRuntime("referenced from c++")]
|
||
|
public UINT128 xmm7;
|
||
|
|
||
|
public UINT128 reserved2;
|
||
|
public UINT128 reserved3;
|
||
|
public UINT128 reserved4;
|
||
|
public UINT128 reserved5;
|
||
|
public UINT128 reserved6;
|
||
|
public UINT128 reserved7;
|
||
|
public UINT128 reserved8;
|
||
|
public UINT128 reserved9;
|
||
|
public UINT128 reservedA;
|
||
|
public UINT128 reservedB;
|
||
|
public UINT128 reservedC;
|
||
|
public UINT128 reservedD;
|
||
|
public UINT128 reservedE;
|
||
|
public UINT128 reservedF;
|
||
|
}
|
||
|
}
|
||
|
|