Lines Matching refs:model

156     if (!cpu || !cpu->model) {  in s390_get_hmfai()
159 return cpu->model->def->hmfai; in s390_get_hmfai()
170 if (!cpu || !cpu->model) { in s390_get_mha_pow()
173 return cpu->model->def->mha_pow; in s390_get_mha_pow()
185 if (!cpu || !cpu->model) { in s390_get_ibc_val()
188 unblocked_ibc = s390_ibc_from_cpu_model(cpu->model); in s390_get_ibc_val()
189 lowest_ibc = cpu->model->lowest_ibc; in s390_get_ibc_val()
201 if (!cpu || !cpu->model) { in s390_get_feat_block()
204 s390_fill_feat_block(cpu->model->features, type, data); in s390_get_feat_block()
215 if (!cpu || !cpu->model) { in s390_has_feat()
262 return test_bit(feat, cpu->model->features); in s390_has_feat()
425 static void check_consistency(const S390CPUModel *model) in check_consistency() argument
489 if (test_bit(dep[i][0], model->features) && in check_consistency()
490 !test_bit(dep[i][1], model->features)) { in check_consistency()
504 const S390CPUModel *model, Error **errp) in check_compatibility() argument
508 if (model->def->gen > max_model->def->gen) { in check_compatibility()
513 } else if (model->def->gen == max_model->def->gen && in check_compatibility()
514 model->def->ec_ga > max_model->def->ec_ga) { in check_compatibility()
522 if (only_migratable && test_bit(S390_FEAT_UNPACK, model->features)) { in check_compatibility()
531 bitmap_andnot(missing, model->features, max_model->features, S390_FEAT_MAX); in check_compatibility()
579 if (!cpu->model) { in s390_realize_cpu_model()
592 cpu->model->lowest_ibc = max_model->lowest_ibc; in s390_realize_cpu_model()
593 cpu->model->cpu_id = max_model->cpu_id; in s390_realize_cpu_model()
594 cpu->model->cpu_id_format = max_model->cpu_id_format; in s390_realize_cpu_model()
595 cpu->model->cpu_ver = max_model->cpu_ver; in s390_realize_cpu_model()
597 check_consistency(cpu->model); in s390_realize_cpu_model()
598 check_compatibility(max_model, cpu->model, &err); in s390_realize_cpu_model()
604 apply_cpu_model(cpu->model, errp); in s390_realize_cpu_model()
607 cpu->env.cpuid = s390_cpuid_from_cpu_model(cpu->model); in s390_realize_cpu_model()
622 if (!cpu->model) { in get_feature()
628 value = test_bit(feat, cpu->model->features); in get_feature()
644 } else if (!cpu->model) { in set_feature()
654 if (!test_bit(feat, cpu->model->def->full_feat)) { in set_feature()
657 name, cpu->model->def->name); in set_feature()
660 set_bit(feat, cpu->model->features); in set_feature()
662 clear_bit(feat, cpu->model->features); in set_feature()
675 if (!cpu->model) { in get_feature_group()
682 bitmap_and(tmp, cpu->model->features, def->feat, S390_FEAT_MAX); in get_feature_group()
700 } else if (!cpu->model) { in set_feature_group()
711 if (!bitmap_intersects(def->feat, cpu->model->def->full_feat, in set_feature_group()
715 name, cpu->model->def->name); in set_feature_group()
718 bitmap_or(cpu->model->features, cpu->model->features, def->feat, in set_feature_group()
721 bitmap_andnot(cpu->model->features, cpu->model->features, def->feat, in set_feature_group()
731 cpu->model = g_malloc0(sizeof(*cpu->model)); in s390_cpu_model_initfn()
733 cpu->model->def = xcc->cpu_def; in s390_cpu_model_initfn()
736 bitmap_copy(cpu->model->features, cpu->model->def->base_feat, in s390_cpu_model_initfn()
740 bitmap_copy(cpu->model->features, in s390_cpu_model_initfn()
741 cpu->model->def->default_feat, S390_FEAT_MAX); in s390_cpu_model_initfn()
768 cpu->model = g_malloc0(sizeof(*cpu->model)); in s390_qemu_cpu_model_initfn()
770 memcpy(cpu->model, &s390_qemu_cpu_model, sizeof(*cpu->model)); in s390_qemu_cpu_model_initfn()
793 cpu->model = g_new(S390CPUModel, 1); in s390_max_cpu_model_initfn()
795 memcpy(cpu->model, max_model, sizeof(*cpu->model)); in s390_max_cpu_model_initfn()
802 g_free(cpu->model); in s390_cpu_model_finalize()
803 cpu->model = NULL; in s390_cpu_model_finalize()