From 6ee5530554c5b8dd79e772bcadf0ad72a3796218 Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Sat, 17 Aug 2019 10:04:45 +0000 Subject: [PATCH] Refactor --- qemu/qemu-kernel.go | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/qemu/qemu-kernel.go b/qemu/qemu-kernel.go index 3846b68..1292c9d 100644 --- a/qemu/qemu-kernel.go +++ b/qemu/qemu-kernel.go @@ -178,6 +178,24 @@ func (q *System) panicWatcher() { } } +func (q System) cmdline() (s string) { + s = "root=/dev/sda ignore_loglevel console=ttyS0 rw" + + if q.noKASLR { + s += " nokaslr" + } + + if q.noSMEP { + s += " nosmep" + } + + if q.noSMAP { + s += " nosmap" + } + + return +} + // Start qemu process func (q *System) Start() (err error) { rand.Seed(time.Now().UnixNano()) // Are you sure? @@ -192,24 +210,10 @@ func (q *System) Start() (err error) { "-netdev", "user,id=n1," + hostfwd, } - cmdline := "root=/dev/sda ignore_loglevel console=ttyS0 rw" - if q.debug { qemuArgs = append(qemuArgs, "-gdb", q.gdb) } - if q.noKASLR { - cmdline += " nokaslr" - } - - if q.noSMEP { - cmdline += " nosmep" - } - - if q.noSMAP { - cmdline += " nosmap" - } - if q.kernel.InitrdPath != "" { qemuArgs = append(qemuArgs, "-initrd", q.kernel.InitrdPath) } @@ -222,7 +226,7 @@ func (q *System) Start() (err error) { qemuArgs = append(qemuArgs, "-accel", "hvf", "-cpu", "host") } - qemuArgs = append(qemuArgs, "-append", cmdline) + qemuArgs = append(qemuArgs, "-append", q.cmdline()) q.cmd = exec.Command("qemu-system-"+string(q.arch), qemuArgs...)