Lines Matching refs:spapr
67 void (*apply)(SpaprMachineState *spapr, uint8_t val, Error **errp);
68 void (*cpu_apply)(SpaprMachineState *spapr, PowerPCCPU *cpu,
77 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_get_bool() local
78 bool value = spapr_get_cap(spapr, cap->index) == SPAPR_CAP_ON; in spapr_cap_get_bool()
87 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_set_bool() local
94 spapr->cmd_line_caps[cap->index] = true; in spapr_cap_set_bool()
95 spapr->eff.caps[cap->index] = value ? SPAPR_CAP_ON : SPAPR_CAP_OFF; in spapr_cap_set_bool()
103 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_get_string() local
105 uint8_t value = spapr_get_cap(spapr, cap->index); in spapr_cap_get_string()
121 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_set_string() local
135 spapr->cmd_line_caps[cap->index] = true; in spapr_cap_set_string()
136 spapr->eff.caps[cap->index] = i; in spapr_cap_set_string()
149 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_get_pagesize() local
150 uint8_t val = spapr_get_cap(spapr, cap->index); in spapr_cap_get_pagesize()
160 SpaprMachineState *spapr = SPAPR_MACHINE(obj); in spapr_cap_set_pagesize() local
174 spapr->cmd_line_caps[cap->index] = true; in spapr_cap_set_pagesize()
175 spapr->eff.caps[cap->index] = val; in spapr_cap_set_pagesize()
178 static void cap_htm_apply(SpaprMachineState *spapr, uint8_t val, Error **errp) in cap_htm_apply() argument
195 static void cap_vsx_apply(SpaprMachineState *spapr, uint8_t val, Error **errp) in cap_vsx_apply() argument
213 static void cap_dfp_apply(SpaprMachineState *spapr, uint8_t val, Error **errp) in cap_dfp_apply() argument
234 static void cap_safe_cache_apply(SpaprMachineState *spapr, uint8_t val, in cap_safe_cache_apply() argument
259 static void cap_safe_bounds_check_apply(SpaprMachineState *spapr, uint8_t val, in cap_safe_bounds_check_apply() argument
287 static void cap_safe_indirect_branch_apply(SpaprMachineState *spapr, in cap_safe_indirect_branch_apply() argument
307 bool spapr_check_pagesize(SpaprMachineState *spapr, hwaddr pagesize, in spapr_check_pagesize() argument
310 hwaddr maxpagesize = (1ULL << spapr->eff.caps[SPAPR_CAP_HPT_MAXPAGESIZE]); in spapr_check_pagesize()
327 static void cap_hpt_maxpagesize_apply(SpaprMachineState *spapr, in cap_hpt_maxpagesize_apply() argument
337 spapr_check_pagesize(spapr, qemu_minrampagesize(), errp); in cap_hpt_maxpagesize_apply()
428 static void cap_hpt_maxpagesize_cpu_apply(SpaprMachineState *spapr, in cap_hpt_maxpagesize_cpu_apply() argument
437 static void cap_nested_kvm_hv_apply(SpaprMachineState *spapr, in cap_nested_kvm_hv_apply() argument
457 spapr->max_compat_pvr)) { in cap_nested_kvm_hv_apply()
475 MachineState *ms = MACHINE(spapr); in cap_nested_kvm_hv_apply()
488 if (spapr_nested_api(spapr) && in cap_nested_kvm_hv_apply()
489 spapr_nested_api(spapr) != NESTED_API_KVM_HV) { in cap_nested_kvm_hv_apply()
495 spapr->nested.api = NESTED_API_KVM_HV; in cap_nested_kvm_hv_apply()
500 static void cap_nested_papr_apply(SpaprMachineState *spapr, in cap_nested_papr_apply() argument
519 if (spapr_nested_api(spapr) && in cap_nested_papr_apply()
520 spapr_nested_api(spapr) != NESTED_API_PAPR) { in cap_nested_papr_apply()
526 spapr->nested.api = NESTED_API_PAPR; in cap_nested_papr_apply()
535 static void cap_large_decr_apply(SpaprMachineState *spapr, in cap_large_decr_apply() argument
548 spapr->max_compat_pvr)) { in cap_large_decr_apply()
570 static void cap_large_decr_cpu_apply(SpaprMachineState *spapr, in cap_large_decr_cpu_apply() argument
594 static void cap_ccf_assist_apply(SpaprMachineState *spapr, uint8_t val, in cap_ccf_assist_apply() argument
625 static void cap_fwnmi_apply(SpaprMachineState *spapr, uint8_t val, in cap_fwnmi_apply() argument
642 static void cap_rpt_invalidate_apply(SpaprMachineState *spapr, in cap_rpt_invalidate_apply() argument
673 static void cap_ail_mode_3_apply(SpaprMachineState *spapr, in cap_ail_mode_3_apply() argument
700 static void cap_dawr1_apply(SpaprMachineState *spapr, uint8_t val, in cap_dawr1_apply() argument
709 if (!ppc_type_check_compat(MACHINE(spapr)->cpu_type, in cap_dawr1_apply()
711 spapr->max_compat_pvr)) { in cap_dawr1_apply()
874 static SpaprCapabilities default_caps_with_cpu(SpaprMachineState *spapr, in default_caps_with_cpu() argument
877 SpaprMachineClass *smc = SPAPR_MACHINE_GET_CLASS(spapr); in default_caps_with_cpu()
883 0, spapr->max_compat_pvr)) { in default_caps_with_cpu()
888 0, spapr->max_compat_pvr)) { in default_caps_with_cpu()
893 0, spapr->max_compat_pvr)) { in default_caps_with_cpu()
900 0, spapr->max_compat_pvr)) { in default_caps_with_cpu()
905 0, spapr->max_compat_pvr)) { in default_caps_with_cpu()
929 SpaprMachineState *spapr = opaque; in spapr_caps_pre_load() local
932 spapr->mig = spapr->def; in spapr_caps_pre_load()
938 SpaprMachineState *spapr = opaque; in spapr_caps_pre_save() local
940 spapr->mig = spapr->eff; in spapr_caps_pre_save()
948 int spapr_caps_post_migration(SpaprMachineState *spapr) in spapr_caps_post_migration() argument
952 SpaprCapabilities dstcaps = spapr->eff; in spapr_caps_post_migration()
955 srccaps = default_caps_with_cpu(spapr, MACHINE(spapr)->cpu_type); in spapr_caps_post_migration()
958 if (spapr->mig.caps[i] != spapr->def.caps[i]) { in spapr_caps_post_migration()
959 srccaps.caps[i] = spapr->mig.caps[i]; in spapr_caps_post_migration()
985 SpaprMachineState *spapr = opaque; \
990 spapr->cmd_line_caps[cap] && \
991 (spapr->eff.caps[cap] != \
992 spapr->def.caps[cap]); \
1023 void spapr_caps_init(SpaprMachineState *spapr) in spapr_caps_init() argument
1029 default_caps = default_caps_with_cpu(spapr, MACHINE(spapr)->cpu_type); in spapr_caps_init()
1033 spapr->def.caps[i] = default_caps.caps[i]; in spapr_caps_init()
1035 if (!spapr->cmd_line_caps[i]) { in spapr_caps_init()
1036 spapr->eff.caps[i] = default_caps.caps[i]; in spapr_caps_init()
1041 void spapr_caps_apply(SpaprMachineState *spapr) in spapr_caps_apply() argument
1052 info->apply(spapr, spapr->eff.caps[i], &error_fatal); in spapr_caps_apply()
1056 void spapr_caps_cpu_apply(SpaprMachineState *spapr, PowerPCCPU *cpu) in spapr_caps_cpu_apply() argument
1068 info->cpu_apply(spapr, cpu, spapr->eff.caps[i], &error_fatal); in spapr_caps_cpu_apply()