qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] For all targets and machine types: "start to monitor" s


From: Markus Armbruster
Subject: Re: [Qemu-devel] For all targets and machine types: "start to monitor" smoke test
Date: Tue, 07 Aug 2012 21:55:47 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux)

Anthony Liguori <address@hidden> writes:

> Markus Armbruster <address@hidden> writes:
>
>> Very basic smoke test: start QEMU with -monitor stdio, quit immediately.
>> Wouldn't it be nice if that worked for all targets and machine types?
>>
>> Many targets have mandatory options (fun oxymoron), such as -kernel or
>> -pflash.  Can't stop me, I just try a bunch until something works.
>>
>> Many targets expect various files to be present, and some of them need
>> to have the right size.  Can't stop me, I hack up the file loaders until
>> it works (silly patch appended).  To do this right, we'd need the
>> required files or suitable mock-ups in-tree.
>
> I attempted something similar in the past and ran into similar results.
>
>>
>> Test script:
>>
>> #!/bin/sh
>> for i in ../qemu/bld/*-softmmu/qemu-system-*
>> do
>>     echo "= $i ="
>>     for m in `$i -M help | sed -n '2,$s/ .*//gp'`
>>     do
>>      echo "== $m =="
>>      for k in "" "-kernel /dev/null" "-pflash /dev/null" "-pflash /dev/null 
>> -pflash /dev/null -kernel /dev/null"
>>      do
>>          echo "=== ${k:-(default)} ==="
>>          if echo q | QEMU_AUDIO_DRV=none $i -S -vnc :0 -M $m $k -monitor 
>> stdio | fgrep -q '(qemu)'
>>          then break
>>          else false
>>          fi
>>      done
>>      if [ $? -eq 0 ]
>>      then echo "*** Success $k ***"
>>      else echo '*** Fail'
>>      fi
>>     done
>> done
>>
>> Summary of results:
>>
>> * Bad unexplained
>>
>>   qemu-system-arm lm3s811evb
>>   qemu-system-arm lm3s6965evb
>>       qemu-system-arm: /work/armbru/qemu/hw/qdev.c:310: qdev_get_gpio_in: 
>> Assertion `n >= 0 && n < dev->num_gpio_in' failed.
>>
>>   qemu-system-ppc64 prep
>>       qemu: hardware error: Unknown device 'i82378' for bus 'PCI'
>>
>>   qemu-system-ppcemb ref405ep
>>   qemu-system-ppcemb taihu
>>       Unable to find PowerPC 405ep CPU definition
>>
>>   qemu-system-ppcemb mac99
>>   qemu-system-ppcemb g3beige
>>   qemu-system-ppcemb prep
>>       Unable to find PowerPC CPU definition
>>
>>   qemu-system-xtensaeb lx60
>>   qemu-system-xtensaeb lx200
>>   qemu-system-xtensaeb sim
>>       Unable to find CPU definition
>>
>>   I'm not saying these are all busted.  If you know how to "start to
>>   monitor" one of these, let us know.
>
> Perhaps we could add a QEMUMachine parameter that indicates that the
> machine doesn't start without special options.

Recommend to make it a string that lists the mandatory options.

> At least a handful of these machines cannot be run without the use of
> non-free binaries firmware :-(

Yes, and that's bad.

However, my test isn't trying to execute any guest code.  It *should* be
possible to pull off with mocked-up firmware.

The mock-ups could then serve as documentation on what firmware binaries
are required.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]