[PATCH 6/9] kernel/x86: enable x32 support for amd64

Elliott Mitchell ehem+openwrt at m5p.com
Wed Apr 26 17:00:57 PDT 2023


On Thu, Apr 27, 2023 at 12:46:49AM +0200, Stefan Lippers-Hollmann wrote:
> 
> On 2023-03-30, Elliott Mitchell wrote:
> > Full amd64 support isn't really appropriate for most situations
> > OpenWRT is deployed.  Whereas x86-x32 seems extremely appropriate for
> > these situations.  As such enable x86-x32 support.
> > 
> > CONFIG_ARCH_MMAP_RND_COMPAT_BITS is required to follow along,
> > otherwise the kernel build breaks.
> > 
> > Signed-off-by: Elliott Mitchell <ehem+openwrt at m5p.com>
> > ---
> > I suggest OpenWRT should be placing quite a bit of effort towards
> > x86-x32.  x86-x32 seems a rather superior generic target for OpenWRT.
> > Only issue is it could be valuable to have at least minimal amd64
> > userland support alongside the x86-x32 version.
> 
> x86_32 is pretty much dead in the water, with almost zero deployment
> by general purpose distributions - apart from VM data centre 
> environments doing their own thing (least amount of RAM usage 
> possible, everything else being secondary at best). At least Debian
> did raise security concerns about the x86_32 ISA in the past.

Error: undefined symbol "x86_32"

Without the extra context I would resolve that to "i386"/"ia32".  I think
"x32" or "x86_x32" are better strings for this case.

According to what I had read that was in the past when x32 was sharing
less of the i386 ABI.  Notably x32 had been trying to pass time values
in a distinct fashion.  I will conceed I'm unsure whether x32 is ever
truly going to get a seat at the table.

On a different news front, Linux 5.10 has an option
CONFIG_X86_X32_DISABLED which leaves x32 disabled by default (Debian's
kernels were configured this way).  Whereas 5.15 has removed the
CONFIG_X86_X32_DISABLED option which seems to suggest the concerns may
have been assuaged.

> While I might understand (understand, not support) a desire for this 
> as a dedicated subtarget (to appease the virtualization crowd), 
> although I still don't see a reason or sufficient uptake in more 
> conventional Linux environments. I would not be happy (at all) to 
> lose 'normal' x86_64 support (on real hardware) for this exotic 
> fringe hybrid. I can imagine that actually building for this 
> environment (with a 32 bit userland) might lead to 'funny' results 
> as well (as in major toolchain changes necessary to get it working 
> as expected).

I'm not proposing removing amd64 support, I'm proposing x32 is likely a
more valuable target.  Yet what you're describing reads like your desire
is for OpenWRT/x86 to simply be yet another desktop Linux distribution.

Unless you feel a networking device really needs 256GB of memory, virtual
machines are precisely what OpenWRT/x86 *should* target.  I think it is
reasonable to also have a jumbo/desktop build, but using an entire x86
machine doesn't seem to match OpenWRT's main theme.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg at m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





More information about the openwrt-devel mailing list