Patchwork runqemu: Allow user to set -vga option with qemuparams

login
register
mail settings
Submitter Valentin Popa
Date Dec. 19, 2013, 2:02 p.m.
Message ID <1387461777-25101-1-git-send-email-valentin.popa@intel.com>
Download mbox | patch
Permalink /patch/63589/
State New
Headers show

Comments

Valentin Popa - Dec. 19, 2013, 2:02 p.m.
At the moment, the user cannot to set -vga other then vmware
(because "vmware" is set by default); and the first argument
in qemuparams has higher precedence.

Signed-off-by: Valentin Popa <valentin.popa@intel.com>
---
 scripts/runqemu          |  1 +
 scripts/runqemu-internal | 12 ++++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)
Ross Burton - Jan. 22, 2014, 3:46 p.m.
Just noticed that this was merged but doesn't add anything to the
usage() function in runqemu - can you quickly add something?

Ross

On 19 December 2013 14:02, Valentin Popa <valentin.popa@intel.com> wrote:
> At the moment, the user cannot to set -vga other then vmware
> (because "vmware" is set by default); and the first argument
> in qemuparams has higher precedence.
>
> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
> ---
>  scripts/runqemu          |  1 +
>  scripts/runqemu-internal | 12 ++++++++++--
>  2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/runqemu b/scripts/runqemu
> index 9c0a03b..dcb2931 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -156,6 +156,7 @@ while true; do
>              # to use simplified options instead
>              serial_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-serial\)'`
>              kvm_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-enable-kvm\)'`
> +            vga_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-vga\)'`
>              [ ! -z "$serial_option" -o ! -z "$kvm_option" ] && \
>                  echo "Please use simplified serial or kvm options instead"
>              ;;
> diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
> index 74b0c35..284b88c 100755
> --- a/scripts/runqemu-internal
> +++ b/scripts/runqemu-internal
> @@ -357,7 +357,11 @@ fi
>
>  if [ "$MACHINE" = "qemux86" ]; then
>      QEMU=qemu-system-i386
> -    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
> +    if [ ! -z "$vga_option" ]; then
> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
> +    else
> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
> +    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"
> @@ -381,7 +385,11 @@ fi
>
>  if [ "$MACHINE" = "qemux86-64" ]; then
>      QEMU=qemu-system-x86_64
> -    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
> +    if [ ! -z "$vga_option" ]; then
> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
> +    else
> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
> +    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"
> --
> 1.8.3.2
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Valentin Popa - Jan. 23, 2014, 10:12 a.m.
On 01/22/2014 05:46 PM, Burton, Ross wrote:
> Just noticed that this was merged but doesn't add anything to the
> usage() function in runqemu - can you quickly add something?
>
> Ross
>
> On 19 December 2013 14:02, Valentin Popa <valentin.popa@intel.com> wrote:
>> At the moment, the user cannot to set -vga other then vmware
>> (because "vmware" is set by default); and the first argument
>> in qemuparams has higher precedence.
>>
>> Signed-off-by: Valentin Popa <valentin.popa@intel.com>
>> ---
>>   scripts/runqemu          |  1 +
>>   scripts/runqemu-internal | 12 ++++++++++--
>>   2 files changed, 11 insertions(+), 2 deletions(-)
>>
>> diff --git a/scripts/runqemu b/scripts/runqemu
>> index 9c0a03b..dcb2931 100755
>> --- a/scripts/runqemu
>> +++ b/scripts/runqemu
>> @@ -156,6 +156,7 @@ while true; do
>>               # to use simplified options instead
>>               serial_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-serial\)'`
>>               kvm_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-enable-kvm\)'`
>> +            vga_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-vga\)'`
>>               [ ! -z "$serial_option" -o ! -z "$kvm_option" ] && \
>>                   echo "Please use simplified serial or kvm options instead"
>>               ;;
>> diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
>> index 74b0c35..284b88c 100755
>> --- a/scripts/runqemu-internal
>> +++ b/scripts/runqemu-internal
>> @@ -357,7 +357,11 @@ fi
>>
>>   if [ "$MACHINE" = "qemux86" ]; then
>>       QEMU=qemu-system-i386
>> -    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
>> +    if [ ! -z "$vga_option" ]; then
>> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
>> +    else
>> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
>> +    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"
>> @@ -381,7 +385,11 @@ fi
>>
>>   if [ "$MACHINE" = "qemux86-64" ]; then
>>       QEMU=qemu-system-x86_64
>> -    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
>> +    if [ ! -z "$vga_option" ]; then
>> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
>> +    else
>> +        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
>> +    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"
>> --
>> 1.8.3.2
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
That patch doesn't add -vga as a simplified options, it just do what
"qemuparams=\"xyz\" - specify custom parameters to QEMU" in usage() 
says. So, it's a fix.
The problem was that you couldn't set a custom -vga for qemux86 and 
qemux86_64 because the default value (vmware) had a higher precedence in 
the command line. For qemumips* the behavior remains, but - I think -  
this is because nothing else but cirrus works with it. If you know 
something about this just let me know; maybe this has to be fixed also.

Patch

diff --git a/scripts/runqemu b/scripts/runqemu
index 9c0a03b..dcb2931 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -156,6 +156,7 @@  while true; do
             # to use simplified options instead
             serial_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-serial\)'`
             kvm_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-enable-kvm\)'`
+            vga_option=`expr "$SCRIPT_QEMU_EXTRA_OPT" : '.*\(-vga\)'`
             [ ! -z "$serial_option" -o ! -z "$kvm_option" ] && \
                 echo "Please use simplified serial or kvm options instead"
             ;;
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index 74b0c35..284b88c 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -357,7 +357,11 @@  fi
 
 if [ "$MACHINE" = "qemux86" ]; then
     QEMU=qemu-system-i386
-    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
+    if [ ! -z "$vga_option" ]; then
+        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
+    else
+        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
+    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"
@@ -381,7 +385,11 @@  fi
 
 if [ "$MACHINE" = "qemux86-64" ]; then
     QEMU=qemu-system-x86_64
-    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
+    if [ ! -z "$vga_option" ]; then
+        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
+    else
+        QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS -vga vmware"
+    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"