On 28.02.2022 10:55, Julien Grall wrote: > On 22/02/2022 15:22, Jan Beulich wrote: >> On 21.02.2022 11:22, Julien Grall wrote: >>> + /* >>> + * We cannot use set_fixmap() here. We use PMAP when there is no >>> direct map, >>> + * so map_pages_to_xen() called by set_fixmap() needs to map pages on >>> + * demand, which then calls pmap() again, resulting in a loop. Modify >>> the >>> + * PTEs directly instead. The same is true for pmap_unmap(). >>> + */ >>> + arch_pmap_map(slot, mfn); >> >> I'm less certain here, but like above I'm under the impression >> that this comment may no longer be accurate. > > This comment is still accurate for Arm. I also expect it to be accurate > for all architectures because set_fixmap() is likely going to be > implemented with generic PT helpers. > > So I think it makes sense to keep it in common code. This explains why > we are calling arch_pmap_map() rather than set_fixmap() directly.
I guess I was rather after "when there is no direct map" alluding to the planned removal of it on x86. Jan