diff options
author | bunnei <bunneidev@gmail.com> | 2018-10-18 21:50:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-18 21:50:45 -0400 |
commit | fdd82b754ae4c4525459864659b3408a503bb211 (patch) | |
tree | 5614fc367c78a769937a47d66026c3a6190aa7a7 /src/common/alignment.h | |
parent | 7f152f22737dbd632568dded33d1fe1435d80376 (diff) | |
parent | 4b5ae8dbaa267d0f269ded8e621b43065fb5ae20 (diff) |
Merge pull request #1523 from lioncash/lock
svc: Add missing error checks in svcArbitrateLock/svcArbitrateUnlock
Diffstat (limited to 'src/common/alignment.h')
-rw-r--r-- | src/common/alignment.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/alignment.h b/src/common/alignment.h index 225770fab..d94a2291f 100644 --- a/src/common/alignment.h +++ b/src/common/alignment.h @@ -19,4 +19,16 @@ constexpr T AlignDown(T value, std::size_t size) { return static_cast<T>(value - value % size); } +template <typename T> +constexpr bool Is4KBAligned(T value) { + static_assert(std::is_unsigned_v<T>, "T must be an unsigned value."); + return (value & 0xFFF) == 0; +} + +template <typename T> +constexpr bool IsWordAligned(T value) { + static_assert(std::is_unsigned_v<T>, "T must be an unsigned value."); + return (value & 0b11) == 0; +} + } // namespace Common |