On Thu, 16 Jun 2022 14:48:20 +0100 Alexandru Elisei <alexandru.elisei@xxxxxxx> wrote: > Architectures are free to set their own command line options. Add an > architecture specific hook to validate these options. > > For now, the hook does nothing, but it will be used in later patches. > > Signed-off-by: Alexandru Elisei <alexandru.elisei@xxxxxxx> Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx> Cheers, Andre > --- > Makefile | 1 + > arm/aarch32/kvm.c | 5 +++++ > arm/aarch64/kvm.c | 4 ++++ > builtin-run.c | 2 ++ > include/kvm/kvm.h | 1 + > mips/kvm.c | 4 ++++ > powerpc/kvm.c | 4 ++++ > riscv/kvm.c | 4 ++++ > x86/kvm.c | 4 ++++ > 9 files changed, 29 insertions(+) > create mode 100644 arm/aarch32/kvm.c > > diff --git a/Makefile b/Makefile > index 6464446a9f24..64bb9c95b6f6 100644 > --- a/Makefile > +++ b/Makefile > @@ -170,6 +170,7 @@ ifeq ($(ARCH), arm) > OBJS += $(OBJS_ARM_COMMON) > OBJS += arm/aarch32/arm-cpu.o > OBJS += arm/aarch32/kvm-cpu.o > + OBJS += arm/aarch32/kvm.o > ARCH_INCLUDE := $(HDRS_ARM_COMMON) > ARCH_INCLUDE += -Iarm/aarch32/include > CFLAGS += -march=armv7-a > diff --git a/arm/aarch32/kvm.c b/arm/aarch32/kvm.c > new file mode 100644 > index 000000000000..ae33ac92479a > --- /dev/null > +++ b/arm/aarch32/kvm.c > @@ -0,0 +1,5 @@ > +#include "kvm/kvm.h" > + > +void kvm__arch_validate_cfg(struct kvm *kvm) > +{ > +} > diff --git a/arm/aarch64/kvm.c b/arm/aarch64/kvm.c > index f3fe854e0b3f..ca348f118a56 100644 > --- a/arm/aarch64/kvm.c > +++ b/arm/aarch64/kvm.c > @@ -37,6 +37,10 @@ int vcpu_affinity_parser(const struct option *opt, const char *arg, int unset) > return 0; > } > > +void kvm__arch_validate_cfg(struct kvm *kvm) > +{ > +} > + > /* > * Return the TEXT_OFFSET value that the guest kernel expects. Note > * that pre-3.17 kernels expose this value using the native endianness > diff --git a/builtin-run.c b/builtin-run.c > index e1770b3c9df2..dcd08f739469 100644 > --- a/builtin-run.c > +++ b/builtin-run.c > @@ -531,6 +531,8 @@ static void kvm_run_validate_cfg(struct kvm *kvm) > (unsigned long long)available_ram >> MB_SHIFT); > } > } > + > + kvm__arch_validate_cfg(kvm); > } > > static struct kvm *kvm_cmd_run_init(int argc, const char **argv) > diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h > index 7b14b33b50ca..9f7b2fb26e95 100644 > --- a/include/kvm/kvm.h > +++ b/include/kvm/kvm.h > @@ -187,6 +187,7 @@ int kvm__get_sock_by_instance(const char *name); > int kvm__enumerate_instances(int (*callback)(const char *name, int pid)); > void kvm__remove_socket(const char *name); > > +void kvm__arch_validate_cfg(struct kvm *kvm); > void kvm__arch_set_cmdline(char *cmdline, bool video); > void kvm__arch_init(struct kvm *kvm, const char *hugetlbfs_path, u64 ram_size); > void kvm__arch_delete_ram(struct kvm *kvm); > diff --git a/mips/kvm.c b/mips/kvm.c > index e668cbbefb25..cebec5ae0178 100644 > --- a/mips/kvm.c > +++ b/mips/kvm.c > @@ -13,6 +13,10 @@ struct kvm_ext kvm_req_ext[] = { > { 0, 0 } > }; > > +void kvm__arch_validate_cfg(struct kvm *kvm) > +{ > +} > + > void kvm__arch_read_term(struct kvm *kvm) > { > virtio_console__inject_interrupt(kvm); > diff --git a/powerpc/kvm.c b/powerpc/kvm.c > index 702d67dca614..3215b579f5dc 100644 > --- a/powerpc/kvm.c > +++ b/powerpc/kvm.c > @@ -48,6 +48,10 @@ struct kvm_ext kvm_req_ext[] = { > { 0, 0 } > }; > > +void kvm__arch_validate_cfg(struct kvm *kvm) > +{ > +} > + > static uint32_t mfpvr(void) > { > uint32_t r; > diff --git a/riscv/kvm.c b/riscv/kvm.c > index 84e02779a91c..7fb496282f4c 100644 > --- a/riscv/kvm.c > +++ b/riscv/kvm.c > @@ -13,6 +13,10 @@ struct kvm_ext kvm_req_ext[] = { > { 0, 0 }, > }; > > +void kvm__arch_validate_cfg(struct kvm *kvm) > +{ > +} > + > bool kvm__arch_cpu_supports_vm(void) > { > /* The KVM capability check is enough. */ > diff --git a/x86/kvm.c b/x86/kvm.c > index 3e0f0b743f8c..6683a5c81d49 100644 > --- a/x86/kvm.c > +++ b/x86/kvm.c > @@ -35,6 +35,10 @@ struct kvm_ext kvm_req_ext[] = { > { 0, 0 } > }; > > +void kvm__arch_validate_cfg(struct kvm *kvm) > +{ > +} > + > bool kvm__arch_cpu_supports_vm(void) > { > struct cpuid_regs regs; _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm