diff options
| author | merry <git@mary.rs> | 2022-08-25 11:12:13 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-25 10:12:13 +0000 |
| commit | f5235fff29e797ed76022bbd51e4e64577c83457 (patch) | |
| tree | f5d6be6efd9990cf74bf7272b62942a9438d9814 /ARMeilleure/Translation | |
| parent | eba682b767a60db51ff624ae48a3ca0124634705 (diff) | |
ARMeilleure: Hardware accelerate SHA256 (#3585)
* ARMeilleure/HardwareCapabilities: Add Sha
* ARMeilleure/Intrinsic: Add X86Sha256Rnds2
* ARmeilleure: Hardware accelerate SHA256H/SHA256H2
* ARMeilleure/Intrinsic: Add X86Sha256Msg1, X86Sha256Msg2
* ARMeilleure/Intrinsic: Add X86Palignr
* ARMeilleure: Hardware accelerate SHA256SU0, SHA256SU1
* PTC: Bump InternalVersion
Diffstat (limited to 'ARMeilleure/Translation')
| -rw-r--r-- | ARMeilleure/Translation/PTC/Ptc.cs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ARMeilleure/Translation/PTC/Ptc.cs b/ARMeilleure/Translation/PTC/Ptc.cs index db8c74b3..8abb0f6d 100644 --- a/ARMeilleure/Translation/PTC/Ptc.cs +++ b/ARMeilleure/Translation/PTC/Ptc.cs @@ -27,7 +27,7 @@ namespace ARMeilleure.Translation.PTC private const string OuterHeaderMagicString = "PTCohd\0\0"; private const string InnerHeaderMagicString = "PTCihd\0\0"; - private const uint InternalVersion = 3439; //! To be incremented manually for each change to the ARMeilleure project. + private const uint InternalVersion = 3585; //! To be incremented manually for each change to the ARMeilleure project. private const string ActualDir = "0"; private const string BackupDir = "1"; @@ -946,9 +946,12 @@ namespace ARMeilleure.Translation.PTC return BitConverter.IsLittleEndian; } - private static ulong GetFeatureInfo() + private static FeatureInfo GetFeatureInfo() { - return (ulong)HardwareCapabilities.FeatureInfoEdx << 32 | (uint)HardwareCapabilities.FeatureInfoEcx; + return new FeatureInfo( + (uint)HardwareCapabilities.FeatureInfo1Ecx, + (uint)HardwareCapabilities.FeatureInfo1Edx, + (uint)HardwareCapabilities.FeatureInfo7Ebx); } private static byte GetMemoryManagerMode() @@ -968,7 +971,7 @@ namespace ARMeilleure.Translation.PTC return osPlatform; } - [StructLayout(LayoutKind.Sequential, Pack = 1/*, Size = 50*/)] + [StructLayout(LayoutKind.Sequential, Pack = 1/*, Size = 54*/)] private struct OuterHeader { public ulong Magic; @@ -976,7 +979,7 @@ namespace ARMeilleure.Translation.PTC public uint CacheFileVersion; public bool Endianness; - public ulong FeatureInfo; + public FeatureInfo FeatureInfo; public byte MemoryManagerMode; public uint OSPlatform; @@ -999,6 +1002,9 @@ namespace ARMeilleure.Translation.PTC } } + [StructLayout(LayoutKind.Sequential, Pack = 1/*, Size = 12*/)] + private record struct FeatureInfo(uint FeatureInfo0, uint FeatureInfo1, uint FeatureInfo2); + [StructLayout(LayoutKind.Sequential, Pack = 1/*, Size = 128*/)] private struct InnerHeader { |
