diff options
Diffstat (limited to 'com32/gpllib')
-rw-r--r-- | com32/gpllib/cpuid.c | 6 | ||||
-rw-r--r-- | com32/gpllib/disk/ata.c | 2 | ||||
-rw-r--r-- | com32/gpllib/disk/bootloaders.c | 2 | ||||
-rw-r--r-- | com32/gpllib/dmi/dmi_processor.c | 52 |
4 files changed, 8 insertions, 54 deletions
diff --git a/com32/gpllib/cpuid.c b/com32/gpllib/cpuid.c index fa212045..f33e8958 100644 --- a/com32/gpllib/cpuid.c +++ b/com32/gpllib/cpuid.c @@ -232,8 +232,10 @@ void generic_identify(struct cpuinfo_x86 *c) } break; case X86_VENDOR_INTEL: - cpuid(0x4, &eax, &ebx, &ecx, &edx); - c->x86_num_cores = ((eax & 0xfc000000) >> 26) + 1; + if (c->cpuid_level >= 0x00000004) { + cpuid(0x4, &eax, &ebx, &ecx, &edx); + c->x86_num_cores = ((eax & 0xfc000000) >> 26) + 1; + } break; default: c->x86_num_cores = 1; diff --git a/com32/gpllib/disk/ata.c b/com32/gpllib/disk/ata.c index b0c2b63c..78f669ec 100644 --- a/com32/gpllib/disk/ata.c +++ b/com32/gpllib/disk/ata.c @@ -55,7 +55,7 @@ void ata_id_c_string(const uint16_t * id, unsigned char *s, ata_id_string(id, s, ofs, len - 1); - p = s + strnlen(s, len - 1); + p = s + strnlen((const char *)s, len - 1); while (p > s && p[-1] == ' ') p--; *p = '\0'; diff --git a/com32/gpllib/disk/bootloaders.c b/com32/gpllib/disk/bootloaders.c index 29aecbd4..188dd64b 100644 --- a/com32/gpllib/disk/bootloaders.c +++ b/com32/gpllib/disk/bootloaders.c @@ -22,7 +22,7 @@ * @buffer: pre-allocated buffer * @buffer_size: @buffer size **/ -int get_bootloader_string(const struct driveinfo *d, const struct part_entry *p, +int get_bootloader_string(struct driveinfo *d, const struct part_entry *p, char *buffer, const int buffer_size) { char boot_sector[SECTOR * sizeof(char)]; diff --git a/com32/gpllib/dmi/dmi_processor.c b/com32/gpllib/dmi/dmi_processor.c index fd007da3..1cd9d1ba 100644 --- a/com32/gpllib/dmi/dmi_processor.c +++ b/com32/gpllib/dmi/dmi_processor.c @@ -49,7 +49,7 @@ const char *dmi_processor_type(uint8_t code) const char *dmi_processor_family(uint8_t code, char *manufacturer) { /* 3.3.5.2 */ - static const char *family[] = { + static const char *family[256] = { NULL, /* 0x00 */ "Other", "Unknown", @@ -306,54 +306,6 @@ const char *dmi_processor_family(uint8_t code, char *manufacturer) NULL, NULL, NULL, /* 0xFF */ - NULL, - NULL, - NULL, - NULL, - "SH-3", - "SH-4", - NULL, /*0x106*/ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /*0x110*/ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - "ARM", - "StrongARM", - NULL, /*0x19A*/ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /*0x120*/ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, /*0x12A*/ - NULL, - "6x86", - "MediaGX", - "MII" /*0x12E*/ - /* master.mif has values beyond that, but they can't be used for DMI */ }; /* Special case for ambiguous value 0xBE */ if (code == 0xBE) { @@ -367,7 +319,7 @@ const char *dmi_processor_family(uint8_t code, char *manufacturer) return "Core 2 or K7"; } - if ((code<=0x12E) && (family[code] != NULL)) { + if (family[code] != NULL) { return family[code]; } return out_of_spec; |