initrd=initrd
append="panic=1 console=ttyS0 udevtimeout=6000 no_timer_check printk.time=1 root=/dev/sda selinux=0"
smp=
-accel=kvm
-cpu="-cpu host"
+tcg=
TEMP=`getopt \
-o '' \
grep -Eo 'supernested.smp=[[:digit:]]+' /proc/cmdline |
grep -Eo '[[:digit:]]+'
)"
- if [ -n "$smp" ]; then smp="-smp $smp"; fi
- accel="$(
- grep -Eo 'supernested.accel=tcg' /proc/cmdline
- )"
- if [ -n "$accel" ]; then
- accel=tcg
- cpu=
- else
- accel=kvm
+ tcg=
+ if grep -q supernested.tcg=1 /proc/cmdline; then
+ tcg=1
fi
shift
;;
--smp)
- smp="-smp $2"
- append="$append supernested.smp=$2"
+ smp="$2"
shift 2
;;
--tcg)
- accel=tcg
- cpu=
- append="$append supernested.accel=tcg"
+ tcg=1
shift
;;
--help)
if [ -z "$level" ]; then level=0; fi
append="$append supernested.level=$((level+1))"
+# Append other parameters to nested command line.
+append="$append supernested.smp=$smp supernested.tcg=$tcg"
+
+extra_args=
+if [ -n "$smp" ]; then extra_args="$extra_args -smp $smp"; fi
+if [ -n "$tcg" ]; then
+ extra_args="$extra_args -machine accel=tcg"
+else
+ extra_args="$extra_args -cpu host -machine accel=kvm"
+fi
+
echo "Running"
echo " qemu = $qemu"
-echo " cpu = $cmp"
-echo " smp = $smp"
-echo " accel = $accel"
+echo " extra_args = $extra_args"
echo " memory = $memory"
echo " kernel = $kernel"
echo " initrd = $initrd"
exec \
"$qemu" \
- $cpu \
- $smp \
- -machine accel=$accel \
+ $extra_args \
-display none \
-m $memory \
-no-reboot \