diff --git a/ChangeLog b/ChangeLog index 982a1d0b..07f7096c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-09-21 Doug MacEachern + + * Fix Linux cpu_info /proc/cpuinfo parsing on ia64 + 2006-09-08 Doug MacEachern * [SIGAR-13] Use EnumProcesses for sigar_proc_list_get on Win32 diff --git a/src/os/linux/linux_sigar.c b/src/os/linux/linux_sigar.c index 00abc945..70656884 100644 --- a/src/os/linux/linux_sigar.c +++ b/src/os/linux/linux_sigar.c @@ -1510,7 +1510,8 @@ static int get_cpu_info(sigar_t *sigar, sigar_cpu_info_t *info, } break; case 'v': - if (strnEQ(ptr, "vendor_id", 9)) { + /* "vendor_id" or "vendor" */ + if (strnEQ(ptr, "vendor", 6)) { cpu_info_strcpy(ptr, info->vendor, sizeof(info->vendor)); if (strEQ(info->vendor, "GenuineIntel")) { SIGAR_SSTRCPY(info->vendor, "Intel"); @@ -1520,6 +1521,13 @@ static int get_cpu_info(sigar_t *sigar, sigar_cpu_info_t *info, } } break; + case 'f': + if (strnEQ(ptr, "family", 6)) { + /* IA64 version of "model name" */ + cpu_info_strcpy(ptr, info->model, sizeof(info->model)); + sigar_cpu_model_adjust(sigar, info); + } + break; case 'm': if (strnEQ(ptr, "model name", 10)) { cpu_info_strcpy(ptr, info->model, sizeof(info->model));