some freebsd cpu infos
This commit is contained in:
parent
7852029a84
commit
066ef754c4
|
@ -804,6 +804,7 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
|
|||
int i, mhz;
|
||||
unsigned long long value;
|
||||
size_t size;
|
||||
char model[128], vendor[128], *ptr;
|
||||
|
||||
size = sizeof(value);
|
||||
if (!sysctlbyname(CTL_HW_FREQ, &value, &size, NULL, 0)) {
|
||||
|
@ -813,6 +814,24 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
|
|||
mhz = SIGAR_FIELD_NOTIMPL;
|
||||
}
|
||||
|
||||
size = sizeof(model);
|
||||
if (sysctlbyname("hw.model", &model, &size, NULL, 0) == -1) {
|
||||
strcpy(model, "Unknown");
|
||||
}
|
||||
else if ((ptr = strchr(model, ' '))) {
|
||||
*ptr = '\0';
|
||||
if (strstr(model, "Intel")) {
|
||||
SIGAR_SSTRCPY(vendor, "Intel");
|
||||
}
|
||||
else if (strstr(model, "AMD")) {
|
||||
SIGAR_SSTRCPY(vendor, "AMD");
|
||||
}
|
||||
else {
|
||||
SIGAR_SSTRCPY(vendor, "Unknown");
|
||||
}
|
||||
SIGAR_SSTRCPY(model, ptr+1);
|
||||
}
|
||||
|
||||
sigar_cpu_info_list_create(cpu_infos);
|
||||
|
||||
for (i=0; i<sigar->ncpu; i++) {
|
||||
|
@ -821,10 +840,14 @@ int sigar_cpu_info_list_get(sigar_t *sigar,
|
|||
SIGAR_CPU_INFO_LIST_GROW(cpu_infos);
|
||||
|
||||
info = &cpu_infos->data[cpu_infos->number++];
|
||||
|
||||
#ifdef DARWIN
|
||||
SIGAR_SSTRCPY(info->vendor, "Apple");
|
||||
SIGAR_SSTRCPY(info->model, "powerpc");
|
||||
|
||||
#else
|
||||
SIGAR_SSTRCPY(info->vendor, vendor);
|
||||
SIGAR_SSTRCPY(info->model, model);
|
||||
sigar_cpu_model_adjust(sigar, info);
|
||||
#endif
|
||||
info->mhz = mhz;
|
||||
info->cache_size = SIGAR_FIELD_NOTIMPL;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue