core_info
static void init_core_info(struct core_info *cip, struct kvmppc_vcore *vc)
static bool can_dynamic_split(struct kvmppc_vcore *vc, struct core_info *cip)
static bool can_piggyback(struct kvmppc_vcore *pvc, struct core_info *cip,
static void collect_piggybacks(struct core_info *cip, int target_threads)
static bool recheck_signals_and_mmu(struct core_info *cip)
struct core_info core_info;
init_core_info(&core_info, vc);
collect_piggybacks(&core_info, target_threads);
recheck_signals_and_mmu(&core_info)) {
for (sub = 1; sub < core_info.n_subcores; ++sub) {
pvc = core_info.vc[sub];
split = core_info.n_subcores;
for (sub = 0; sub < core_info.n_subcores; ++sub)
split_info.vc[sub] = core_info.vc[sub];
for (sub = 0; sub < core_info.n_subcores; ++sub) {
pvc = core_info.vc[sub];
for (sub = 0; sub < core_info.n_subcores; ++sub)
spin_unlock(&core_info.vc[sub]->lock);
for (sub = 0; sub < core_info.n_subcores; ++sub) {
pvc = core_info.vc[sub];
struct core_display_cfg_support_info core_info;
chip->core_info = malidp_read32(reg_base, GLB_CORE_INFO);
u32 core_info;
static void t7xx_core_hk_handler(struct t7xx_modem *md, struct t7xx_sys_info *core_info,
t7xx_prepare_host_rt_data_query(core_info);
ret = t7xx_parse_host_rt_data(ctl, core_info, dev, event->data, event->length);
ret = t7xx_prepare_device_rt_data(core_info, dev, event->data);
core_info->ready = true;
core_info->handshake_ongoing = false;
cpu_top->core_info = malloc(sizeof(struct cpuid_core_info) * cpus);
if (cpu_top->core_info == NULL)
cpu_top->core_info[cpu].cpu = cpu;
cpu_top->core_info[cpu].is_online = cpupower_is_cpu_online(cpu);
&(cpu_top->core_info[cpu].pkg)) < 0) {
cpu_top->core_info[cpu].pkg = -1;
cpu_top->core_info[cpu].core = -1;
&(cpu_top->core_info[cpu].core)) < 0) {
cpu_top->core_info[cpu].pkg = -1;
cpu_top->core_info[cpu].core = -1;
if (cpu_top->core_info[cpu].core == -1) {
strncpy(cpu_top->core_info[cpu].core_cpu_list, "-1", CPULIST_BUFFER);
cpu_top->core_info[cpu].core_cpu_list,
qsort(cpu_top->core_info, cpus, sizeof(struct cpuid_core_info),
last_cpu_list = cpu_top->core_info[0].core_cpu_list;
if (strcmp(cpu_top->core_info[cpu].core_cpu_list, last_cpu_list) != 0 &&
cpu_top->core_info[cpu].pkg != -1) {
last_cpu_list = cpu_top->core_info[cpu].core_cpu_list;
qsort(cpu_top->core_info, cpus, sizeof(struct cpuid_core_info),
last_pkg = cpu_top->core_info[0].pkg;
if (cpu_top->core_info[cpu].pkg != last_pkg &&
cpu_top->core_info[cpu].pkg != -1) {
last_pkg = cpu_top->core_info[cpu].pkg;
if (!(cpu_top->core_info[0].pkg == -1))
free(cpu_top.core_info);
struct cpuid_core_info *core_info;
if (!bitmask_isbitset(cpus_chosen, cpu_top.core_info[cpu].cpu))
if (!cpu_top.core_info[cpu].is_online &&
cpu_top.core_info[cpu].pkg == -1)
printf("%4d|", cpu_top.core_info[cpu].pkg);
printf("%4d|", cpu_top.core_info[cpu].core);
printf("%4d|", cpu_top.core_info[cpu].cpu);
cpu_top.core_info[cpu].cpu);
cpu_top.core_info[cpu].cpu);
if (!cpu_top.core_info[cpu].is_online &&
cpu_top.core_info[cpu].pkg != -1) {
if (!cpu_top.core_info[0].is_online)