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

Re: [XEN PATCH v1] xen/arm : Add support for SMMUv3 driver


  • To: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@xxxxxxxx>
  • From: Rahul Singh <Rahul.Singh@xxxxxxx>
  • Date: Mon, 2 Nov 2020 15:01:01 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AaEQNjMOgQnE4pUoDXwLH+fGx6hSaobFsJPsMkK+0UQ=; b=a7W2LOIV1/wirexUAfd6xnZtNTMSvuhvzalW3UQWeMvHl2Gcs3VrtiAhZYLOKPh8HLU6LQ5k1rfQ8OfrRUf7o6Q4/4kt2dli3vx2DiPqkOJoB5eUIzwr+9wlPasPF7Klb/QqBQlQHNWvFePBdfK7+qUiDyAFiWRRnuzE9tRT5nIMBCNhfKNPGKtGdXTsN4rWZd3qFzyYreRzQ/KTGENcULTqokE6wJvtaHkdStJ2QcesfrLSSvf25lGmmtZt1ZrazadsMQtTJEupnZF1bqkIzXksDmytBUguOiFL2Pur19JSBG2enpuub8JQnRxds68moUMcns/pqDur3UI9moDIQQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VHgSWPIlnMpWLdIQHsToT3LPjEkJdDTz9a77yeozOqCGwvs1h2GxjuOs68us+gVVbPPDsE54oprzyB3j/SLwH/8dkm5fBrLgiZ5O1pCQ1Ico2gFnhO82sUaQD6qTrwu6TLLlbIB6lCSINaWOIMn4ASBrpqscrF4EKq+FNXvfzxEEVjv0WLEcEZaBC/21mMOoBMHPnGamvzBAPSOu2vBjNiTLtxxV8/hrw2JjL9B2hzzcYCCcD/+DFo4L9A2msS7Ex72zGB0vTS8btFMG0oc4OFEPbHGDv+/fWXGbIo2IUFPPSKG/rcGtpk4yCRtXwuYMs778jxl9z73e86F7J1znRQ==
  • Authentication-results-original: epam.com; dkim=none (message not signed) header.d=none;epam.com; dmarc=none action=none header.from=arm.com;
  • Cc: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Oleksandr Andrushchenko <andr2000@xxxxxxxxx>, Julien Grall <julien@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Mon, 02 Nov 2020 15:01:52 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Original-authentication-results: epam.com; dkim=none (message not signed) header.d=none;epam.com; dmarc=none action=none header.from=arm.com;
  • Thread-index: AQHWoVvrkmJwOYERdUOadvid1OghFamwEIWAgABuPwCAA/gngIAAQvMAgAAErACAAFCygA==
  • Thread-topic: [XEN PATCH v1] xen/arm : Add support for SMMUv3 driver

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

Thanks for sharing the information. I will also try to reproduce the issue and 
will let you know the results.

> 
>> 
>> Regards
>> Bertrand
>> 
>>>> Cheers,
>>>> 
>>> Thank you,
>>> 
>>> Oleksandr

Regards,
Rahul




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.