How to get the supported page sizes of aarch64? (and possible other architectures)

From: Qu Wenruo
Date: Tue Jan 04 2022 - 18:44:40 EST


Hi,

Recently I'm trying to boot a kernel with 16K page size, but edk2
firmware failed to load the kernel on my CM4, with unsupported message:

Failed to execute Archlinux ARM (\Image-custom): Unsupported

While 4K and 64K page sized kernels are fine to boot.

A quick search shows that Cortex A processors support 4K and 64K page
size, and 16K page size is not a mandatory requirement.

On the other hand, other aarch64 processors, like Apple M1 only supports
4K and 16K page size, no 64K page size support.


Although ARM documents show ID_AA64MMFR0_EL1 would report such info, is
there any user space tool or kernel messages to show an
end-user-friendly output about what page sizes are support?

Thanks,
Qu