aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Thierry <julien.thierry@arm.com>2019-01-10 14:20:43 +0000
committerWill Deacon <will.deacon@arm.com>2019-01-22 06:55:22 +0000
commit1349857618e5ddd30dc7401e7cae64ef20a4631c (patch)
tree8596aff7d33c2471a91c9fb49d1a9a8be07010da
parentf269c81dff7d4fe4b3c867e896169fb405c8084d (diff)
downloadkvmtool-1349857618e5ddd30dc7401e7cae64ef20a4631c.tar.gz
builtin-run: Do not look for default kernel when firmware is provided
When a firmware file is provided, kvmtool is not responsible for loading a kernel image. There is no reason for looking for a default kernel image when loading a firmware. Signed-off-by: Julien Thierry <julien.thierry@arm.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r--builtin-run.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/builtin-run.c b/builtin-run.c
index 443c10ba..82e2b2e4 100644
--- a/builtin-run.c
+++ b/builtin-run.c
@@ -512,12 +512,13 @@ static struct kvm *kvm_cmd_run_init(int argc, const char **argv)
kvm->nr_disks = kvm->cfg.image_count;
- if (!kvm->cfg.kernel_filename)
+ if (!kvm->cfg.kernel_filename && !kvm->cfg.firmware_filename) {
kvm->cfg.kernel_filename = find_kernel();
- if (!kvm->cfg.kernel_filename) {
- kernel_usage_with_options();
- return ERR_PTR(-EINVAL);
+ if (!kvm->cfg.kernel_filename) {
+ kernel_usage_with_options();
+ return ERR_PTR(-EINVAL);
+ }
}
kvm->cfg.vmlinux_filename = find_vmlinux();
@@ -639,10 +640,17 @@ static struct kvm *kvm_cmd_run_init(int argc, const char **argv)
kvm->cfg.real_cmdline = real_cmdline;
- printf(" # %s run -k %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
- kvm->cfg.kernel_filename,
- (unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
- kvm->cfg.nrcpus, kvm->cfg.guest_name);
+ if (kvm->cfg.kernel_filename) {
+ printf(" # %s run -k %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
+ kvm->cfg.kernel_filename,
+ (unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
+ kvm->cfg.nrcpus, kvm->cfg.guest_name);
+ } else if (kvm->cfg.firmware_filename) {
+ printf(" # %s run --firmware %s -m %Lu -c %d --name %s\n", KVM_BINARY_NAME,
+ kvm->cfg.firmware_filename,
+ (unsigned long long)kvm->cfg.ram_size / 1024 / 1024,
+ kvm->cfg.nrcpus, kvm->cfg.guest_name);
+ }
if (init_list__init(kvm) < 0)
die ("Initialisation failed");