Группа :: Эмуляторы
Пакет: kvmtool
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: quiet-booting.patch
Скачать
Скачать
diff --git a/arm/kvm.c b/arm/kvm.c
index d0e4a20..d795c5f 100644
--- a/arm/kvm.c
+++ b/arm/kvm.c
@@ -54,7 +54,7 @@ void kvm__arch_read_term(struct kvm *kvm)
}
}
-void kvm__arch_set_cmdline(char *cmdline, bool video)
+void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
{
}
diff --git a/builtin-run.c b/builtin-run.c
index 1ee75ad..d63fe4c 100644
--- a/builtin-run.c
+++ b/builtin-run.c
@@ -591,7 +591,8 @@ static struct kvm *kvm_cmd_run_init(int argc, const char **argv)
kvm->cfg.network = DEFAULT_NETWORK;
memset(real_cmdline, 0, sizeof(real_cmdline));
- kvm__arch_set_cmdline(real_cmdline, kvm->cfg.vnc || kvm->cfg.sdl || kvm->cfg.gtk);
+ // rkt: do earlyprintk only when do_debug_print
+ kvm__arch_set_cmdline(real_cmdline, kvm->cfg.vnc || kvm->cfg.sdl || kvm->cfg.gtk, do_debug_print);
if (strlen(real_cmdline) > 0)
strcat(real_cmdline, " ");
@@ -640,10 +641,13 @@ 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);
+ // rkt: debug print only when asked
+ if (do_debug_print) {
+ 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 (init_list__init(kvm) < 0)
die ("Initialisation failed");
diff --git a/include/kvm/kvm.h b/include/kvm/kvm.h
index 37155db..70fb099 100644
--- a/include/kvm/kvm.h
+++ b/include/kvm/kvm.h
@@ -100,7 +100,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_set_cmdline(char *cmdline, bool video);
+void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk);
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/mips/kvm.c b/mips/kvm.c
index 1925f38..028b0c3 100644
--- a/mips/kvm.c
+++ b/mips/kvm.c
@@ -51,7 +51,7 @@ void kvm__arch_delete_ram(struct kvm *kvm)
munmap(kvm->ram_start, kvm->ram_size);
}
-void kvm__arch_set_cmdline(char *cmdline, bool video)
+void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
{
}
diff --git a/powerpc/kvm.c b/powerpc/kvm.c
index b4c3310..e6c78d8 100644
--- a/powerpc/kvm.c
+++ b/powerpc/kvm.c
@@ -84,7 +84,7 @@ void kvm__init_ram(struct kvm *kvm)
kvm__register_mem(kvm, phys_start, phys_size, host_mem);
}
-void kvm__arch_set_cmdline(char *cmdline, bool video)
+void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
{
/* We don't need anything unusual in here. */
}
diff --git a/x86/kvm.c b/x86/kvm.c
index 512ad67..3cd783d 100644
--- a/x86/kvm.c
+++ b/x86/kvm.c
@@ -118,14 +118,19 @@ void kvm__init_ram(struct kvm *kvm)
}
/* Arch-specific commandline setup */
-void kvm__arch_set_cmdline(char *cmdline, bool video)
+void kvm__arch_set_cmdline(char *cmdline, bool video, bool earlyprintk)
{
strcpy(cmdline, "noapic noacpi pci=conf1 reboot=k panic=1 i8042.direct=1 "
"i8042.dumbkbd=1 i8042.nopnp=1");
if (video)
strcat(cmdline, " video=vesafb console=tty0");
- else
- strcat(cmdline, " console=ttyS0 earlyprintk=serial i8042.noaux=1");
+ else {
+ // earlyprintk only when asked
+ strcat(cmdline, " console=ttyS0 i8042.noaux=1");
+ if (earlyprintk)
+ strcat(cmdline, " earlyprintk=serial");
+ }
+
}
/* Architecture-specific KVM init */