> On 17 Jun 2020, at 09:29, Bertrand Marquis via lists.yoctoproject.org 
> <[email protected]> wrote:
> 
> Hi,
> 
>> On 16 Jun 2020, at 22:43, Christopher Clark via lists.yoctoproject.org 
>> <[email protected]> wrote:
>> 
>> On Mon, Jun 15, 2020 at 5:45 AM Bruce Ashfield <[email protected]> 
>> wrote:
>>> On Mon, Jun 15, 2020 at 5:11 AM Christopher Clark
>>> <[email protected]> wrote:
>>>> 
>>>> On Fri, Jun 5, 2020 at 5:58 PM Corey Minyard <[email protected]> wrote:
>>>>> 
>>>>> On Fri, Jun 05, 2020 at 07:53:53PM -0400, Bruce Ashfield wrote:
>>>>>> On Fri, Jun 5, 2020 at 5:16 PM Corey Minyard <[email protected]> wrote:
>>>>>>> 
>>>>>>> On Fri, Jun 05, 2020 at 07:55:37PM +0000, Stewart Hildebrand wrote:
>>>>>>>> + Corey
>>>>>>>> 
>>>>>>>> On Friday, June 5, 2020 3:19 PM, Bruce Ashfield wrote:
>>>>>>>>> On Fri, Jun 5, 2020 at 3:12 PM Stewart Hildebrand wrote:
>> 
>>>>>>>> Corey: you are hereby encouraged to submit patches to 
>>>>>>>> meta-virtualization.
>>>>>>> 
>>>>>>> Ok.  The layer has the following basic pieces:
>>>> 
>>>> Before we get to the other pieces, I'd like to cover the new "rpixen"
>>>> MACHINE type that the layer introduces.
>>>> 
>>>> My preference is for avoiding introduction of another MACHINE to
>>>> reconfigure an existing one to run Xen, if possible, and use the
>>>> existing "raspberrypi4-64". I'm hoping to avoid the pattern of
>>>> creating a new machine for Xen for each board that we add support for.
>>>> In meta-virtualization, there's the "xen" DISTRO_FEATURE, which is
>>>> used to turn on Xen-specific functionality and compatibility, and I'd
>>>> like to explore whether that can be made to be sufficient to enable
>>>> what is needed.
>>>> 
>>>> To that end, I've done an initial pass to see what it might take and
>>>> the work-in-progress from that is posted here:
>>>> https://github.com/dozylynx/meta-virtualization/tree/raspberry-pi4-initial-xen
>>>> 
>>>> Some minor changes to other layers could assist - eg. to remove the
>>>> need for a guest filesystem to contain the hypervisor binary - and
>>>> there's still some tidying to do.
>>>> 
>>>>>>> 1 The xen patches for the Pi4, just a few patches.  As the Xen group
>>>>>>> fixes things, I keep adding :).
>>>> 
>>>> Unfortunately I had to drop these patches from my local test to get it
>>>> to boot. It could easily be a local build issue or a fault with the
>>>> one test I've run so far, but I did have success booting with just Xen
>>>> 4.13 and I'd like to get a bit more understanding and confidence in
>>>> them before we bring them in.
>>>> 
>>>>>>> 2 Hacks for getting the Pi4 kernel config right for xen.  This should go
>>>>>>> away if you don't use the kernel from the Pi4 yocto layer, as it
>>>>>>> doesn't work like most kernels in yocto.
>>>>>> 
>>>>>> I should take a look at the configs and see if I can create a fragment
>>>>>> or two, but I can take care of that.
>>>>> 
>>>>> That shouldn't be necessary.  The standard fragments work, it's just
>>>>> that the Pi kernel does not use them.  So this is really Pi+Xen
>>>>> specific, and hopefully they can fix the Pi kernel to use the normal
>>>>> fragments in the future.
>>>> 
>>>> The linux-raspberrypi kernel does use linux-yocto; it's just that
>>>> meta-virtualization
>>>> needs a matching .inc file to be present for the kernel version that
>>>> you're using.
>>>> Assuming you're using Linux 4.19 (which is what I've tested with) add this 
>>>> file:
>>>> meta-virtualization/recipes-kernel/linux/linux-yocto_4.19_virtualization.inc
>>>> containing just:
>>>> include linux-yocto_virtualization.inc
>>>> which will then enable the linux-raspberrypi kernel to add the
>>>> meta-virt Xen fragment.
>>>> 
>>>> There are also two Linux patches:
>>>> 1) Disable DMA in the SDHCI driver
>>>> This one needs more information in the commit text to understand what
>>>> is motivating doing this and what the effects of it are. Should it go
>>>> into the standard Raspberry Pi kernel?
>>>> 2) Fix PCIe in dom0 for RPi4
>>>> Is this fixed upstream in more recent kernels? It would be good to
>>>> have a pointer to that if so.
>>>> 
>>>> Bruce: To apply these to just the Raspberry Pi kernel when it's being
>>>> used with Xen, a kernel bbappend in a raspberrypi dynamic-layers might
>>>> be an option to consider - eg:
>>>> https://github.com/dozylynx/meta-virtualization/tree/raspberry-pi4-initial-xen/dynamic-layers/raspberrypi/recipes-kernel/linux
>>> 
>>> I can most likely live with that. I obviously make sure that the
>>> reference linux-yocto kernel doesn't need anything to work out of the
>>> box, but we can't (and shouldn't) enforce that choice on everyone. I'd
>>> rather have patches centralized in a topic layer like
>>> meta-virtualization, so if we need to add a dynamic layer and a few
>>> patches, that's a good place to be.
>> 
>> please see my new comment below.
>> 
>>>>>>> 5 A few Pi-specific hacks for config and u-boot.
>>>>>> 
>>>>>> #5 does sound like BSP stuff. Is any of it destined for the rpi layers
>>>>>> ? Or is it both rpi AND xen specific, so doesn't really make sense
>>>>>> there either ?
>>>>> 
>>>>> It's both Pi and Xen specific.  If everything gets put where it should
>>>>> be, that would be the only thing left in this layer :).
>>>> 
>>>> These are in recipes-bsp and I agree that they're both Pi and Xen
>>>> specific. I think these are small enough pieces that keeping them in
>>>> meta-virtualization could be a reasonable call, since that's the layer
>>>> where Xen support is focussed, and so they can be added to:
>>>> dynamic-layers/raspberrypi/recipes-bsp
>>>> which indicates their status as amendments to the meta-raspberrypi
>>>> layer. Changes to them would then be easily coordinated with the Xen
>>>> recipes.
>>> 
>>> Agreed.
>> 
>> Since I wrote this, we've seen some expressed interest in support for
>> running Xen on the NVIDIA Jetson Nano and Xavier NX boards, and on the
>> xen-devel mailing list, a report of success running Xen on the RockPro64
>> board:
>> https://lists.xenproject.org/archives/html/xen-devel/2020-06/msg01067.html
>> 
>> I've personally built Xen with meta-virtualization to run on the Cubietruck 
>> for
>> development and testing; the Odroid C2 and XU4 are of interest, as is the
>> Xilinx Ultra-96-V2 board; and the NVidia Jetson TX1 at one point had some
>> non-upstream patches available to enable Xen on it. PCEngines maintains
>> Xen compatibility for their APU2 in meta-pcengines.
>> 
>> There are also some challenges being encountered in getting a more recent 
>> Linux
>> kernel working as a dom0 on the Raspberry Pi 4 - eg. the Linux Foundation Eve
>> Project run their own patches for 5.6 here:
>> https://github.com/lf-edge/eve/tree/master/pkg/new-kernel/patches-5.6.x
>> 
>> All of this points towards it being a reasonable proposition to have a
>> dedicated Xen hardware support Yocto layer, so that board-specific tweaks for
>> hardware compatibility with Xen can be maintained without complicating
>> meta-virtualization, while continuing to pool Xen-aware contributions in
>> a centralized layer.
>> 
>> I'd like to propose creating: 'meta-xen-bsp'; and I'm willing to work on
>> maintaining it. Feedback to this suggestion is welcome.
>> 
>> Bruce: how does this sound to you?
> 
> I had this problem working on some other BSPs to support Xen with 
> meta-virtualization (you can check this in meta-arm[1]).
> 
> I would think the best way to handle this case is to use dynamic layers and 
> push the required support inside the layer containing the BSP.
> This would make the maintenance easier (for example when the kernel is 
> changed).
> 
> If you want an example of how to use dynamic layers you can check 
> meta-arm-autonomy sub layer of meta-arm [1] (which also contains other 
> interesting bits related to using Xen with Yocto).
> 
> Cheers
> Bertrand
> 
> 
> 
> IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.

Sorry I forgot to remove the disclaimer.
Bertrand

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#5422): 
https://lists.yoctoproject.org/g/meta-virtualization/message/5422
Mute This Topic: https://lists.yoctoproject.org/mt/74701134/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to