On 11.09.20 10:59, Paul Durrant wrote: Hi
De-htmling... ----- From: Oleksandr Tyshchenko <[email protected]> Sent: 10 September 2020 19:20 To: Durrant, Paul <[email protected]> Cc: Bertrand Marquis <[email protected]>; Paul Durrant <[email protected]>; open list:X86 <[email protected]>; Jan Beulich <[email protected]>; Andrew Cooper <[email protected]>; Wei Liu <[email protected]>; Roger Pau Monné <[email protected]>; George Dunlap <[email protected]>; Ian Jackson <[email protected]>; Julien Grall <[email protected]>; Stefano Stabellini <[email protected]>; Jun Nakajima <[email protected]>; Kevin Tian <[email protected]> Subject: Re: [PATCH v6 4/8] iommu: make map and unmap take a page count, similar to flush On Thu, Sep 10, 2020 at 8:49 PM Durrant, Paul <mailto:[email protected]> wrote: Hi Paul [sorry for the possible format issue]-----Original Message----- From: Bertrand Marquis <mailto:[email protected]> Sent: 10 September 2020 17:46 To: Paul Durrant <mailto:[email protected]> Cc: open list:X86 <mailto:[email protected]>; Durrant, Paul <mailto:[email protected]>; Jan Beulich <mailto:[email protected]>; Andrew Cooper <mailto:[email protected]>; Wei Liu <mailto:[email protected]>; Roger Pau Monné <mailto:[email protected]>; George Dunlap <mailto:[email protected]>; Ian Jackson <mailto:[email protected]>; Julien Grall <mailto:[email protected]>; Stefano Stabellini <mailto:[email protected]>; Jun Nakajima <mailto:[email protected]>; Kevin Tian <mailto:[email protected]> Subject: RE: [EXTERNAL] [PATCH v6 4/8] iommu: make map and unmap take a page count, similar to flush CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h index 1831dc66b0..13f68dc93d 100644 --- a/xen/include/xen/iommu.h +++ b/xen/include/xen/iommu.h @@ -146,23 +146,23 @@ enum #define IOMMU_FLUSHF_modified (1u << _IOMMU_FLUSHF_modified) int __must_check iommu_map(struct domain *d, dfn_t dfn, mfn_t mfn, - unsigned int page_order, unsigned int flags, + unsigned long page_count, unsigned int flags, unsigned int *flush_flags); int __must_check iommu_unmap(struct domain *d, dfn_t dfn, - unsigned int page_order, + unsigned long page_count, unsigned int *flush_flags); int __must_check iommu_legacy_map(struct domain *d, dfn_t dfn, mfn_t mfn, - unsigned int page_order, + unsigned long page_count, unsigned int flags); int __must_check iommu_legacy_unmap(struct domain *d, dfn_t dfn, - unsigned int page_order); + unsigned long page_count); int __must_check iommu_lookup_page(struct domain *d, dfn_t dfn, mfn_t *mfn, unsigned int *flags); int __must_check iommu_iotlb_flush(struct domain *d, dfn_t dfn, - unsigned int page_count, + unsigned long page_count, unsigned int flush_flags); int __must_check iommu_iotlb_flush_all(struct domain *d, unsigned int flush_flags); @@ -281,7 +281,7 @@ struct iommu_ops { void (*share_p2m)(struct domain *d); void (*crash_shutdown)(void); int __must_check (*iotlb_flush)(struct domain *d, dfn_t dfn, - unsigned int page_count, + unsigned long page_count,This change will require to change the arm smmu code to have the right type for page count: xen/drivers/passthrough/smmu.c:2536 static int __must_check arm_smmu_iotlb_flush(struct domain *d, dfn_t dfn, unsigned int page_count, unsigned int flush_flags) Otherwise compilation is failing for arm. With that fixed i could compile and start an arm system with the complete serie (but not one with anarm SMMU). I should have specified because my test system right now does not have an SMMUv1.Thanks for spotting that; I did run a cross compilation on arm a while ago so not sure how I managed to miss this. Will fix and send v7. Probably ipmmu_iotlb_flush() in ipmmu-vmsa.c needs the same update as well (I don't have the possibility to apply your series and re-check)? Please note, it is still under CONFIG_EXPERT. ----- Oh, that's new I guess?
Not so new, AFAIR it is in mainline since v4.13 or little bit earlier, but still under Tech Preview.
I'll go check.
Thank you. -- Regards, Oleksandr Tyshchenko
