Message ID | 1429858066-12088-11-git-send-email-bharata@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Fri, Apr 24, 2015 at 12:17:32PM +0530, Bharata B Rao wrote: > Keep cpu_model field in MachineState uptodate so that it can be used > from the CPU hotplug path. > > Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> > Reviewed-by: David Gibson <david@gibson.dropbear.id.au> As before, this looks fine to me, but I'm not sure which tree it should go through. Alex, do you want to take it directly, or send an Acked-by and I'll take it through spapr-next? > --- > hw/ppc/mac_newworld.c | 10 +++++----- > hw/ppc/mac_oldworld.c | 7 +++---- > hw/ppc/ppc440_bamboo.c | 7 +++---- > hw/ppc/prep.c | 7 +++---- > hw/ppc/spapr.c | 7 +++---- > hw/ppc/virtex_ml507.c | 7 +++---- > 6 files changed, 20 insertions(+), 25 deletions(-) > > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index 624b4ab..fe18bce 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -145,7 +145,6 @@ static void ppc_core99_reset(void *opaque) > static void ppc_core99_init(MachineState *machine) > { > ram_addr_t ram_size = machine->ram_size; > - const char *cpu_model = machine->cpu_model; > const char *kernel_filename = machine->kernel_filename; > const char *kernel_cmdline = machine->kernel_cmdline; > const char *initrd_filename = machine->initrd_filename; > @@ -182,14 +181,15 @@ static void ppc_core99_init(MachineState *machine) > linux_boot = (kernel_filename != NULL); > > /* init CPUs */ > - if (cpu_model == NULL) > + if (machine->cpu_model == NULL) { > #ifdef TARGET_PPC64 > - cpu_model = "970fx"; > + machine->cpu_model = "970fx"; > #else > - cpu_model = "G4"; > + machine->cpu_model = "G4"; > #endif > + } > for (i = 0; i < smp_cpus; i++) { > - cpu = cpu_ppc_init(cpu_model); > + cpu = cpu_ppc_init(machine->cpu_model); > if (cpu == NULL) { > fprintf(stderr, "Unable to find PowerPC CPU definition\n"); > exit(1); > diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c > index 3079510..2732319 100644 > --- a/hw/ppc/mac_oldworld.c > +++ b/hw/ppc/mac_oldworld.c > @@ -75,7 +75,6 @@ static void ppc_heathrow_reset(void *opaque) > static void ppc_heathrow_init(MachineState *machine) > { > ram_addr_t ram_size = machine->ram_size; > - const char *cpu_model = machine->cpu_model; > const char *kernel_filename = machine->kernel_filename; > const char *kernel_cmdline = machine->kernel_cmdline; > const char *initrd_filename = machine->initrd_filename; > @@ -107,10 +106,10 @@ static void ppc_heathrow_init(MachineState *machine) > linux_boot = (kernel_filename != NULL); > > /* init CPUs */ > - if (cpu_model == NULL) > - cpu_model = "G3"; > + if (machine->cpu_model == NULL) > + machine->cpu_model = "G3"; > for (i = 0; i < smp_cpus; i++) { > - cpu = cpu_ppc_init(cpu_model); > + cpu = cpu_ppc_init(machine->cpu_model); > if (cpu == NULL) { > fprintf(stderr, "Unable to find PowerPC CPU definition\n"); > exit(1); > diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c > index 778970a..032fa80 100644 > --- a/hw/ppc/ppc440_bamboo.c > +++ b/hw/ppc/ppc440_bamboo.c > @@ -159,7 +159,6 @@ static void main_cpu_reset(void *opaque) > static void bamboo_init(MachineState *machine) > { > ram_addr_t ram_size = machine->ram_size; > - const char *cpu_model = machine->cpu_model; > const char *kernel_filename = machine->kernel_filename; > const char *kernel_cmdline = machine->kernel_cmdline; > const char *initrd_filename = machine->initrd_filename; > @@ -184,10 +183,10 @@ static void bamboo_init(MachineState *machine) > int i; > > /* Setup CPU. */ > - if (cpu_model == NULL) { > - cpu_model = "440EP"; > + if (machine->cpu_model == NULL) { > + machine->cpu_model = "440EP"; > } > - cpu = cpu_ppc_init(cpu_model); > + cpu = cpu_ppc_init(machine->cpu_model); > if (cpu == NULL) { > fprintf(stderr, "Unable to initialize CPU!\n"); > exit(1); > diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c > index 15df7f3..55e9643 100644 > --- a/hw/ppc/prep.c > +++ b/hw/ppc/prep.c > @@ -364,7 +364,6 @@ static PortioList prep_port_list; > static void ppc_prep_init(MachineState *machine) > { > ram_addr_t ram_size = machine->ram_size; > - const char *cpu_model = machine->cpu_model; > const char *kernel_filename = machine->kernel_filename; > const char *kernel_cmdline = machine->kernel_cmdline; > const char *initrd_filename = machine->initrd_filename; > @@ -396,10 +395,10 @@ static void ppc_prep_init(MachineState *machine) > linux_boot = (kernel_filename != NULL); > > /* init CPUs */ > - if (cpu_model == NULL) > - cpu_model = "602"; > + if (machine->cpu_model == NULL) > + machine->cpu_model = "602"; > for (i = 0; i < smp_cpus; i++) { > - cpu = cpu_ppc_init(cpu_model); > + cpu = cpu_ppc_init(machine->cpu_model); > if (cpu == NULL) { > fprintf(stderr, "Unable to find PowerPC CPU definition\n"); > exit(1); > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index f2c4fbd..8cc55fe 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -1473,7 +1473,6 @@ static void ppc_spapr_init(MachineState *machine) > { > sPAPRMachineClass *smc = SPAPR_MACHINE_GET_CLASS(machine); > ram_addr_t ram_size = machine->ram_size; > - const char *cpu_model = machine->cpu_model; > const char *kernel_filename = machine->kernel_filename; > const char *kernel_cmdline = machine->kernel_cmdline; > const char *initrd_filename = machine->initrd_filename; > @@ -1567,11 +1566,11 @@ static void ppc_spapr_init(MachineState *machine) > } > > /* init CPUs */ > - if (cpu_model == NULL) { > - cpu_model = kvm_enabled() ? "host" : "POWER7"; > + if (machine->cpu_model == NULL) { > + machine->cpu_model = kvm_enabled() ? "host" : "POWER7"; > } > for (i = 0; i < smp_cpus; i++) { > - cpu = cpu_ppc_init(cpu_model); > + cpu = cpu_ppc_init(machine->cpu_model); > if (cpu == NULL) { > fprintf(stderr, "Unable to find PowerPC CPU definition\n"); > exit(1); > diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c > index 6ebd5be..f33d398 100644 > --- a/hw/ppc/virtex_ml507.c > +++ b/hw/ppc/virtex_ml507.c > @@ -197,7 +197,6 @@ static int xilinx_load_device_tree(hwaddr addr, > static void virtex_init(MachineState *machine) > { > ram_addr_t ram_size = machine->ram_size; > - const char *cpu_model = machine->cpu_model; > const char *kernel_filename = machine->kernel_filename; > const char *kernel_cmdline = machine->kernel_cmdline; > hwaddr initrd_base = 0; > @@ -214,11 +213,11 @@ static void virtex_init(MachineState *machine) > int i; > > /* init CPUs */ > - if (cpu_model == NULL) { > - cpu_model = "440-Xilinx"; > + if (machine->cpu_model == NULL) { > + machine->cpu_model = "440-Xilinx"; > } > > - cpu = ppc440_init_xilinx(&ram_size, 1, cpu_model, 400000000); > + cpu = ppc440_init_xilinx(&ram_size, 1, machine->cpu_model, 400000000); > env = &cpu->env; > qemu_register_reset(main_cpu_reset, cpu); >
On Tue, May 05, 2015 at 04:49:08PM +1000, David Gibson wrote: > On Fri, Apr 24, 2015 at 12:17:32PM +0530, Bharata B Rao wrote: > > Keep cpu_model field in MachineState uptodate so that it can be used > > from the CPU hotplug path. > > > > Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> > > Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > > As before, this looks fine to me, but I'm not sure which tree it > should go through. > > Alex, do you want to take it directly, or send an Acked-by and I'll > take it through spapr-next? In addition to this patch, there are a few other patches that are required by hotplug but can go in independently. 03/24 - spapr: Consider max_cpus during xics initialization 04/24 - spapr: Support ibm,lrdr-capacity device tree property 05/24 - spapr: Reorganize CPU dt generation code (Maybe?) 06/24 - spapr: Consolidate cpu init code into a routine 18/24 - xics_kvm: Don't enable KVM_CAP_IRQ_XICS if already enabled 19/24 - xics_kvm: Add cpu_destroy method to XICS Should I post these as a separate set (pre-requisites for sPAPR CPU hotplug) so that they can be pushed independently of the core hotplug patchset ? Regards, Bharata.
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 624b4ab..fe18bce 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -145,7 +145,6 @@ static void ppc_core99_reset(void *opaque) static void ppc_core99_init(MachineState *machine) { ram_addr_t ram_size = machine->ram_size; - const char *cpu_model = machine->cpu_model; const char *kernel_filename = machine->kernel_filename; const char *kernel_cmdline = machine->kernel_cmdline; const char *initrd_filename = machine->initrd_filename; @@ -182,14 +181,15 @@ static void ppc_core99_init(MachineState *machine) linux_boot = (kernel_filename != NULL); /* init CPUs */ - if (cpu_model == NULL) + if (machine->cpu_model == NULL) { #ifdef TARGET_PPC64 - cpu_model = "970fx"; + machine->cpu_model = "970fx"; #else - cpu_model = "G4"; + machine->cpu_model = "G4"; #endif + } for (i = 0; i < smp_cpus; i++) { - cpu = cpu_ppc_init(cpu_model); + cpu = cpu_ppc_init(machine->cpu_model); if (cpu == NULL) { fprintf(stderr, "Unable to find PowerPC CPU definition\n"); exit(1); diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 3079510..2732319 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -75,7 +75,6 @@ static void ppc_heathrow_reset(void *opaque) static void ppc_heathrow_init(MachineState *machine) { ram_addr_t ram_size = machine->ram_size; - const char *cpu_model = machine->cpu_model; const char *kernel_filename = machine->kernel_filename; const char *kernel_cmdline = machine->kernel_cmdline; const char *initrd_filename = machine->initrd_filename; @@ -107,10 +106,10 @@ static void ppc_heathrow_init(MachineState *machine) linux_boot = (kernel_filename != NULL); /* init CPUs */ - if (cpu_model == NULL) - cpu_model = "G3"; + if (machine->cpu_model == NULL) + machine->cpu_model = "G3"; for (i = 0; i < smp_cpus; i++) { - cpu = cpu_ppc_init(cpu_model); + cpu = cpu_ppc_init(machine->cpu_model); if (cpu == NULL) { fprintf(stderr, "Unable to find PowerPC CPU definition\n"); exit(1); diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index 778970a..032fa80 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -159,7 +159,6 @@ static void main_cpu_reset(void *opaque) static void bamboo_init(MachineState *machine) { ram_addr_t ram_size = machine->ram_size; - const char *cpu_model = machine->cpu_model; const char *kernel_filename = machine->kernel_filename; const char *kernel_cmdline = machine->kernel_cmdline; const char *initrd_filename = machine->initrd_filename; @@ -184,10 +183,10 @@ static void bamboo_init(MachineState *machine) int i; /* Setup CPU. */ - if (cpu_model == NULL) { - cpu_model = "440EP"; + if (machine->cpu_model == NULL) { + machine->cpu_model = "440EP"; } - cpu = cpu_ppc_init(cpu_model); + cpu = cpu_ppc_init(machine->cpu_model); if (cpu == NULL) { fprintf(stderr, "Unable to initialize CPU!\n"); exit(1); diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 15df7f3..55e9643 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -364,7 +364,6 @@ static PortioList prep_port_list; static void ppc_prep_init(MachineState *machine) { ram_addr_t ram_size = machine->ram_size; - const char *cpu_model = machine->cpu_model; const char *kernel_filename = machine->kernel_filename; const char *kernel_cmdline = machine->kernel_cmdline; const char *initrd_filename = machine->initrd_filename; @@ -396,10 +395,10 @@ static void ppc_prep_init(MachineState *machine) linux_boot = (kernel_filename != NULL); /* init CPUs */ - if (cpu_model == NULL) - cpu_model = "602"; + if (machine->cpu_model == NULL) + machine->cpu_model = "602"; for (i = 0; i < smp_cpus; i++) { - cpu = cpu_ppc_init(cpu_model); + cpu = cpu_ppc_init(machine->cpu_model); if (cpu == NULL) { fprintf(stderr, "Unable to find PowerPC CPU definition\n"); exit(1); diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index f2c4fbd..8cc55fe 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1473,7 +1473,6 @@ static void ppc_spapr_init(MachineState *machine) { sPAPRMachineClass *smc = SPAPR_MACHINE_GET_CLASS(machine); ram_addr_t ram_size = machine->ram_size; - const char *cpu_model = machine->cpu_model; const char *kernel_filename = machine->kernel_filename; const char *kernel_cmdline = machine->kernel_cmdline; const char *initrd_filename = machine->initrd_filename; @@ -1567,11 +1566,11 @@ static void ppc_spapr_init(MachineState *machine) } /* init CPUs */ - if (cpu_model == NULL) { - cpu_model = kvm_enabled() ? "host" : "POWER7"; + if (machine->cpu_model == NULL) { + machine->cpu_model = kvm_enabled() ? "host" : "POWER7"; } for (i = 0; i < smp_cpus; i++) { - cpu = cpu_ppc_init(cpu_model); + cpu = cpu_ppc_init(machine->cpu_model); if (cpu == NULL) { fprintf(stderr, "Unable to find PowerPC CPU definition\n"); exit(1); diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index 6ebd5be..f33d398 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -197,7 +197,6 @@ static int xilinx_load_device_tree(hwaddr addr, static void virtex_init(MachineState *machine) { ram_addr_t ram_size = machine->ram_size; - const char *cpu_model = machine->cpu_model; const char *kernel_filename = machine->kernel_filename; const char *kernel_cmdline = machine->kernel_cmdline; hwaddr initrd_base = 0; @@ -214,11 +213,11 @@ static void virtex_init(MachineState *machine) int i; /* init CPUs */ - if (cpu_model == NULL) { - cpu_model = "440-Xilinx"; + if (machine->cpu_model == NULL) { + machine->cpu_model = "440-Xilinx"; } - cpu = ppc440_init_xilinx(&ram_size, 1, cpu_model, 400000000); + cpu = ppc440_init_xilinx(&ram_size, 1, machine->cpu_model, 400000000); env = &cpu->env; qemu_register_reset(main_cpu_reset, cpu);