}
 }
 
-int get_max_punit_core_id(int pkg_id, int die_id)
+int get_max_punit_core_id(struct isst_id *id)
 {
        int max_id = 0;
        int i;
                if (!CPU_ISSET_S(i, present_cpumask_size, present_cpumask))
                        continue;
 
-               if (cpu_map[i].pkg_id == pkg_id &&
-                       cpu_map[i].die_id == die_id &&
+               if (cpu_map[i].pkg_id == id->pkg &&
+                       cpu_map[i].die_id == id->die &&
                        cpu_map[i].punit_cpu_core > max_id)
                        max_id = cpu_map[i].punit_cpu_core;
        }
        return max_id;
 }
 
-int get_cpu_count(int pkg_id, int die_id)
+int get_cpu_count(struct isst_id *id)
 {
-       if (pkg_id < MAX_PACKAGE_COUNT && die_id < MAX_DIE_PER_PACKAGE)
-               return cpu_cnt[pkg_id][die_id];
+       if (id->pkg < MAX_PACKAGE_COUNT && id->die < MAX_DIE_PER_PACKAGE)
+               return cpu_cnt[id->pkg][id->die];
 
        return 0;
 }
 
 
        pbf_info->core_cpumask_size = alloc_cpu_set(&pbf_info->core_cpumask);
 
-       max_punit_core = get_max_punit_core_id(get_physical_package_id(id->cpu), get_physical_die_id(id->cpu));
+       max_punit_core = get_max_punit_core_id(id);
        max_mask_index = max_punit_core > 32 ? 2 : 1;
 
        for (i = 0; i < max_mask_index; ++i) {
 
                format_and_print(outf, level + 1, header, NULL);
 
                snprintf(header, sizeof(header), "cpu-count");
-               j = get_cpu_count(get_physical_package_id(id->cpu),
-                                 get_physical_die_id(id->cpu));
+               j = get_cpu_count(id);
                snprintf(value, sizeof(value), "%d", j);
                format_and_print(outf, level + 2, header, value);
 
 
 };
 
 extern int get_topo_max_cpus(void);
-extern int get_cpu_count(int pkg_id, int die_id);
-extern int get_max_punit_core_id(int pkg_id, int die_id);
+extern int get_cpu_count(struct isst_id *id);
+extern int get_max_punit_core_id(struct isst_id *id);
 
 /* Common interfaces */
 FILE *get_output_file(void);