[PATCH 6/9] kernel/x86: enable x32 support for amd64
Philip Prindeville
philipp_subx at redfish-solutions.com
Fri Apr 28 10:00:43 PDT 2023
My own experience disagrees.
I spent 17 months bringing up a Xeon-D based traffic shaper for 40Gb/s of traffic in a radio base station.
And yes, when collected crunched traffic statistics, it did use more than 4GB of address space to do so.
> On Mar 30, 2023, at 5:30 PM, Elliott Mitchell <ehem+openwrt at m5p.com> 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.
> ---
> target/linux/x86/64/config-5.10 | 1 -
> target/linux/x86/64/config-5.15 | 1 -
> target/linux/x86/config-5.10 | 2 ++
> target/linux/x86/config-5.15 | 2 ++
> 4 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/target/linux/x86/64/config-5.10 b/target/linux/x86/64/config-5.10
> index 1515f90932..de93495fb1 100644
> --- a/target/linux/x86/64/config-5.10
> +++ b/target/linux/x86/64/config-5.10
> @@ -470,7 +470,6 @@ CONFIG_X86_PM_TIMER=y
> # CONFIG_X86_POWERNOW_K8 is not set
> # CONFIG_X86_VSYSCALL_EMULATION is not set
> CONFIG_X86_X2APIC=y
> -# CONFIG_X86_X32 is not set
> CONFIG_XEN=y
> CONFIG_XENFS=y
> CONFIG_XEN_512GB=y
> diff --git a/target/linux/x86/64/config-5.15 b/target/linux/x86/64/config-5.15
> index a20891ea55..39e5064e53 100644
> --- a/target/linux/x86/64/config-5.15
> +++ b/target/linux/x86/64/config-5.15
> @@ -493,7 +493,6 @@ CONFIG_X86_PM_TIMER=y
> # CONFIG_X86_POWERNOW_K8 is not set
> # CONFIG_X86_VSYSCALL_EMULATION is not set
> CONFIG_X86_X2APIC=y
> -# CONFIG_X86_X32 is not set
> CONFIG_XEN=y
> CONFIG_XENFS=y
> CONFIG_XEN_512GB=y
> diff --git a/target/linux/x86/config-5.10 b/target/linux/x86/config-5.10
> index afb7adc63a..8be829d549 100644
> --- a/target/linux/x86/config-5.10
> +++ b/target/linux/x86/config-5.10
> @@ -12,6 +12,7 @@ CONFIG_ARCH_HIBERNATION_POSSIBLE=y
> CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
> CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
> +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
> CONFIG_ARCH_RANDOM=y
> CONFIG_ARCH_SELECT_MEMORY_MODEL=y
> CONFIG_ARCH_SPARSEMEM_ENABLE=y
> @@ -423,6 +424,7 @@ CONFIG_X86_UP_IOAPIC=y
> CONFIG_X86_USE_PPRO_CHECKSUM=y
> CONFIG_X86_VERBOSE_BOOTUP=y
> CONFIG_X86_VMX_FEATURE_NAMES=y
> +CONFIG_X86_X32=y
> CONFIG_XZ_DEC_BCJ=y
> CONFIG_XZ_DEC_X86=y
> CONFIG_ZLIB_INFLATE=y
> diff --git a/target/linux/x86/config-5.15 b/target/linux/x86/config-5.15
> index b59e809127..afe66b27b1 100644
> --- a/target/linux/x86/config-5.15
> +++ b/target/linux/x86/config-5.15
> @@ -13,6 +13,7 @@ CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
> CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
> CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
> +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
> CONFIG_ARCH_NR_GPIO=512
> CONFIG_ARCH_RANDOM=y
> CONFIG_ARCH_SELECT_MEMORY_MODEL=y
> @@ -428,6 +429,7 @@ CONFIG_X86_UP_IOAPIC=y
> CONFIG_X86_USE_PPRO_CHECKSUM=y
> CONFIG_X86_VERBOSE_BOOTUP=y
> CONFIG_X86_VMX_FEATURE_NAMES=y
> +CONFIG_X86_X32=y
> CONFIG_XZ_DEC_BCJ=y
> CONFIG_XZ_DEC_X86=y
> CONFIG_ZLIB_INFLATE=y
> --
> (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/)
> \BS ( | ehem+openwrt at m5p.com PGP 87145445 | ) /
> \_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/
> 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445
>
>
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list