On 20.05.2022 12:47, Roger Pau Monné wrote: > On Thu, May 19, 2022 at 02:12:04PM +0200, Jan Beulich wrote: >> On 06.05.2022 13:16, Roger Pau Monné wrote: >>> On Mon, Apr 25, 2022 at 10:40:55AM +0200, Jan Beulich wrote: >>>> --- a/xen/drivers/passthrough/amd/iommu_map.c >>>> +++ b/xen/drivers/passthrough/amd/iommu_map.c >>>> @@ -115,7 +115,19 @@ static void set_iommu_ptes_present(unsig >>>> >>>> while ( nr_ptes-- ) >>>> { >>>> - set_iommu_pde_present(pde, next_mfn, 0, iw, ir); >>>> + ASSERT(!pde->next_level); >>>> + ASSERT(!pde->u); >>>> + >>>> + if ( pde > table ) >>>> + ASSERT(pde->ign0 == find_first_set_bit(pde - table)); >>>> + else >>>> + ASSERT(pde->ign0 == PAGE_SHIFT - 3); >>> >>> I think PAGETABLE_ORDER would be clearer here. >> >> I disagree - PAGETABLE_ORDER is a CPU-side concept. It's not used anywhere >> in IOMMU code afaics. > > Isn't PAGE_SHIFT also a CPU-side concept in the same way? I'm not > sure what's the rule for declaring that PAGE_SHIFT is fine to use in > IOMMU code but not PAGETABLE_ORDER.
Hmm, yes and no. But for consistency with other IOMMU code I may want to switch to PAGE_SHIFT_4K. Jan