diff --git a/sdk/include/vcruntime/arm64intr.h b/sdk/include/vcruntime/arm64intr.h new file mode 100644 index 00000000000..bbc4822ab7c --- /dev/null +++ b/sdk/include/vcruntime/arm64intr.h @@ -0,0 +1,40 @@ +/* + * PROJECT: ReactOS SDK + * LICENSE: MIT (https://spdx.org/licenses/MIT) + * PURPOSE: ARM64 intriniscs + * COPYRIGHT: Copyright 2025 Timo Kreuzer (timo.kreuzer@reactos.org) + */ + +#pragma once + +#if defined(__cplusplus) +extern "C" { +#endif + +typedef enum _tag_ARM64INTR_BARRIER_TYPE +{ + _ARM64_BARRIER_SY = 0xF, + _ARM64_BARRIER_ST = 0xE, + _ARM64_BARRIER_LD = 0xD, + _ARM64_BARRIER_ISH = 0xB, + _ARM64_BARRIER_ISHST = 0xA, + _ARM64_BARRIER_ISHLD = 0x9, + _ARM64_BARRIER_NSH = 0x7, + _ARM64_BARRIER_NSHST = 0x6, + _ARM64_BARRIER_NSHLD = 0x5, + _ARM64_BARRIER_OSH = 0x3, + _ARM64_BARRIER_OSHST = 0x2, + _ARM64_BARRIER_OSHLD = 0x1 +} _ARM64INTR_BARRIER_TYPE; + +void __dmb(unsigned int _Type); +void __dsb(unsigned int _Type); +void __isb(unsigned int _Type); + +#pragma intrinsic(__dmb) +#pragma intrinsic(__dsb) +#pragma intrinsic(__isb) + +#if defined(__cplusplus) +} // extern "C" +#endif diff --git a/sdk/include/vcruntime/intrin.h b/sdk/include/vcruntime/intrin.h index fda1dc4c8e9..6cb5a3380b8 100644 --- a/sdk/include/vcruntime/intrin.h +++ b/sdk/include/vcruntime/intrin.h @@ -23,6 +23,11 @@ #include #endif /* _M_ARM */ +#if defined(_M_ARM64) +#include +//#include +#endif /* _M_ARM64 */ + #if defined(__cplusplus) extern "C" { #endif