Message ID | 20190205173306.20483-7-eric.auger@redhat.com |
---|---|
State | New |
Headers | show |
Series | ARM virt: Initial RAM expansion and PCDIMM/NVDIMM support | expand |
On Tue, 5 Feb 2019 at 17:33, Eric Auger <eric.auger@redhat.com> wrote: > > On ARM, the kvm_type will be resolved by querying the KVMState. > Let's add the MachineState handle to the callback so that we > can retrieve the KVMState handle. in kvm_init, when the callback > is called, the kvm_state variable is not yet set. > > Signed-off-by: Eric Auger <eric.auger@redhat.com> > Acked-by: David Gibson <david@gibson.dropbear.id.au> > [ppc parts] > --- > accel/kvm/kvm-all.c | 2 +- > hw/ppc/mac_newworld.c | 3 +-- > hw/ppc/mac_oldworld.c | 2 +- > hw/ppc/spapr.c | 2 +- > include/hw/boards.h | 2 +- > 5 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/include/hw/boards.h b/include/hw/boards.h > index 02f114085f..425d2c86a6 100644 > --- a/include/hw/boards.h > +++ b/include/hw/boards.h > @@ -171,7 +171,7 @@ struct MachineClass { > void (*init)(MachineState *state); > void (*reset)(void); > void (*hot_add_cpu)(const int64_t id, Error **errp); > - int (*kvm_type)(const char *arg); > + int (*kvm_type)(MachineState *ms, const char *arg); > > BlockInterfaceType block_default_type; > int units_per_default_bus; > -- Can you add a line to the struct's documentation comment for the @kvm_type field, please ? We're rather inconsistent about what we name the MachineState* parameter in methods here: "state" x 1 (init) "machine" x 3 (get_hotplug_handler, cpu_index_to_instance_props, possible_cpu_arch_ids) "ms" x 1 (get_default_cpu_node_id) It would probably be better to follow the most common option rather than one of the rarer ones. Otherwise Reviewed-by: Peter Maydell <peter.maydell@linaro.org> thanks -- PMM
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 4e1de942ce..503900604c 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -1590,7 +1590,7 @@ static int kvm_init(MachineState *ms) kvm_type = qemu_opt_get(qemu_get_machine_opts(), "kvm-type"); if (mc->kvm_type) { - type = mc->kvm_type(kvm_type); + type = mc->kvm_type(ms, kvm_type); } else if (kvm_type) { ret = -EINVAL; fprintf(stderr, "Invalid argument kvm-type=%s\n", kvm_type); diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index f1c8400efd..3cce612ffa 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -563,8 +563,7 @@ static char *core99_fw_dev_path(FWPathProvider *p, BusState *bus, return NULL; } - -static int core99_kvm_type(const char *arg) +static int core99_kvm_type(MachineState *ms, const char *arg) { /* Always force PR KVM */ return 2; diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index 98d531d114..f3a594d7dc 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -419,7 +419,7 @@ static char *heathrow_fw_dev_path(FWPathProvider *p, BusState *bus, return NULL; } -static int heathrow_kvm_type(const char *arg) +static int heathrow_kvm_type(MachineState *ms, const char *arg) { /* Always force PR KVM */ return 2; diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 0fcdd35cbe..90cd0acb74 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2919,7 +2919,7 @@ static void spapr_machine_init(MachineState *machine) } } -static int spapr_kvm_type(const char *vm_type) +static int spapr_kvm_type(MachineState *ms, const char *vm_type) { if (!vm_type) { return 0; diff --git a/include/hw/boards.h b/include/hw/boards.h index 02f114085f..425d2c86a6 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -171,7 +171,7 @@ struct MachineClass { void (*init)(MachineState *state); void (*reset)(void); void (*hot_add_cpu)(const int64_t id, Error **errp); - int (*kvm_type)(const char *arg); + int (*kvm_type)(MachineState *ms, const char *arg); BlockInterfaceType block_default_type; int units_per_default_bus;