// returns the platform-specific Context Flags public ContextFlags GetPSFlags(AgnosticContextFlags flags) { // We know that we need an x86 context var cFlags = ContextFlags.X86Context; if ((flags & AgnosticContextFlags.ContextInteger) == AgnosticContextFlags.ContextInteger) { // ContextInteger is the same for all platforms, so we can do a blanket |= cFlags |= (ContextFlags)AgnosticContextFlags.ContextInteger; } if ((flags & AgnosticContextFlags.ContextControl) == AgnosticContextFlags.ContextControl) { cFlags |= (ContextFlags)AgnosticContextFlags.ContextControl; } if ((flags & AgnosticContextFlags.ContextFloatingPoint) == AgnosticContextFlags.ContextFloatingPoint) { cFlags |= (ContextFlags)AgnosticContextFlags.ContextFloatingPoint; } if ((flags & AgnosticContextFlags.ContextAll) == AgnosticContextFlags.ContextAll) { // ContextAll is the same for all platforms, so we can do a blanket |= cFlags |= (ContextFlags)AgnosticContextFlags.ContextAll; } return(cFlags); }
// returns the platform-specific Context Flags public ContextFlags GetPSFlags(AgnosticContextFlags flags) { // We know that we need an ia64 context this.m_platform = Platform.IA64; ContextFlags cFlags = ContextFlags.IA64Context; if ((flags & AgnosticContextFlags.ContextInteger) == AgnosticContextFlags.ContextInteger) { // ContextInteger is the same for all platforms, so we can do a blanket |= cFlags |= (ContextFlags)AgnosticContextFlags.ContextInteger; } if ((flags & AgnosticContextFlags.ContextControl) == AgnosticContextFlags.ContextControl) { // IA64 has a different flag for ContextControl cFlags |= ContextFlags.IA64ContextControl; } if ((flags & AgnosticContextFlags.ContextFloatingPoint) == AgnosticContextFlags.ContextFloatingPoint) { // IA64 has a different flag for ContextFloatingPoint cFlags |= ContextFlags.IA64ContextFloatingPoint; } if ((flags & AgnosticContextFlags.ContextAll) == AgnosticContextFlags.ContextAll) { // ContextAll is the same for all platforms, so we can do a blanket |= cFlags |= (ContextFlags)AgnosticContextFlags.ContextAll; } return(cFlags); }
public X86Context(AgnosticContextFlags aFlags) { InitializeContext(); WriteContextFlagsToBuffer(GetPSFlags(aFlags)); }