X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2Ftemplate-qemu%2Fqemu-start-node;fp=system%2Ftemplate-qemu%2Fqemu-start-node;h=42527252b8f386be01f7fe713b4ded0344670715;hb=40f4d7f75454cfa3fd76a46f07f65cde284e2f27;hp=f16e8aad09f01c76c407855b6081030a68ea7466;hpb=f3da7c1a9397208dfdc52997d8bb0a21fdbf4e12;p=tests.git diff --git a/system/template-qemu/qemu-start-node b/system/template-qemu/qemu-start-node index f16e8aa..4252725 100755 --- a/system/template-qemu/qemu-start-node +++ b/system/template-qemu/qemu-start-node @@ -34,11 +34,19 @@ CONFIG=qemu.conf [ -f "$CONFIG" ] || { echo "Config file for qemu $CONFIG not found in $(pwd)" ; exit 1 ; } . $CONFIG +# NOTE: check if the machine supports 64bits. We'll add -no-kqemu only +# if it does. On 32bits host, qemu-system-x86_64 doesn't accept this +# parameter (although it's there in the man page) +function is_64bits () { + return $(cat /proc/cpuinfo | grep "^flags" | grep " lm " > /dev/null) +} + + # the launcher, depending on target arch # make sure to check qemu-kill-node for consistency case $TARGET_ARCH in i386) QEMU=qemu ; ARGS="" ;; - x86_64) QEMU=qemu-system-x86_64 ; ARGS="" ;; + x86_64) QEMU=qemu-system-x86_64 ; if is_64bits; then ARGS="-no-kqemu"; else ARGS=""; fi ;; *) echo "Cannot handle TARGET_ARCH=$TARGET_ARCH"; exit 1 ;; esac