ppc: Update cpu_model in MachineState
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> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
bab99ea098
commit
19fb2c36e2
|
@ -145,7 +145,6 @@ static void ppc_core99_reset(void *opaque)
|
||||||
static void ppc_core99_init(MachineState *machine)
|
static void ppc_core99_init(MachineState *machine)
|
||||||
{
|
{
|
||||||
ram_addr_t ram_size = machine->ram_size;
|
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_filename = machine->kernel_filename;
|
||||||
const char *kernel_cmdline = machine->kernel_cmdline;
|
const char *kernel_cmdline = machine->kernel_cmdline;
|
||||||
const char *initrd_filename = machine->initrd_filename;
|
const char *initrd_filename = machine->initrd_filename;
|
||||||
|
@ -182,14 +181,15 @@ static void ppc_core99_init(MachineState *machine)
|
||||||
linux_boot = (kernel_filename != NULL);
|
linux_boot = (kernel_filename != NULL);
|
||||||
|
|
||||||
/* init CPUs */
|
/* init CPUs */
|
||||||
if (cpu_model == NULL)
|
if (machine->cpu_model == NULL) {
|
||||||
#ifdef TARGET_PPC64
|
#ifdef TARGET_PPC64
|
||||||
cpu_model = "970fx";
|
machine->cpu_model = "970fx";
|
||||||
#else
|
#else
|
||||||
cpu_model = "G4";
|
machine->cpu_model = "G4";
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
for (i = 0; i < smp_cpus; i++) {
|
for (i = 0; i < smp_cpus; i++) {
|
||||||
cpu = cpu_ppc_init(cpu_model);
|
cpu = cpu_ppc_init(machine->cpu_model);
|
||||||
if (cpu == NULL) {
|
if (cpu == NULL) {
|
||||||
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
|
@ -75,7 +75,6 @@ static void ppc_heathrow_reset(void *opaque)
|
||||||
static void ppc_heathrow_init(MachineState *machine)
|
static void ppc_heathrow_init(MachineState *machine)
|
||||||
{
|
{
|
||||||
ram_addr_t ram_size = machine->ram_size;
|
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_filename = machine->kernel_filename;
|
||||||
const char *kernel_cmdline = machine->kernel_cmdline;
|
const char *kernel_cmdline = machine->kernel_cmdline;
|
||||||
const char *initrd_filename = machine->initrd_filename;
|
const char *initrd_filename = machine->initrd_filename;
|
||||||
|
@ -107,10 +106,10 @@ static void ppc_heathrow_init(MachineState *machine)
|
||||||
linux_boot = (kernel_filename != NULL);
|
linux_boot = (kernel_filename != NULL);
|
||||||
|
|
||||||
/* init CPUs */
|
/* init CPUs */
|
||||||
if (cpu_model == NULL)
|
if (machine->cpu_model == NULL)
|
||||||
cpu_model = "G3";
|
machine->cpu_model = "G3";
|
||||||
for (i = 0; i < smp_cpus; i++) {
|
for (i = 0; i < smp_cpus; i++) {
|
||||||
cpu = cpu_ppc_init(cpu_model);
|
cpu = cpu_ppc_init(machine->cpu_model);
|
||||||
if (cpu == NULL) {
|
if (cpu == NULL) {
|
||||||
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
|
@ -159,7 +159,6 @@ static void main_cpu_reset(void *opaque)
|
||||||
static void bamboo_init(MachineState *machine)
|
static void bamboo_init(MachineState *machine)
|
||||||
{
|
{
|
||||||
ram_addr_t ram_size = machine->ram_size;
|
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_filename = machine->kernel_filename;
|
||||||
const char *kernel_cmdline = machine->kernel_cmdline;
|
const char *kernel_cmdline = machine->kernel_cmdline;
|
||||||
const char *initrd_filename = machine->initrd_filename;
|
const char *initrd_filename = machine->initrd_filename;
|
||||||
|
@ -184,10 +183,10 @@ static void bamboo_init(MachineState *machine)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Setup CPU. */
|
/* Setup CPU. */
|
||||||
if (cpu_model == NULL) {
|
if (machine->cpu_model == NULL) {
|
||||||
cpu_model = "440EP";
|
machine->cpu_model = "440EP";
|
||||||
}
|
}
|
||||||
cpu = cpu_ppc_init(cpu_model);
|
cpu = cpu_ppc_init(machine->cpu_model);
|
||||||
if (cpu == NULL) {
|
if (cpu == NULL) {
|
||||||
fprintf(stderr, "Unable to initialize CPU!\n");
|
fprintf(stderr, "Unable to initialize CPU!\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
|
@ -506,7 +506,6 @@ static int PPC_NVRAM_set_params (Nvram *nvram, uint16_t NVRAM_size,
|
||||||
static void ppc_prep_init(MachineState *machine)
|
static void ppc_prep_init(MachineState *machine)
|
||||||
{
|
{
|
||||||
ram_addr_t ram_size = machine->ram_size;
|
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_filename = machine->kernel_filename;
|
||||||
const char *kernel_cmdline = machine->kernel_cmdline;
|
const char *kernel_cmdline = machine->kernel_cmdline;
|
||||||
const char *initrd_filename = machine->initrd_filename;
|
const char *initrd_filename = machine->initrd_filename;
|
||||||
|
@ -536,10 +535,10 @@ static void ppc_prep_init(MachineState *machine)
|
||||||
linux_boot = (kernel_filename != NULL);
|
linux_boot = (kernel_filename != NULL);
|
||||||
|
|
||||||
/* init CPUs */
|
/* init CPUs */
|
||||||
if (cpu_model == NULL)
|
if (machine->cpu_model == NULL)
|
||||||
cpu_model = "602";
|
machine->cpu_model = "602";
|
||||||
for (i = 0; i < smp_cpus; i++) {
|
for (i = 0; i < smp_cpus; i++) {
|
||||||
cpu = cpu_ppc_init(cpu_model);
|
cpu = cpu_ppc_init(machine->cpu_model);
|
||||||
if (cpu == NULL) {
|
if (cpu == NULL) {
|
||||||
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
|
@ -1440,7 +1440,6 @@ static void spapr_cpu_init(sPAPRMachineState *spapr, PowerPCCPU *cpu)
|
||||||
static void ppc_spapr_init(MachineState *machine)
|
static void ppc_spapr_init(MachineState *machine)
|
||||||
{
|
{
|
||||||
sPAPRMachineState *spapr = SPAPR_MACHINE(machine);
|
sPAPRMachineState *spapr = SPAPR_MACHINE(machine);
|
||||||
const char *cpu_model = machine->cpu_model;
|
|
||||||
const char *kernel_filename = machine->kernel_filename;
|
const char *kernel_filename = machine->kernel_filename;
|
||||||
const char *kernel_cmdline = machine->kernel_cmdline;
|
const char *kernel_cmdline = machine->kernel_cmdline;
|
||||||
const char *initrd_filename = machine->initrd_filename;
|
const char *initrd_filename = machine->initrd_filename;
|
||||||
|
@ -1520,11 +1519,11 @@ static void ppc_spapr_init(MachineState *machine)
|
||||||
XICS_IRQS);
|
XICS_IRQS);
|
||||||
|
|
||||||
/* init CPUs */
|
/* init CPUs */
|
||||||
if (cpu_model == NULL) {
|
if (machine->cpu_model == NULL) {
|
||||||
cpu_model = kvm_enabled() ? "host" : "POWER7";
|
machine->cpu_model = kvm_enabled() ? "host" : "POWER7";
|
||||||
}
|
}
|
||||||
for (i = 0; i < smp_cpus; i++) {
|
for (i = 0; i < smp_cpus; i++) {
|
||||||
cpu = cpu_ppc_init(cpu_model);
|
cpu = cpu_ppc_init(machine->cpu_model);
|
||||||
if (cpu == NULL) {
|
if (cpu == NULL) {
|
||||||
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
fprintf(stderr, "Unable to find PowerPC CPU definition\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|
|
@ -197,7 +197,6 @@ static int xilinx_load_device_tree(hwaddr addr,
|
||||||
static void virtex_init(MachineState *machine)
|
static void virtex_init(MachineState *machine)
|
||||||
{
|
{
|
||||||
ram_addr_t ram_size = machine->ram_size;
|
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_filename = machine->kernel_filename;
|
||||||
const char *kernel_cmdline = machine->kernel_cmdline;
|
const char *kernel_cmdline = machine->kernel_cmdline;
|
||||||
hwaddr initrd_base = 0;
|
hwaddr initrd_base = 0;
|
||||||
|
@ -214,11 +213,11 @@ static void virtex_init(MachineState *machine)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* init CPUs */
|
/* init CPUs */
|
||||||
if (cpu_model == NULL) {
|
if (machine->cpu_model == NULL) {
|
||||||
cpu_model = "440-Xilinx";
|
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;
|
env = &cpu->env;
|
||||||
qemu_register_reset(main_cpu_reset, cpu);
|
qemu_register_reset(main_cpu_reset, cpu);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue