[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFCv2 02/12] pseries: Make cpu_update during CAS unconditi
From: |
David Gibson |
Subject: |
[Qemu-devel] [RFCv2 02/12] pseries: Make cpu_update during CAS unconditional |
Date: |
Wed, 16 Nov 2016 09:17:45 +1100 |
spapr_h_cas_compose_response() includes a cpu_update parameter which
controls whether it includes updated information on the CPUs in the device
tree fragment returned from the ibm,client-architecture-support (CAS) call.
Providing the updated information is essential when CAS has negotiated
compatibility options which require different cpu information to be
presented to the guest. However, it should be safe to provide in other
cases (it will just override the existing data in the device tree with
identical data). This simplifies the code by removing the parameter and
always providing the cpu update information.
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Alexey Kardashevskiy <address@hidden>
---
hw/ppc/spapr.c | 5 +----
hw/ppc/spapr_hcall.c | 8 ++------
include/hw/ppc/spapr.h | 1 -
3 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index cbac537..d6cc3bd 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -685,7 +685,6 @@ out:
int spapr_h_cas_compose_response(sPAPRMachineState *spapr,
target_ulong addr, target_ulong size,
- bool cpu_update,
sPAPROptionVector *ov5_updates)
{
void *fdt, *fdt_skel;
@@ -704,9 +703,7 @@ int spapr_h_cas_compose_response(sPAPRMachineState *spapr,
g_free(fdt_skel);
/* Fixup cpu nodes */
- if (cpu_update) {
- _FDT((spapr_fixup_cpu_dt(fdt, spapr)));
- }
+ _FDT((spapr_fixup_cpu_dt(fdt, spapr)));
if (spapr_dt_cas_updates(spapr, fdt, ov5_updates)) {
return -1;
diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
index 9a9bedf..3f08b8a 100644
--- a/hw/ppc/spapr_hcall.c
+++ b/hw/ppc/spapr_hcall.c
@@ -945,7 +945,7 @@ static target_ulong
h_client_architecture_support(PowerPCCPU *cpu_,
target_ulong ov_table;
PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cpu_);
CPUState *cs;
- bool cpu_match = false, cpu_update = true;
+ bool cpu_match = false;
unsigned old_cpu_version = cpu_->cpu_version;
unsigned compat_lvl = 0, cpu_version = 0;
unsigned max_lvl = get_compat_level(cpu_->max_compat);
@@ -999,10 +999,6 @@ static target_ulong
h_client_architecture_support(PowerPCCPU *cpu_,
}
}
- if (!cpu_version) {
- cpu_update = false;
- }
-
/* For the future use: here @ov_table points to the first option vector */
ov_table = list;
@@ -1028,7 +1024,7 @@ static target_ulong
h_client_architecture_support(PowerPCCPU *cpu_,
if (!spapr->cas_reboot) {
spapr->cas_reboot =
- (spapr_h_cas_compose_response(spapr, args[1], args[2], cpu_update,
+ (spapr_h_cas_compose_response(spapr, args[1], args[2],
ov5_updates) != 0);
}
spapr_ovec_cleanup(ov5_updates);
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index f8d444d..04d2821 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -589,7 +589,6 @@ void spapr_events_init(sPAPRMachineState *sm);
void spapr_dt_events(sPAPRMachineState *sm, void *fdt);
int spapr_h_cas_compose_response(sPAPRMachineState *sm,
target_ulong addr, target_ulong size,
- bool cpu_update,
sPAPROptionVector *ov5_updates);
sPAPRTCETable *spapr_tce_new_table(DeviceState *owner, uint32_t liobn);
void spapr_tce_table_enable(sPAPRTCETable *tcet,
--
2.7.4
- [Qemu-devel] [RFCv2 00/12] Clean up compatibility mode handling, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 11/12] pseries: Reset CPU compatibility mode, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 09/12] ppc: Add ppc_set_compat_all(), David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 04/12] ppc: Rename cpu_version to compat_pvr, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 06/12] ppc: Rewrite ppc_get_compat_smt_threads(), David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 02/12] pseries: Make cpu_update during CAS unconditional,
David Gibson <=
- [Qemu-devel] [RFCv2 01/12] pseries: Always use core objects for CPU construction, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 03/12] ppc: Clean up and QOMify hypercall emulation, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 08/12] pseries: Rewrite CAS PVR compatibility logic, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 05/12] ppc: Rewrite ppc_set_compat(), David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 07/12] ppc: Validate compatibility modes when setting, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 12/12] ppc: Rework CPU compatibility testing across migration, David Gibson, 2016/11/15
- [Qemu-devel] [RFCv2 10/12] pseries: Move CPU compatibility property to machine, David Gibson, 2016/11/15
- Re: [Qemu-devel] [RFCv2 00/12] Clean up compatibility mode handling, no-reply, 2016/11/15