[meta-xilinx] [PATCH V2 3/5] config: Set the Xilinx QEMU as the prefered QEMU to build

Alistair Francis alistair.francis at xilinx.com
Thu Aug 11 14:40:14 PDT 2016


On Thu, Aug 11, 2016 at 4:33 AM, Nathan Rossi <nathan at nathanrossi.com> wrote:
> On Tue, Aug 2, 2016 at 9:52 AM, Alistair Francis
> <alistair.francis at xilinx.com> wrote:
>> On Sun, Jul 31, 2016 at 7:49 AM, Nathan Rossi <nathan at nathanrossi.com> wrote:
>>> On Thu, Jul 28, 2016 at 7:26 AM, Alistair Francis
>>> <alistair.francis at xilinx.com> wrote:
>>>> Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
>>>> ---
>>>>  conf/machine/include/machine-xilinx-default.inc | 2 ++
>>>>  1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/conf/machine/include/machine-xilinx-default.inc b/conf/machine/include/machine-xilinx-default.inc
>>>> index 02fa077..4ea68fd 100644
>>>> --- a/conf/machine/include/machine-xilinx-default.inc
>>>> +++ b/conf/machine/include/machine-xilinx-default.inc
>>>> @@ -38,3 +38,5 @@ UBOOT_ELF_aarch64 ?= "u-boot.elf"
>>>>  # kernel modules for ZynqMP
>>>>  MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_append_zynqmp = " kernel-module-mali-modules"
>>>>
>>>> +PREFERRED_VERSION_qemu-native = "2.2.5"
>>>
>>> I am not sure if this approach will work as expected due to some other
>>> parts of Yocto depending on QEMU in different ways. For example the
>>> "qemu-usermode" distro flag and the corresponding linux-user execution
>>> of tasks might break?
>>
>> Hmmm... How else can it be done?
>
> 'Why not have both?' :)
>
> To avoid any issues with replacing qemu-native, I looked at setting it
> up as a separate recipe. "qemu-xilinx" recipe which populates the
> binaries in a sub-dir of the sysroots usr/bin.
>
> Here is a work in progress tree with the recipe:
> https://github.com/nathanrossi/meta-xilinx/tree/nrossi/qemu-xilinx
>
> Essentially the binary is located here:
> tmp-glibc/sysroots/x86_64-linux/usr/bin/qemu-xilinx/qemu-system-aarch64.
> We can work in the ability to select the qemu to use into the runqemu
> part, allowing to select depending on what you want to run on.

Awesome! I got this to work, I had to make a few changes though.

I'm going to send out a patch series now that builds QEMU, the QEMU
device trees and sets up the machines.

The only thing I'm missing is the runqemu script framework. What is
the plan there?

>
>>
>>>
>>> Also putting this in machine-xilinx-default will make
>>> qemuzynq/qemumicroblaze* use the Xilinx qemu, which are not supported
>>> by the recipe you provide for qemu (need the arm/mb archs).
>>
>> The ARM QEMU model is a subset of AArch64. So Zynq-7000 will run on
>> the aarch64 QEMU machine.
>>
>> The Microblaze targets are added as part of
>> meta-xilinx/recipes-microblaze/qemu/qemu_%.bbappend. So all Xilinx
>> platforms of QEMU are built.
>
> Sorry you are correct for microblaze, but "aarch64" does not include
> the executable for "arm" which would likely cause issues. But this is
> a mute point if going for the solution I proposed above.

That's true, I did notice some build issues when I started to be more
adventurous.

Thanks,

Alistair

>
> Regards,
> Nathan
>
>>
>> Thanks,
>>
>> Alistair
>>
>>>
>>> Regards,
>>> Nathan
>>>
>>>> +
>>>> --
>>>> 2.7.4
>>>>
>>> --
>>> _______________________________________________
>>> meta-xilinx mailing list
>>> meta-xilinx at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/meta-xilinx
> --
> _______________________________________________
> meta-xilinx mailing list
> meta-xilinx at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-xilinx



More information about the meta-xilinx mailing list