]> git.ozlabs.org Git - ccan/blobdiff - ccan/cpuid/cpuid.c
cpuid: minor clean up
[ccan] / ccan / cpuid / cpuid.c
index d64f2cf57bb7afaacdf95fc393ed20957e12d0c6..df215eef616a26a45227d0fac7783d51032d5633 100644 (file)
@@ -215,7 +215,7 @@ static uint32_t fetch_edx(uint32_t what)
                static uint32_t REGISTER; \
                if (REGISTER == 0) \
                        REGISTER = fetch_##REGISTER(TYPE); \
-               return (REGISTER & feature) == feature; \
+               return !!(REGISTER & feature); \
        }
 
 DEFINE_FEATURE_FUNC(ecxfeature, ecx, CPUID_PROCINFO_AND_FEATUREBITS)
@@ -226,25 +226,6 @@ DEFINE_FEATURE_FUNC(edxfeature_ext, edx, CPUID_EXTENDED_PROC_INFO_FEATURE_BITS)
 
 #undef DEFINE_FEATURE_FUNC
 
-static const char *const cpuids[] = {
-       "Nooooooooone",
-       "AMDisbetter!",
-       "AuthenticAMD",
-       "CentaurHauls",
-       "CyrixInstead",
-       "GenuineIntel",
-       "TransmetaCPU",
-       "GeniuneTMx86",
-       "Geode by NSC",
-       "NexGenDriven",
-       "RiseRiseRise",
-       "SiS SiS SiS ",
-       "UMC UMC UMC ",
-       "VIA VIA VIA ",
-       "Vortex86 SoC",
-       "KVMKVMKVMKVM"
-};
-
 cputype_t cpuid_get_cpu_type(void)
 {
        static cputype_t cputype;
@@ -256,8 +237,8 @@ cputype_t cpuid_get_cpu_type(void)
                uint32_t i;
 
                ___cpuid(CPUID_VENDORID, &i, &u.bufu32[0], &u.bufu32[2], &u.bufu32[1]);
-               for (i = 0; i < sizeof(cpuids) / sizeof(cpuids[0]); ++i) {
-                       if (strncmp(cpuids[i], u.buf, 12) == 0) {
+               for (i = 0; i < sizeof(c_cpunames) / sizeof(c_cpunames); ++i) {
+                       if (strncmp(c_cpunames[i], u.buf, sizeof(c_cpunames[0])) == 0) {
                                cputype = (cputype_t)i;
                                break;
                        }
@@ -267,16 +248,6 @@ cputype_t cpuid_get_cpu_type(void)
        return cputype;
 }
 
-bool cpuid_sprintf_cputype(const cputype_t cputype, char *buf)
-{
-       if (cputype == CT_NONE)
-               return false;
-
-       memcpy(buf, cpuids[(int)cputype], 12);
-       buf[12] = '\0';
-       return true;
-}
-
 uint32_t cpuid_highest_ext_func_supported(void)
 {
        static uint32_t highest;
@@ -300,16 +271,16 @@ uint32_t cpuid_highest_ext_func_supported(void)
        return highest;
 }
 
-void cpuid(cpuid_t info, uint32_t *buf)
+void cpuid(cpuid_t request, uint32_t *buf)
 {
        /* Sanity checks, make sure we're not trying to do something
         * invalid or we are trying to get information that isn't supported
         * by the CPU.  */
-       if (info > CPUID_VIRT_PHYS_ADDR_SIZES || (info > CPUID_HIGHEST_EXTENDED_FUNCTION_SUPPORTED
-               && !cpuid_test_feature(info)))
+       if (request > CPUID_VIRT_PHYS_ADDR_SIZES || (request > CPUID_HIGHEST_EXTENDED_FUNCTION_SUPPORTED
+               && !cpuid_test_feature(request)))
                return;
 
-       if (info == CPUID_PROC_BRAND_STRING) {
+       if (request == CPUID_PROC_BRAND_STRING) {
                static char cached[48] = { 0 };
                if (cached[0] == '\0') {
                        ___cpuid(CPUID_PROC_BRAND_STRING,           &buf[0], &buf[1], &buf[2],  &buf[3] );
@@ -321,15 +292,15 @@ void cpuid(cpuid_t info, uint32_t *buf)
                        buf = (uint32_t *)cached;
 
                return;
-       } else if (info == CPUID_HIGHEST_EXTENDED_FUNCTION_SUPPORTED) {
+       } else if (request == CPUID_HIGHEST_EXTENDED_FUNCTION_SUPPORTED) {
                *buf = cpuid_highest_ext_func_supported();
                return;
        }
 
        uint32_t eax, ebx, ecx, edx;
-       ___cpuid(info, &eax, &ebx, &ecx, &edx);
+       ___cpuid(request, &eax, &ebx, &ecx, &edx);
 
-       switch (info) {
+       switch (request) {
                case CPUID_VENDORID:
                        buf[0] = ebx;
                        buf[1] = edx;