In Arm32 architecture(Flat Memory Model), 'pgd' attribute in mm_struct is a virtual address. If I understood correctly, however, in Arm64 architecture(Sparse Memory Model), 'pgd' attribute in mm_struct is a physical address.
Why there is such a difference between the two architecture? Why pgd in Arm64 isn't a virtual address?
Thanks for your interest.
I misunderstood. The pgd is also stored as a virtual address in the sparse memory model.