From f5b6d5648915aadc11eb4a889020b828a76f5628 Mon Sep 17 00:00:00 2001 From: dev Date: Sun, 8 Jan 2012 19:54:22 +0000 Subject: [PATCH] Added support for AMD Bulldozer CPUs. Fixed issue with last commit. --- .../support/CPUInformation/AMDCPUInfo.java | 4 ++++ .../support/CPUInformation/AMDInfoImpl.java | 19 +++++++++++++++++++ .../support/CPUInformation/IntelInfoImpl.java | 2 +- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/core/java/src/freenet/support/CPUInformation/AMDCPUInfo.java b/core/java/src/freenet/support/CPUInformation/AMDCPUInfo.java index 174bbe4ed..8d36c2cac 100644 --- a/core/java/src/freenet/support/CPUInformation/AMDCPUInfo.java +++ b/core/java/src/freenet/support/CPUInformation/AMDCPUInfo.java @@ -43,4 +43,8 @@ public interface AMDCPUInfo extends CPUInfo { * @return true if the CPU present in the machine is at least an 'k8' CPU (Atlhon 64, Opteron etc. and better) */ public boolean IsBobcatCompatible(); + /** + * @return true if the CPU present in the machine is at least a 'bulldozer' CPU + */ + public boolean IsBulldozerCompatible(); } diff --git a/core/java/src/freenet/support/CPUInformation/AMDInfoImpl.java b/core/java/src/freenet/support/CPUInformation/AMDInfoImpl.java index 9b60af906..222f6e66d 100644 --- a/core/java/src/freenet/support/CPUInformation/AMDInfoImpl.java +++ b/core/java/src/freenet/support/CPUInformation/AMDInfoImpl.java @@ -13,6 +13,7 @@ class AMDInfoImpl extends CPUIDCPUInfo implements AMDCPUInfo protected static boolean isAthlonCompatible = false; protected static boolean isAthlon64Compatible = false; protected static boolean isBobcatCompatible = false; + protected static boolean isBulldozerCompatible = false; // If modelString != null, the cpu is considered correctly identified. protected static String modelString = null; @@ -31,6 +32,8 @@ class AMDInfoImpl extends CPUIDCPUInfo implements AMDCPUInfo public boolean IsBobcatCompatible(){ return isBobcatCompatible; } + public boolean IsBulldozerCompatible(){ return isBulldozerCompatible; } + static { identifyCPU(); @@ -349,6 +352,22 @@ class AMDInfoImpl extends CPUIDCPUInfo implements AMDCPUInfo break; } } + //Bulldozer + if(CPUID.getCPUFamily() + CPUID.getCPUExtendedFamily() == 21){ + isK6Compatible = true; + isK6_2_Compatible = true; + isK6_3_Compatible = true; + isAthlonCompatible = true; + isAthlon64Compatible = true; + isBobcatCompatible = true; + isBulldozerCompatible = true; + isX64 = true; + switch(CPUID.getCPUModel() + CPUID.getCPUExtendedModel()){ + case 1: + modelString = "Bulldozer FX-6***/FX-8***"; + break; + } + } } public boolean hasX64() diff --git a/core/java/src/freenet/support/CPUInformation/IntelInfoImpl.java b/core/java/src/freenet/support/CPUInformation/IntelInfoImpl.java index d469262f8..af2da3b48 100644 --- a/core/java/src/freenet/support/CPUInformation/IntelInfoImpl.java +++ b/core/java/src/freenet/support/CPUInformation/IntelInfoImpl.java @@ -244,7 +244,7 @@ class IntelInfoImpl extends CPUIDCPUInfo implements IntelCPUInfo case 12: modelString = "Core i7 (32nm)"; break; - case 12: + case 13: modelString = "Core i7 Extreme Edition (32nm)"; break; case 14: