aboutsummaryrefslogtreecommitdiffstats
path: root/vm
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-06-15 18:27:02 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-06-15 18:29:47 +0200
commit429ff326c30b442d8c609ed7ddd0fbb5ba174a36 (patch)
tree2831ee501c408d8f93207e2edca37d5911537754 /vm
parent10d9c52cf0f2cecc662dd2d46abccae90c522a11 (diff)
vm/qemu: update kernel command line
+nmi_watchdog=panic -slub_debug=UZ Also refactor cmd line generation code to make it more resilent to bugs.
Diffstat (limited to 'vm')
-rw-r--r--vm/qemu/qemu.go46
1 files changed, 36 insertions, 10 deletions
diff --git a/vm/qemu/qemu.go b/vm/qemu/qemu.go
index 17e7ce252..ba0cb6f78 100644
--- a/vm/qemu/qemu.go
+++ b/vm/qemu/qemu.go
@@ -230,21 +230,47 @@ func (inst *instance) Boot() error {
)
}
if inst.cfg.Kernel != "" {
- cmdline := "console=ttyS0 vsyscall=native rodata=n oops=panic panic_on_warn=1 panic=86400" +
- " ftrace_dump_on_oops=orig_cpu earlyprintk=serial slub_debug=UZ net.ifnames=0 biosdevname=0 " +
- " kvm-intel.nested=1 kvm-intel.unrestricted_guest=1 kvm-intel.vmm_exclusive=1 kvm-intel.fasteoi=1 " +
- " kvm-intel.ept=1 kvm-intel.flexpriority=1 " +
- " kvm-intel.vpid=1 kvm-intel.emulate_invalid_guest_state=1 kvm-intel.eptad=1 " +
- " kvm-intel.enable_shadow_vmcs=1 kvm-intel.pml=1 kvm-intel.enable_apicv=1 "
+ cmdline := []string{
+ "console=ttyS0",
+ "vsyscall=native",
+ "rodata=n",
+ "oops=panic",
+ "nmi_watchdog=panic",
+ "panic_on_warn=1",
+ "panic=86400",
+ "ftrace_dump_on_oops=orig_cpu",
+ "earlyprintk=serial",
+ "net.ifnames=0",
+ "biosdevname=0",
+ "kvm-intel.nested=1",
+ "kvm-intel.unrestricted_guest=1",
+ "kvm-intel.vmm_exclusive=1",
+ "kvm-intel.fasteoi=1",
+ "kvm-intel.ept=1",
+ "kvm-intel.flexpriority=1",
+ "kvm-intel.vpid=1",
+ "kvm-intel.emulate_invalid_guest_state=1",
+ "kvm-intel.eptad=1",
+ "kvm-intel.enable_shadow_vmcs=1",
+ "kvm-intel.pml=1",
+ "kvm-intel.enable_apicv=1",
+ }
if inst.image == "9p" {
- cmdline += "root=/dev/root rootfstype=9p rootflags=trans=virtio,version=9p2000.L,cache=loose "
- cmdline += "init=" + filepath.Join(inst.workdir, "init.sh") + " "
+ cmdline = append(cmdline,
+ "root=/dev/root",
+ "rootfstype=9p",
+ "rootflags=trans=virtio,version=9p2000.L,cache=loose",
+ "init="+filepath.Join(inst.workdir, "init.sh"),
+ )
} else {
- cmdline += "root=/dev/sda "
+ cmdline = append(cmdline,
+ "root=/dev/sda",
+ )
}
+ cmdline = append(cmdline, inst.cfg.Cmdline)
args = append(args,
"-kernel", inst.cfg.Kernel,
- "-append", cmdline+inst.cfg.Cmdline,
+ "-append", strings.Join(cmdline, " "),
)
}
if inst.debug {