On Tue, 4 Dec 2018 11:14:32 +0000 Julien Thierry <julien.thierry@xxxxxxx> wrote: Hi, > Add a callback that allows to set arch specific default values when > creating fresh VM. So is this needed just for initialising the LIST_HEAD in the next patch? Can't we use some dev_init() call for that purpose, or even add the nonvolatile memory device to all architectures and init this in one place? Cheers, Andre. > > Signed-off-by: Julien Thierry <julien.thierry@xxxxxxx> > --- > arm/kvm.c | 4 ++++ > include/kvm/kvm.h | 1 + > kvm.c | 2 ++ > mips/kvm.c | 4 ++++ > powerpc/kvm.c | 4 ++++ > x86/kvm.c | 4 ++++ > 6 files changed, 19 insertions(+) > > diff --git a/arm/kvm.c b/arm/kvm.c > index d5bbbc3..1a2cfdc 100644 > --- a/arm/kvm.c > +++ b/arm/kvm.c > @@ -57,6 +57,10 @@ void kvm__arch_set_cmdline(char *cmdline, bool > video) { > } > > +void kvm__arch_reset(struct kvm *kvm) > +{ > +} > + > void kvm__arch_init(struct kvm *kvm, const char *hugetlbfs_path, u64 > ram_size) { > /* > diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h > index 1edacfd..eeeb10c 100644 > --- a/include/kvm/kvm.h > +++ b/include/kvm/kvm.h > @@ -136,6 +136,7 @@ int kvm__enumerate_instances(int > (*callback)(const char *name, int pid)); void > kvm__remove_socket(const char *name); > void kvm__arch_set_cmdline(char *cmdline, bool video); > +void kvm__arch_reset(struct kvm *kvm); > void kvm__arch_init(struct kvm *kvm, const char *hugetlbfs_path, u64 > ram_size); void kvm__arch_delete_ram(struct kvm *kvm); > int kvm__arch_setup_firmware(struct kvm *kvm); > diff --git a/kvm.c b/kvm.c > index 7de825a..05ad0b6 100644 > --- a/kvm.c > +++ b/kvm.c > @@ -158,6 +158,8 @@ struct kvm *kvm__new(void) > kvm->sys_fd = -1; > kvm->vm_fd = -1; > > + kvm__arch_reset(kvm); > + > return kvm; > } > > diff --git a/mips/kvm.c b/mips/kvm.c > index 211770d..3f6fd20 100644 > --- a/mips/kvm.c > +++ b/mips/kvm.c > @@ -56,6 +56,10 @@ void kvm__arch_set_cmdline(char *cmdline, bool > video) > } > > +void kvm__arch_reset(struct kvm *kvm) > +{ > +} > + > /* Architecture-specific KVM init */ > void kvm__arch_init(struct kvm *kvm, const char *hugetlbfs_path, u64 > ram_size) { > diff --git a/powerpc/kvm.c b/powerpc/kvm.c > index 702d67d..5bb721b 100644 > --- a/powerpc/kvm.c > +++ b/powerpc/kvm.c > @@ -87,6 +87,10 @@ void kvm__arch_set_cmdline(char *cmdline, bool > video) /* We don't need anything unusual in here. */ > } > > +void kvm__arch_reset(struct kvm *kvm) > +{ > +} > + > /* Architecture-specific KVM init */ > void kvm__arch_init(struct kvm *kvm, const char *hugetlbfs_path, u64 > ram_size) { > diff --git a/x86/kvm.c b/x86/kvm.c > index 3e0f0b7..e017d36 100644 > --- a/x86/kvm.c > +++ b/x86/kvm.c > @@ -129,6 +129,10 @@ void kvm__arch_set_cmdline(char *cmdline, bool > video) strcat(cmdline, " earlyprintk=serial i8042.noaux=1"); > } > > +void kvm__arch_reset(struct kvm *kvm) > +{ > +} > + > /* Architecture-specific KVM init */ > void kvm__arch_init(struct kvm *kvm, const char *hugetlbfs_path, u64 > ram_size) {