Lines Matching refs:core
351 lcpu->core = NULL; in x86_lcpu_init()
366 x86_core_t *core; in x86_core_alloc() local
373 core = free_cores; in x86_core_alloc()
374 free_cores = core->next_in_die; in x86_core_alloc()
375 core->next_in_die = NULL; in x86_core_alloc()
379 core = zalloc_permanent_type(x86_core_t); in x86_core_alloc()
380 if (core == NULL) { in x86_core_alloc()
385 core->pcore_num = cpup->cpu_phys_number / topoParms.nPThreadsPerCore; in x86_core_alloc()
386 core->lcore_num = core->pcore_num % topoParms.nPCoresPerPackage; in x86_core_alloc()
388 core->flags = X86CORE_FL_PRESENT | X86CORE_FL_READY in x86_core_alloc()
391 return core; in x86_core_alloc()
395 x86_core_free(x86_core_t *core) in x86_core_free() argument
398 core->next_in_die = free_cores; in x86_core_free()
399 free_cores = core; in x86_core_free()
456 x86_core_t *core; in x86_core_find() local
470 core = die->cores; in x86_core_find()
471 while (core != NULL) { in x86_core_find()
472 if (core->pcore_num == core_num) { in x86_core_find()
475 core = core->next_in_die; in x86_core_find()
478 return core; in x86_core_find()
484 x86_core_t *core = lcpu->core; in x86_set_logical_topology() local
488 assert(core != NULL); in x86_set_logical_topology()
499 core->pcore_num = lnum / topoParms.nLThreadsPerCore; in x86_set_logical_topology()
500 core->lcore_num = core->pcore_num % topoParms.nLCoresPerDie; in x86_set_logical_topology()
619 x86_core_t *core; in x86_lcpu_add_caches() local
674 core = lcpu->core; in x86_lcpu_add_caches()
675 cur_lcpu = core->lcpus; in x86_lcpu_add_caches()
743 x86_core_add_lcpu(x86_core_t *core, x86_lcpu_t *lcpu) in x86_core_add_lcpu() argument
745 assert(core != NULL); in x86_core_add_lcpu()
750 lcpu->next_in_core = core->lcpus; in x86_core_add_lcpu()
751 lcpu->core = core; in x86_core_add_lcpu()
752 core->lcpus = lcpu; in x86_core_add_lcpu()
753 core->num_lcpus += 1; in x86_core_add_lcpu()
769 x86_die_add_core(x86_die_t *die, x86_core_t *core) in x86_die_add_core() argument
772 assert(core != NULL); in x86_die_add_core()
774 core->next_in_die = die->cores; in x86_die_add_core()
775 core->die = die; in x86_die_add_core()
776 die->cores = core; in x86_die_add_core()
792 x86_package_add_core(x86_pkg_t *pkg, x86_core_t *core) in x86_package_add_core() argument
795 assert(core != NULL); in x86_package_add_core()
797 core->next_in_pkg = pkg->cores; in x86_package_add_core()
798 core->package = pkg; in x86_package_add_core()
799 pkg->cores = core; in x86_package_add_core()
817 x86_core_t *core = NULL; in cpu_thread_alloc() local
903 core = x86_core_find(cpu); in cpu_thread_alloc()
904 if (core == NULL) { in cpu_thread_alloc()
909 core = x86_core_alloc(cpu); in cpu_thread_alloc()
912 x86_core_free(core); in cpu_thread_alloc()
919 x86_die_add_core(die, core); in cpu_thread_alloc()
920 x86_package_add_core(pkg, core); in cpu_thread_alloc()
923 } while (core == NULL); in cpu_thread_alloc()
935 x86_core_add_lcpu(core, &cpup->lcpu); in cpu_thread_alloc()
936 x86_die_add_lcpu(core->die, &cpup->lcpu); in cpu_thread_alloc()
937 x86_package_add_lcpu(core->package, &cpup->lcpu); in cpu_thread_alloc()
940 return (void *) core; in cpu_thread_alloc()
948 x86_core_t *core; in cpu_thread_init() local
961 cpup->lcpu.core = cpu_thread_alloc(my_cpu); in cpu_thread_init()
969 core = cpup->lcpu.core; in cpu_thread_init()
972 if (core->active_lcpus == 0) { in cpu_thread_init()
975 core->active_lcpus += 1; in cpu_thread_init()
990 x86_core_t *core; in cpu_thread_halt() local
995 core = cpup->lcpu.core; in cpu_thread_halt()
996 core->active_lcpus -= 1; in cpu_thread_halt()
997 if (core->active_lcpus == 0) { in cpu_thread_halt()
1022 x86_core_t *core; in x86_validate_topology() local
1069 core = die->cores; in x86_validate_topology()
1070 while (core != NULL) { in x86_validate_topology()
1071 if (core->die == NULL) { in x86_validate_topology()
1073 core->pcore_num); in x86_validate_topology()
1075 if (core->die != die) { in x86_validate_topology()
1077 core->pcore_num, core->die->pdie_num, die->pdie_num); in x86_validate_topology()
1080 TOPO_DBG("%d ", core->pcore_num); in x86_validate_topology()
1081 core = core->next_in_die; in x86_validate_topology()
1129 core = pkg->cores; in x86_validate_topology()
1130 while (core != NULL) { in x86_validate_topology()
1131 if (core->package == NULL) { in x86_validate_topology()
1133 core->pcore_num); in x86_validate_topology()
1135 if (core->package != pkg) { in x86_validate_topology()
1137 core->pcore_num, core->package->lpkg_num, pkg->lpkg_num); in x86_validate_topology()
1140 core->pcore_num, pkg->lpkg_num); in x86_validate_topology()
1146 lcpu = core->lcpus; in x86_validate_topology()
1147 TOPO_DBG("Core(%d)->lcpus: ", core->pcore_num); in x86_validate_topology()
1149 if (lcpu->core == NULL) { in x86_validate_topology()
1153 if (lcpu->core != core) { in x86_validate_topology()
1155 lcpu->cpu_num, lcpu->core->pcore_num, core->pcore_num); in x86_validate_topology()
1165 topoParms.nLThreadsPerCore, nCPUs, core->pcore_num); in x86_validate_topology()
1168 core = core->next_in_pkg; in x86_validate_topology()
1213 x86_core_t *core; in debug_topology_print() local
1228 core = die->cores; in debug_topology_print()
1229 while (core != NULL) { in debug_topology_print()
1231 kprintf(" Physical: %d\n", core->pcore_num); in debug_topology_print()
1232 kprintf(" Logical: %d\n", core->lcore_num); in debug_topology_print()
1234 cpu = core->lcpus; in debug_topology_print()
1255 core = core->next_in_die; in debug_topology_print()