aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorCristian Iorga <cristian.iorga@intel.com>2014-02-13 17:26:51 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-13 17:48:47 +0000
commit0e5cfef90ff762b33da6dc301dfc9cb3947c8a02 (patch)
treec5f548155555d5ae7663f5621e68c5a10840ef00 /scripts
parentc3dd44b751e351be52512e2aff885bf571c95fe5 (diff)
downloadopenembedded-core-contrib-0e5cfef90ff762b33da6dc301dfc9cb3947c8a02.tar.gz
runqemu: enforce right CPU type for qemux86/x86-64
Set in accordance with qemu machines configs. Fixes [YOCTO #5817]. Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/runqemu9
-rwxr-xr-xscripts/runqemu-internal13
2 files changed, 14 insertions, 8 deletions
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