未验证 提交 dc088c3f 编写于 作者: U Ulrich Weigand 提交者: GitHub

Add public Architecture enum value for s390x (#52906)

* Add S390x value to System.Runtime.InteropServices.Architecture enum

* Add native s390x architecture detection
上级 5d2dc941
......@@ -14,7 +14,8 @@ internal enum ProcessorArchitecture
x64,
ARM,
ARM64,
WASM
WASM,
S390x
}
}
}
......@@ -55,6 +55,8 @@ int32_t SystemNative_GetOSArchitecture()
return ARCH_X86;
#elif defined(TARGET_WASM)
return ARCH_WASM;
#elif defined(TARGET_S390X)
return ARCH_S390X;
#else
#error Unidentified Architecture
#endif
......@@ -78,6 +80,8 @@ int32_t SystemNative_GetProcessArchitecture()
return ARCH_X86;
#elif defined(TARGET_WASM)
return ARCH_WASM;
#elif defined(TARGET_S390X)
return ARCH_S390X;
#else
#error Unidentified Architecture
#endif
......
......@@ -22,5 +22,6 @@ enum
ARCH_X64,
ARCH_ARM,
ARCH_ARM64,
ARCH_WASM
ARCH_WASM,
ARCH_S390X
};
......@@ -13,6 +13,7 @@ public enum Architecture
Arm = 2,
Arm64 = 3,
Wasm = 4,
S390x = 5,
}
public readonly partial struct OSPlatform : System.IEquatable<System.Runtime.InteropServices.OSPlatform>
{
......
......@@ -27,6 +27,8 @@ private static Architecture Map(Interop.Sys.ProcessorArchitecture arch)
return Architecture.Arm64;
case Interop.Sys.ProcessorArchitecture.WASM:
return Architecture.Wasm;
case Interop.Sys.ProcessorArchitecture.S390x:
return Architecture.S390x;
case Interop.Sys.ProcessorArchitecture.x86:
default:
Debug.Assert(arch == Interop.Sys.ProcessorArchitecture.x86, "Unidentified Architecture");
......
......@@ -36,6 +36,10 @@ public void VerifyArchitecture()
Assert.Equal(Architecture.Wasm, processArch);
break;
case Architecture.S390x:
Assert.Equal(Architecture.S390x, processArch);
break;
default:
Assert.False(true, "Unexpected Architecture.");
break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册