< prev index next >
src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp
Print this page
@@ -799,10 +799,22 @@
return addr != NULL;
#endif // AMD64
}
+juint os::cpu_microcode_revision() {
+ juint result = 0;
+ char data[8];
+ size_t sz = sizeof(data);
+ int ret = sysctlbyname("machdep.cpu.microcode_version", data, &sz, NULL, 0);
+ if (ret == 0) {
+ if (sz == 4) result = *((juint*)data);
+ if (sz == 8) result = *((juint*)data + 1); // upper 32-bits
+ }
+ return result;
+}
+
////////////////////////////////////////////////////////////////////////////////
// thread stack
// Minimum usable stack sizes required to get to user code. Space for
// HotSpot guard pages is added later.
< prev index next >