From 98aafee53acbf53d01f03a86c6ca1f87a2df4a48 Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 14 Apr 2018 12:55:50 +0000 Subject: [PATCH] CPUID: Fix TBM detection (ticket #2211) --- .../src/freenet/support/CPUInformation/CPUIDCPUInfo.java | 5 +++-- core/java/src/freenet/support/CPUInformation/CPUInfo.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/java/src/freenet/support/CPUInformation/CPUIDCPUInfo.java b/core/java/src/freenet/support/CPUInformation/CPUIDCPUInfo.java index c97f2d092e..7962491c3d 100644 --- a/core/java/src/freenet/support/CPUInformation/CPUIDCPUInfo.java +++ b/core/java/src/freenet/support/CPUInformation/CPUIDCPUInfo.java @@ -99,12 +99,13 @@ class CPUIDCPUInfo implements CPUInfo } /** + * Trailing Bit Manipulation (AMD feature) * @return true iff the CPU supports TBM. - * @since 0.9.26 + * @since 0.9.26, broken before 0.9.35, fixed in 0.9.35 */ public boolean hasTBM() { - return (CPUID.getECXCPUFlags() & (1 << 21)) != 0; //ECX Bit 21 + return (CPUID.getExtendedECXCPUFlags() & (1 << 21)) != 0; //Extended ECX Bit 21 } /** diff --git a/core/java/src/freenet/support/CPUInformation/CPUInfo.java b/core/java/src/freenet/support/CPUInformation/CPUInfo.java index 6e00bb3a2a..201f19c969 100644 --- a/core/java/src/freenet/support/CPUInformation/CPUInfo.java +++ b/core/java/src/freenet/support/CPUInformation/CPUInfo.java @@ -109,8 +109,9 @@ public interface CPUInfo public boolean hasADX(); /** + * Trailing Bit Manipulation (AMD feature) * @return true iff the CPU supports TBM. - * @since 0.9.26 + * @since 0.9.26, broken before 0.9.35, fixed in 0.9.35 */ public boolean hasTBM();