From 0e5cfef90ff762b33da6dc301dfc9cb3947c8a02 Mon Sep 17 00:00:00 2001 From: Cristian Iorga Date: Thu, 13 Feb 2014 17:26:51 +0200 Subject: runqemu: enforce right CPU type for qemux86/x86-64 Set in accordance with qemu machines configs. Fixes [YOCTO #5817]. Signed-off-by: Cristian Iorga Signed-off-by: Richard Purdie --- scripts/runqemu | 9 +++------ scripts/runqemu-internal | 13 +++++++++++-- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'scripts') diff --git a/scripts/runqemu b/scripts/runqemu index 9272b6f2d5..0db7ad63ca 100755 --- a/scripts/runqemu +++ b/scripts/runqemu @@ -68,6 +68,8 @@ SCRIPT_QEMU_OPT="" SCRIPT_QEMU_EXTRA_OPT="" SCRIPT_KERNEL_OPT="" SERIALSTDIO="" +KVM_ENABLED="no" +KVM_ACTIVE="no" # Determine whether the file is a kernel or QEMU image, and set the # appropriate variables @@ -103,7 +105,6 @@ process_filename() { # Parse command line args without requiring specific ordering. It's a # bit more complex, but offers a great user experience. -KVM_ENABLED="no" while true; do arg=${1} case "$arg" in @@ -266,11 +267,7 @@ if [ "x$KVM_ENABLED" = "xyes" ]; then exit 1; fi if [ -w /dev/kvm -a -r /dev/kvm ]; then - if [ "x$MACHINE" = "xqemux86" ]; then - SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -enable-kvm -cpu kvm32" - elif [ "x$MACHINE" = "xqemux86-64" ]; then - SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -enable-kvm -cpu kvm64" - fi + SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -enable-kvm" KVM_ACTIVE="yes" else echo "You have no rights on /dev/kvm." diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal index 08931074ec..f9ca380f26 100755 --- a/scripts/runqemu-internal +++ b/scripts/runqemu-internal @@ -360,6 +360,11 @@ fi if [ "$MACHINE" = "qemux86" ]; then QEMU=qemu-system-i386 + if [ "$KVM_ACTIVE" = "yes" ]; then + CPU_SUBTYPE=kvm32 + else + CPU_SUBTYPE=qemu32 + fi if [ ! -z "$vga_option" ]; then QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS" else @@ -367,7 +372,7 @@ if [ "$MACHINE" = "qemux86" ]; then fi if [ "${FSTYPE:0:3}" = "ext" -o "$FSTYPE" = "btrfs" ]; then KERNCMDLINE="vga=0 uvesafb.mode_option=640x480-32 root=$DROOT rw mem=$QEMU_MEMORY $KERNEL_NETWORK_CMD" - QEMUOPTIONS="$QEMU_NETWORK_CMD $ROOTFS_OPTIONS $QEMU_UI_OPTIONS" + QEMUOPTIONS="$QEMU_NETWORK_CMD -cpu $CPU_SUBTYPE $ROOTFS_OPTIONS $QEMU_UI_OPTIONS" fi if [ "$FSTYPE" = "nfs" ]; then if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then @@ -388,7 +393,11 @@ fi if [ "$MACHINE" = "qemux86-64" ]; then QEMU=qemu-system-x86_64 - CPU_SUBTYPE=core2duo + if [ "$KVM_ACTIVE" = "yes" ]; then + CPU_SUBTYPE=kvm64 + else + CPU_SUBTYPE=core2duo + fi if [ ! -z "$vga_option" ]; then QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS" else -- cgit 1.2.3-korg