diff options
author | 2025-01-13 05:43:09 +1100 | |
---|---|---|
committer | 2025-01-13 05:43:09 +1100 | |
commit | ff92d10a0485717149b6cebc7122a3d545d48fd3 (patch) | |
tree | 735ea2a1959bcb92efa8f6b81fa72dc3494cdc38 /src/osd/modules/lib/osdlib_macosx.cpp | |
parent | 43c5edd139178545db68a794bdd9ad57678098ad (diff) |
osd: Added helper for getting CPU cache line size.
Diffstat (limited to 'src/osd/modules/lib/osdlib_macosx.cpp')
-rw-r--r-- | src/osd/modules/lib/osdlib_macosx.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/osd/modules/lib/osdlib_macosx.cpp b/src/osd/modules/lib/osdlib_macosx.cpp index 9d13f118ff2..54836f9ec69 100644 --- a/src/osd/modules/lib/osdlib_macosx.cpp +++ b/src/osd/modules/lib/osdlib_macosx.cpp @@ -56,6 +56,7 @@ void osd_process_kill() kill(getpid(), SIGKILL); } + //============================================================ // osd_break_into_debugger //============================================================ @@ -82,6 +83,22 @@ void osd_break_into_debugger(const char *message) //============================================================ +// osd_get_cache_line_size +//============================================================ + +std::pair<std::error_condition, unsigned> osd_get_cache_line_size() noexcept +{ + size_t result = 0; + size_t resultsize = sizeof(result); + int const err = sysctlbyname("hw.cachelinesize", &result, &resultsize, 0, 0); + if (!err) + return std::make_pair(std::error_condition(), unsigned(result)); + else + return std::make_pair(std::error_condition(err, std::generic_category()), 0U); +} + + +//============================================================ // osd_get_clipboard_text //============================================================ |