|
enum class | jau::cpu::arm32_hwcap1 : uint64_t {
jau::cpu::arm32_hwcap1::none = 0
, jau::cpu::arm32_hwcap1::swp = (1 << 0)
, jau::cpu::arm32_hwcap1::half = (1 << 1)
, jau::cpu::arm32_hwcap1::thumb = (1 << 2)
,
jau::cpu::arm32_hwcap1::bits26 = (1 << 3)
, jau::cpu::arm32_hwcap1::fmult = (1 << 4)
, jau::cpu::arm32_hwcap1::fpa = (1 << 5)
, jau::cpu::arm32_hwcap1::vfp = (1 << 6)
,
jau::cpu::arm32_hwcap1::edsp = (1 << 7)
, jau::cpu::arm32_hwcap1::java = (1 << 8)
, jau::cpu::arm32_hwcap1::iwmmxt = (1 << 9)
, jau::cpu::arm32_hwcap1::crunch = (1 << 10)
,
jau::cpu::arm32_hwcap1::thumbee = (1 << 11)
, jau::cpu::arm32_hwcap1::neon = (1 << 12)
, jau::cpu::arm32_hwcap1::vfp_v3 = (1 << 13)
, jau::cpu::arm32_hwcap1::vfp_v3_d16 = (1 << 14)
,
jau::cpu::arm32_hwcap1::tls = (1 << 15)
, jau::cpu::arm32_hwcap1::vfp_v4 = (1 << 16)
, jau::cpu::arm32_hwcap1::idiva = (1 << 17)
, jau::cpu::arm32_hwcap1::idivt = (1 << 18)
,
jau::cpu::arm32_hwcap1::vfp_d32 = (1 << 19)
, jau::cpu::arm32_hwcap1::lpae = (1 << 20)
, jau::cpu::arm32_hwcap1::evtstrm = (1 << 21)
, jau::cpu::arm32_hwcap1::at_hwcap_1 = 16
} |
|
enum class | jau::cpu::arm32_hwcap2 : uint64_t {
jau::cpu::arm32_hwcap2::none = 0
, jau::cpu::arm32_hwcap2::aes = (1 << 0)
, jau::cpu::arm32_hwcap2::pmull = (1 << 1)
, jau::cpu::arm32_hwcap2::sha1 = (1 << 2)
,
jau::cpu::arm32_hwcap2::sha2 = (1 << 3)
, jau::cpu::arm32_hwcap2::crc32 = (1 << 4)
, jau::cpu::arm32_hwcap2::at_hwcap_2 = 26
} |
|
enum class | jau::cpu::arm64_hwcap : uint64_t {
jau::cpu::arm64_hwcap::none = 0
, jau::cpu::arm64_hwcap::fp = (1 << 0)
, jau::cpu::arm64_hwcap::asimd = (1 << 1)
, jau::cpu::arm64_hwcap::evtstrm = (1 << 2)
,
jau::cpu::arm64_hwcap::aes = (1 << 3)
, jau::cpu::arm64_hwcap::pmull = (1 << 4)
, jau::cpu::arm64_hwcap::sha1 = (1 << 5)
, jau::cpu::arm64_hwcap::sha2 = (1 << 6)
,
jau::cpu::arm64_hwcap::crc32 = (1 << 7)
, jau::cpu::arm64_hwcap::atomics = (1 << 8)
, jau::cpu::arm64_hwcap::fphp = (1 << 9)
, jau::cpu::arm64_hwcap::asimdhp = (1 << 10)
,
jau::cpu::arm64_hwcap::cpuid = (1 << 11)
, jau::cpu::arm64_hwcap::asimdrdm = (1 << 12)
, jau::cpu::arm64_hwcap::jscvt = (1 << 13)
, jau::cpu::arm64_hwcap::fcma = (1 << 14)
,
jau::cpu::arm64_hwcap::lrcpc = (1 << 15)
, jau::cpu::arm64_hwcap::dcpop = (1 << 16)
, jau::cpu::arm64_hwcap::sha3 = (1 << 17)
, jau::cpu::arm64_hwcap::sm3 = (1 << 18)
,
jau::cpu::arm64_hwcap::sm4 = (1 << 19)
, jau::cpu::arm64_hwcap::asimddp = (1 << 20)
, jau::cpu::arm64_hwcap::sha512 = (1 << 21)
, jau::cpu::arm64_hwcap::sve = (1 << 22)
,
jau::cpu::arm64_hwcap::asimdfhm = (1 << 23)
, jau::cpu::arm64_hwcap::dit = (1 << 24)
, jau::cpu::arm64_hwcap::uscat = (1 << 25)
, jau::cpu::arm64_hwcap::ilrcpc = (1 << 26)
,
jau::cpu::arm64_hwcap::flagm = (1 << 27)
, jau::cpu::arm64_hwcap::ssbs = (1 << 28)
, jau::cpu::arm64_hwcap::sb = (1 << 29)
, jau::cpu::arm64_hwcap::paca = (1 << 30)
,
jau::cpu::arm64_hwcap::pacg = (1UL << 31)
, jau::cpu::arm64_hwcap::at_hwcap = 16
} |
|
enum class | jau::cpu::cpu_family : uint16_t {
jau::cpu::cpu_family::none = 0
, jau::cpu::cpu_family::x86_32 = 1
, jau::cpu::cpu_family::x86_64 = 2
, jau::cpu::cpu_family::arm32 = 3
,
jau::cpu::cpu_family::arm64 = 4
, jau::cpu::cpu_family::ppc = 5
, jau::cpu::cpu_family::sparc = 6
, jau::cpu::cpu_family::mips = 7
,
jau::cpu::cpu_family::pa_risc = 8
, jau::cpu::cpu_family::ia64 = 9
, jau::cpu::cpu_family::superh = 10
} |
|
|
constexpr size_t | jau::cpu::get_arch_psize () noexcept |
| Returns the compile time pointer architecture size in bits. More...
|
|
bool | jau::cpu::get_arm32_hwcap (arm32_hwcap1 &hwcap1, arm32_hwcap2 &hwcap2) noexcept |
|
bool | jau::cpu::get_arm64_hwcap (arm64_hwcap &hwcap) noexcept |
|
cpu_family | jau::cpu::get_cpu_family () noexcept |
|
constexpr bool | jau::cpu::is_set (const arm32_hwcap1 mask, const arm32_hwcap1 bit) noexcept |
|
constexpr bool | jau::cpu::is_set (const arm32_hwcap2 mask, const arm32_hwcap2 bit) noexcept |
|
constexpr bool | jau::cpu::is_set (const arm64_hwcap mask, const arm64_hwcap bit) noexcept |
|
constexpr bool | jau::cpu::is_set (const cpu_family mask, const cpu_family bit) noexcept |
|
constexpr uint64_t | jau::cpu::number (const arm32_hwcap1 rhs) noexcept |
|
constexpr uint64_t | jau::cpu::number (const arm32_hwcap2 rhs) noexcept |
|
constexpr uint64_t | jau::cpu::number (const arm64_hwcap rhs) noexcept |
|
constexpr uint16_t | jau::cpu::number (const cpu_family rhs) noexcept |
|
constexpr bool | jau::cpu::operator!= (const arm32_hwcap1 lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr bool | jau::cpu::operator!= (const arm32_hwcap2 lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr bool | jau::cpu::operator!= (const arm64_hwcap lhs, const arm64_hwcap rhs) noexcept |
|
constexpr bool | jau::cpu::operator!= (const cpu_family lhs, const cpu_family rhs) noexcept |
|
constexpr arm32_hwcap1 | jau::cpu::operator& (const arm32_hwcap1 lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr arm32_hwcap2 | jau::cpu::operator& (const arm32_hwcap2 lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr arm64_hwcap | jau::cpu::operator& (const arm64_hwcap lhs, const arm64_hwcap rhs) noexcept |
|
constexpr cpu_family | jau::cpu::operator& (const cpu_family lhs, const cpu_family rhs) noexcept |
|
constexpr arm32_hwcap1 & | jau::cpu::operator&= (arm32_hwcap1 &lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr arm32_hwcap2 & | jau::cpu::operator&= (arm32_hwcap2 &lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr arm64_hwcap & | jau::cpu::operator&= (arm64_hwcap &lhs, const arm64_hwcap rhs) noexcept |
|
constexpr cpu_family & | jau::cpu::operator&= (cpu_family &lhs, const cpu_family rhs) noexcept |
|
constexpr bool | jau::cpu::operator== (const arm32_hwcap1 lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr bool | jau::cpu::operator== (const arm32_hwcap2 lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr bool | jau::cpu::operator== (const arm64_hwcap lhs, const arm64_hwcap rhs) noexcept |
|
constexpr bool | jau::cpu::operator== (const cpu_family lhs, const cpu_family rhs) noexcept |
|
constexpr arm32_hwcap1 | jau::cpu::operator^ (const arm32_hwcap1 lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr arm32_hwcap2 | jau::cpu::operator^ (const arm32_hwcap2 lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr arm64_hwcap | jau::cpu::operator^ (const arm64_hwcap lhs, const arm64_hwcap rhs) noexcept |
|
constexpr cpu_family | jau::cpu::operator^ (const cpu_family lhs, const cpu_family rhs) noexcept |
|
constexpr arm32_hwcap1 & | jau::cpu::operator^= (arm32_hwcap1 &lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr arm32_hwcap2 & | jau::cpu::operator^= (arm32_hwcap2 &lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr arm64_hwcap & | jau::cpu::operator^= (arm64_hwcap &lhs, const arm64_hwcap rhs) noexcept |
|
constexpr cpu_family & | jau::cpu::operator^= (cpu_family &lhs, const cpu_family rhs) noexcept |
|
constexpr arm32_hwcap1 | jau::cpu::operator| (const arm32_hwcap1 lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr arm32_hwcap2 | jau::cpu::operator| (const arm32_hwcap2 lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr arm64_hwcap | jau::cpu::operator| (const arm64_hwcap lhs, const arm64_hwcap rhs) noexcept |
|
constexpr cpu_family | jau::cpu::operator| (const cpu_family lhs, const cpu_family rhs) noexcept |
|
constexpr arm32_hwcap1 & | jau::cpu::operator|= (arm32_hwcap1 &lhs, const arm32_hwcap1 rhs) noexcept |
|
constexpr arm32_hwcap2 & | jau::cpu::operator|= (arm32_hwcap2 &lhs, const arm32_hwcap2 rhs) noexcept |
|
constexpr arm64_hwcap & | jau::cpu::operator|= (arm64_hwcap &lhs, const arm64_hwcap rhs) noexcept |
|
constexpr cpu_family & | jau::cpu::operator|= (cpu_family &lhs, const cpu_family rhs) noexcept |
|
constexpr arm32_hwcap1 | jau::cpu::operator~ (const arm32_hwcap1 rhs) noexcept |
|
constexpr arm32_hwcap2 | jau::cpu::operator~ (const arm32_hwcap2 rhs) noexcept |
|
constexpr arm64_hwcap | jau::cpu::operator~ (const arm64_hwcap rhs) noexcept |
|
constexpr cpu_family | jau::cpu::operator~ (const cpu_family rhs) noexcept |
|
void | jau::cpu::print_cpu_info (FILE *stream) noexcept |
|
std::string | jau::cpu::to_string (const arm32_hwcap1 hwcaps) noexcept |
|
std::string | jau::cpu::to_string (const arm32_hwcap2 hwcaps) noexcept |
|
std::string | jau::cpu::to_string (const arm64_hwcap hwcaps) noexcept |
|
std::string | jau::cpu::to_string (const cpu_family v) noexcept |
|
System and OS related types and functionality.
constexpr size_t jau::cpu::get_arch_psize |
( |
| ) |
|
|
constexprnoexcept |
Returns the compile time pointer architecture size in bits.
e.g. 64-bit for LP64 and 32-bit for LP32.
Implementations uses sizeof(void*)
, i.e. the address bus size, the common denominator across all LP64, ILP64 and LLP64 for 64-bit.
Definition at line 44 of file cpuid.hpp.