On Mon, Feb 27, 2023 at 05:38:49PM +0100, Neil Armstrong wrote: > On 27/02/2023 17:15, Arnd Bergmann wrote: > > On Mon, Feb 27, 2023, at 16:51, Dmitry Rokosov wrote: > > > On Mon, Feb 27, 2023 at 03:58:50PM +0100, Arnd Bergmann wrote: > > > > > > > > I would argue that is a problem with buildroot, and using a 32-bit > > > > kernel is not something we should encourage over fixing buildroot > > > > to do it right, or building the kernel separately from the rootfs. > > > > > > > > We do allow building support for a couple of ARMv8 SoCs in 32-bit > > > > mode, but that is usually because they ship with a 32-bit bootrom > > > > and cannot actually run a 64-bit kernel. > > > > > > To be honest, I didn't know about this principle. It looks like a very > > > rational approach "start from max supported bitness". > > > Based on overall maintainers opinion, we have to prepare a patch for > > > buildroot to support compat mode :) > > > > That would be great, thanks a lot! > > > > For what it's worth, the main arguments in favor of running a 64-bit > > kernel with compat user space over a 32-bit kernel are support for: > > > > - larger RAM sizes without highmem (most 32-bit kernels only > > support 768MB of lowmem, and highmem sucks) > > - larger virtual address space (4GB vs 3GB or less) > > - CPU specific errata workarounds (arch/arm/ only has those for 32-bit cpus) > > - mitigations for common attacks such as spectre > > - security hardening that depends on larger address space > > (KASLR, BTI, ptrauth, PAN, ...) > > - emulating instructions that were removed in Armv8 (setend, swp, ...) > > > > Most of these don't apply in userspace, so the incentive to > > run smaller 32-bit userland on systems with less than 1GB of > > RAM usually outweighs the benefits of 64-bit userspace. > > Thanks for the details! Looks like Thomas has already prepared a basic patch series for buildroot, but maintainers declined it. https://lore.kernel.org/all/20220730194331.GA2515056@scaer/ -- Thank you, Dmitry