summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/lib/osdlib_macosx.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2025-01-13 05:43:09 +1100
committer Vas Crabb <vas@vastheman.com>2025-01-13 05:43:09 +1100
commitff92d10a0485717149b6cebc7122a3d545d48fd3 (patch)
tree735ea2a1959bcb92efa8f6b81fa72dc3494cdc38 /src/osd/modules/lib/osdlib_macosx.cpp
parent43c5edd139178545db68a794bdd9ad57678098ad (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.cpp17
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
//============================================================