[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH v1] xen/arm : Add support for SMMUv3 driver
Hello, Rahul! On 11/6/20 2:48 PM, Rahul Singh wrote: > Hello Oleksandr, > >> On 2 Nov 2020, at 10:12 am, Oleksandr Andrushchenko >> <Oleksandr_Andrushchenko@xxxxxxxx> wrote: >> >> Hi, >> >> On 11/2/20 11:55 AM, Bertrand Marquis wrote: >>> Hi, >>> >>>> On 2 Nov 2020, at 05:55, Oleksandr Andrushchenko <andr2000@xxxxxxxxx> >>>> wrote: >>>> >>>> Hi, Julien! >>>> >>>> On 10/30/20 7:18 PM, Julien Grall wrote: >>>>> Hi Oleksandr, >>>>> >>>>> On 30/10/2020 10:44, Oleksandr Andrushchenko wrote: >>>>>> On 10/20/20 6:25 PM, Rahul Singh wrote: >>>>>>> Add support for ARM architected SMMUv3 implementations. It is based on >>>>>>> the Linux SMMUv3 driver. >>>>>>> >>>>>>> Major differences between the Linux driver are as follows: >>>>>>> 1. Only Stage-2 translation is supported as compared to the Linux driver >>>>>>> that supports both Stage-1 and Stage-2 translations. >>>>>> First of all thank you for the efforts! >>>>>> >>>>>> I tried the patch with QEMU and would like to know if my understanding >>>>>> correct >>>>>> >>>>>> that this combination will not work as of now: >>>>>> >>>>>> (XEN) SMMUv3: /smmuv3@9050000: SMMUv3: DT value = eventq >>>>>> (XEN) Data Abort Trap. Syndrome=0x1940010 >>>>>> (XEN) Walking Hypervisor VA 0x40031000 on CPU0 via TTBR >>>>>> 0x00000000b8469000 >>>>>> (XEN) 0TH[0x0] = 0x00000000b8468f7f >>>>>> >>>>>> [snip] >>>>>> >>>>>> If this is expected then is there any plan to make QEMU work as well? >>>>>> >>>>>> I see [1] says that "Only stage 1 and AArch64 PTW are supported." on >>>>>> QEMU side. >>>>> Just for clarication, you are trying to boot Xen on QEMU, right? >>>> Exactly >>>>> You might be able to use the stage-1 page-tables to isolate each device >>>>> in Xen. However, I don't think you will be able to share the P2M because >>>>> the page-tables layout between stage-1 and stage-2 is different. >>>> So, it is even more work then >>> Overall it would make more sense to spend some time adding proper support >>> in Qemu then trying to modify the driver to support Qemu right now. >>> >>>>>> We are interested in QEMU/SMMUv3 as a flexible platform for PCI >>>>>> passthrough >>>>>> >>>>>> implementation, so it could allow testing different setups and >>>>>> configurations with QEMU. >>>>> I would recommend to get the SMMU supporting supporting stage-2 >>>>> page-tables. >>>> You mean in QEMU? >>> See before. >>> >>>>> Regardless that, I think Xen should be able to say the SMMU is not >>>>> supported rather than crashing. >>>> Yes, that would be nice >>> Fully agree and we will look into that. >>> >>> Anything you could share so that we could quickly reproduce your setup >>> would be more then great. >> Nothing special, >> >> qemu/aarch64-softmmu/qemu-system-aarch64 -machine type=virt -machine >> virt,gic-version=2 \ >> >> -machine virtualization=true -cpu cortex-a57 -smp 4 -m 2048 -nic >> user,hostfwd=tcp:127.0.0.1:2222-:22 \ >> >> -nographic -serial mon:stdio [..snip..] >> >> I also set iommu to smmuv3 in my tests, QEMU emulator version 4.2.1 > I just checked and confirmed that QEMU is booting with XEN SMMUv3 patch and > XEN is able to say SMMU translation is not supported. As XEN supports Stage-2 > translation and QEMU supports Stage-1 only. > > > (XEN) SMMUv3: /smmuv3@9050000: SMMUv3: DT value = eventq > (XEN) SMMUv3: /smmuv3@9050000: IDR0.COHACC overridden by FW configuration > (false) > (XEN) SMMUv3: /smmuv3@9050000: no translation support! > (XEN) I/O virtualisation disabled > > Only difference I observed is that you have to add option "-machine > virt,iommu=smmuv3 “ when launching the QEMU. I do use the option > > Please let me know if it also works for you. Well, I should have reported that earlier that I do not use the staging Xen at the moment, it is 4.14.0. So, can this be a problem with that Xen version? Anyways, if it works with the staging then everything looks ok Thank you, Oleksandr > >>> Regards >>> Bertrand >>> >>>>> Cheers, >>>>> >>>> Thank you, >>>> >>>> Oleksandr
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |