[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/5] virtio-iommu: Handle reserved regions in the translation
From: |
Auger Eric |
Subject: |
Re: [PATCH 3/5] virtio-iommu: Handle reserved regions in the translation process |
Date: |
Fri, 8 May 2020 08:34:09 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
Hi Peter,
On 5/7/20 9:47 PM, Peter Xu wrote:
> Hi, Eric,
>
> On Thu, May 07, 2020 at 04:31:59PM +0200, Eric Auger wrote:
>> @@ -640,6 +641,24 @@ static IOMMUTLBEntry
>> virtio_iommu_translate(IOMMUMemoryRegion *mr, hwaddr addr,
>> goto unlock;
>> }
>>
>> + for (i = 0; i < s->nb_reserved_regions; i++) {
>> + if (interval.low >= s->reserved_regions[i].low &&
>> + interval.low <= s->reserved_regions[i].high) {
>
> Should this be s/low/high/?
I meant addr >= s->reserved_regions[i].low && addr <=
s->reserved_regions[i].high
We only compare a single iova against reserved range boundaries and
boundaries are inclusive
>
> For this case (high==low+1) I guess maybe it's also easier to use "addr >= low
> && addr < high".
Yes using addr directly is definitively more readable ;-)
Thanks
Eric
>
> Thanks,
>
>> + switch (s->reserved_regions[i].type) {
>> + case VIRTIO_IOMMU_RESV_MEM_T_MSI:
>> + entry.perm = flag;
>> + break;
>> + case VIRTIO_IOMMU_RESV_MEM_T_RESERVED:
>> + default:
>> + virtio_iommu_report_fault(s, VIRTIO_IOMMU_FAULT_R_MAPPING,
>> + VIRTIO_IOMMU_FAULT_F_ADDRESS,
>> + sid, addr);
>> + break;
>> + }
>> + goto unlock;
>> + }
>> + }
>> +
>> if (!ep->domain) {
>> if (!bypass_allowed) {
>> error_report_once("%s %02x:%02x.%01x not attached to any
>> domain",
>> --
>> 2.20.1
>>
>
- [PATCH 0/5] VIRTIO-IOMMU probe request support and MSI bypass on ARM, Eric Auger, 2020/05/07
- [PATCH 3/5] virtio-iommu: Handle reserved regions in the translation process, Eric Auger, 2020/05/07
- [PATCH 1/5] qdev: Introduce DEFINE_PROP_RESERVED_REGION, Eric Auger, 2020/05/07
- [PATCH 2/5] virtio-iommu: Implement RESV_MEM probe request, Eric Auger, 2020/05/07
- [PATCH 4/5] virtio-iommu-pci: Add array of Interval properties, Eric Auger, 2020/05/07
- [PATCH 5/5] hw/arm/virt: Let the virtio-iommu bypass MSIs, Eric Auger, 2020/05/07