Re: [RFC PATCH 02/34] ARM: mm: make 2-level pgd_t a scalar
"Arnd Bergmann" <[email protected]> Mon, 13 Jul 2026 17:38:53 +0200
| Newsgroups | org.kernel.vger.linux-csky,dev.linux.lists.loongarch,org.infradead.lists.kvm-riscv,org.infradead.lists.linux-riscv,org.kernel.vger.linux-arch,org.kernel.vger.linux-kernel,org.kernel.vger.linux-m68k,org.kernel.vger.linux-mips,org.kernel.vger.linux-openrisc,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Jul 13, 2026, at 15:55, Yeoreum Yun wrote: > From: "David Hildenbrand (Arm)" <[email protected]> > > We don't want pgd_t to be an array, as it prohibits returning it from a > function, like pgdp_get(). What should pgdp_get() return on ARM 2-stage page tables then? Does it return just the first entry or concatenate the two? > +typedef u64 pgdval_t; > +static inline pmdval_t pgd_val(pgd_t pgd) > +{ > + return (*(pmdval_t (*)[2])&pgd)[0]; > +} This could use a comment to explain what this actually returns and why the second entry is discarded. Arnd