[OE-core] [PATCH 1/1] oeqa: drop support of listing machines in QEMU_USE_KVM

Richard Purdie richard.purdie at linuxfoundation.org
Wed Dec 5 17:53:29 UTC 2018


On Wed, 2018-12-05 at 17:34 +0800, Chen Qi wrote:
> We want QEMU_USE_KVM to only set to some boolean value, with possible
> MACHINE override. Drop the support of listing machines in this
> variable,
> and give users error message if they still do so.
> 
> Error message below is an example.
> 
> ERROR: core-image-minimal-1.0-r0 do_testimage: Invalid boolean value
> 'intel-corei7-64 intel-core2-32 qemux86 qemux86-64'
> QEMU_USE_KVM needs to be set to a boolean value. It no longer
> supports accepting a list of machines.
>   e.g.
>     QEMU_USE_KVM_qemux86-64 = '1'
>     ERROR: core-image-minimal-1.0-r0 do_testimage: Function failed:
> do_testimage
> 
> Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
> ---
>  meta/classes/testimage.bbclass | 12 ++++++------
>  meta/lib/oeqa/targetcontrol.py | 12 ++++++------
>  2 files changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/meta/classes/testimage.bbclass
> b/meta/classes/testimage.bbclass
> index 82cbb06..7c3bc0a 100644
> --- a/meta/classes/testimage.bbclass
> +++ b/meta/classes/testimage.bbclass
> @@ -229,12 +229,12 @@ def testimage_main(d):
>  
>      # Get use_kvm
>      qemu_use_kvm = d.getVar("QEMU_USE_KVM")
> -    if qemu_use_kvm and \
> -       (d.getVar('MACHINE') in qemu_use_kvm.split() or \
> -        oe.types.boolean(qemu_use_kvm) and 'x86' in machine):
> -        kvm = True
> -    else:
> -        kvm = False
> +    try:
> +        kvm = oe.types.boolean(qemu_use_kvm)
> +    except ValueError as e:
> +        bb.fatal("%s\nQEMU_USE_KVM needs to be set to a boolean
> value. It no longer supports accepting a list of machines.\n"
> +                 "  e.g.\n"
> +                 "  QEMU_USE_KVM_qemux86-64 = '1'" % e)

This drops the x86 piece above. The autobuilder sets:

QEMU_USE_KVM = "True"

which then fails for say qemuarm.

The x86 check is incorrect anyway, it needs to check the BUILD_ARCH is
compatible with TARGET_ARCH.

We can't quite merge this as is though due to the autobuilder breakage.

Cheers,

Richard



More information about the Openembedded-core mailing list