On 04/24/2019 03:58 PM, Mike Rapoport wrote: > +To use vmemmap, an architecture has to reserve a range of virtual > +addresses that will map the physical pages containing the memory > +map. and make sure that `vmemmap` points to that range. In addition, > +the architecture should implement :c:func:`vmemmap_populate` method > +that will allocate the physical memory and create page tables for the > +virtual memory map. If an architecture does not have any special > +requirements for the vmemmap mappings, it can use default > +:c:func:`vmemmap_populate_basepages` provided by the generic memory > +management. Just to complete it, could you also include struct vmem_altmap and how it can contribute towards the physical backing for vmemmap virtual mapping. Otherwise the write up looks complete.