[PATCH 00/10] Cleaning up x86 kernels

Elliott Mitchell ehem+openwrt at m5p.com
Sun Oct 29 17:52:22 PDT 2023


I guess the theme of this batch is cleanup of x86 kernels.  Along the way
some of this stretches onto other platforms.  Appears several years ago
x86 had been rather more build targets.  Since then they've been merged
somewhat haphazardly.

A few of these were previously reviewed by Philip Prindeville.  Since
then they've been rebased and some time has gone by.  I don't believe
this invalidates the review, but I feel I should mention this.

Changing the default of CONFIG_HW_RANDOM is a 10-15 line reduction right
now.  There is a pattern of recent target being more likely to set
CONFIG_HW_RANDOM=y and CONFIG_HW_RANDOM=n being older targets.  Given
this, right now this is a small win, but I expect it to increase in value
over time.

I'm wondering how CONFIG_FB_NOTIFY=y snuck into the common configuration
and CONFIG_FS_MBCACHE=y got into so many target configurations.  The
explicit setting matches the defaults, so pull these from the
configurations.

Hopefully no one has used ext2 in the past decade.  Yet one configuration
value was still being set.  Also pulling ext2 via ext4.  Simply cleaning
out remnants of this historic Linux filesystem.

Some bits of Geode configuration had leaked into x86 common area.  Push
them strictly onto the Geode builds.

Similarly CONFIG_M686=y had been set in the x86 common files.  Yet every
build overrode this.  Simply set the common setting the correct way.

The Intel i915 pairs with the Intel Pentium 4.  The "legacy" target
doesn't match this, so remove it from there.

Several packages were checking for TARGET_x86_64.  This is incorrect as
this would need to match both sides if the target was split.  As such
match the architecture, not the specific target.

Brought up previously.  The x32 (AMD64 with ILP32) setting seems an
excellent match for OpenWRT's goals.  Notably if OpenWRT is being used
on a system (or VM) with less than 4GB of memory, the address space is
less valuable, but the extra registers are valuable.  Since OpenWRT is
nominally focussed on embedded targets, this fits.

Could be a while before enough bugs have been squeezed out of x32 for it
to be release-worthy.  Yet it seems appropriate to try to get an
experimental build operational.  The patch merely enables kernel support,
I expect userspace to take some time.


Elliott Mitchell (10):
  kernel: change CONFIG_HW_RANDOM default to y
  kernel/generic: remove CONFIG_FB_NOTIFY
  kernel: purge CONFIG_FS_MBCACHE
  kernel: remove ext2 support from kernel
  kernel/x86: move Geode HW random from generic to geode
  kernel/x86: move SCx200 support from generic to geode
  kernel/x86: remove CONFIG_M686 from common configuration
  kernel/x86: remove i915 from x86/legacy kernels
  packages/x86: detect architecture, not x86/64 target
  kernel/x86: enable x32 support for amd64

 package/firmware/intel-microcode/Makefile     |  2 +-
 package/kernel/linux/modules/crypto.mk        |  2 +-
 package/kernel/linux/modules/virt.mk          |  4 +--
 package/libs/wolfssl/Makefile                 |  2 +-
 target/linux/airoha/config-5.15               |  1 -
 target/linux/apm821xx/config-5.15             |  1 +
 target/linux/apm821xx/config-6.1              |  1 +
 target/linux/archs38/config-5.15              |  2 +-
 target/linux/armsr/armv7/config-6.1           |  1 +
 target/linux/armsr/armv8/config-6.1           |  1 -
 target/linux/armsr/config-6.1                 |  1 -
 target/linux/at91/sam9x/config-5.15           |  2 --
 target/linux/at91/sama5/config-5.15           |  2 --
 target/linux/at91/sama7/config-5.15           |  2 --
 target/linux/ath25/config-5.15                |  1 -
 target/linux/ath79/config-5.15                |  1 +
 target/linux/ath79/config-6.1                 |  1 +
 target/linux/bcm27xx/bcm2708/config-6.1       |  2 --
 target/linux/bcm27xx/bcm2709/config-6.1       |  2 --
 target/linux/bcm27xx/bcm2710/config-6.1       |  2 --
 target/linux/bcm27xx/bcm2711/config-6.1       |  2 --
 target/linux/bcm47xx/config-5.15              |  1 -
 target/linux/bcm4908/config-5.15              |  1 +
 target/linux/bcm4908/config-6.1               |  1 +
 target/linux/bcm53xx/config-5.15              |  1 -
 target/linux/bcm53xx/config-6.1               |  1 -
 target/linux/bcm63xx/config-5.15              |  1 -
 target/linux/bmips/bcm6318/config-5.15        |  1 +
 target/linux/bmips/bcm6318/config-6.1         |  1 +
 target/linux/bmips/bcm63268/config-5.15       |  1 -
 target/linux/bmips/bcm63268/config-6.1        |  1 -
 target/linux/bmips/bcm6328/config-5.15        |  1 +
 target/linux/bmips/bcm6328/config-6.1         |  1 +
 target/linux/bmips/bcm6358/config-5.15        |  1 +
 target/linux/bmips/bcm6358/config-6.1         |  1 +
 target/linux/bmips/bcm6362/config-5.15        |  1 -
 target/linux/bmips/bcm6362/config-6.1         |  1 -
 target/linux/bmips/bcm6368/config-5.15        |  1 -
 target/linux/bmips/bcm6368/config-6.1         |  1 -
 target/linux/gemini/config-6.1                |  2 --
 target/linux/generic/config-5.15              |  6 ++---
 target/linux/generic/config-6.1               |  6 ++---
 target/linux/imx/config-5.15                  |  2 --
 target/linux/ipq40xx/config-6.1               |  1 -
 target/linux/ipq806x/config-6.1               |  1 -
 target/linux/ixp4xx/config-6.1                |  2 --
 target/linux/kirkwood/config-5.15             |  1 -
 target/linux/lantiq/ase/config-5.15           |  1 -
 target/linux/lantiq/falcon/config-5.15        |  1 +
 target/linux/lantiq/xrx200/config-5.15        |  1 -
 target/linux/lantiq/xway/config-5.15          |  1 -
 target/linux/lantiq/xway_legacy/config-5.15   |  1 +
 target/linux/layerscape/armv7/config-5.15     |  2 --
 target/linux/layerscape/armv7/config-6.1      |  2 --
 target/linux/layerscape/armv8_64b/config-5.15 |  2 --
 target/linux/layerscape/armv8_64b/config-6.1  |  2 --
 target/linux/malta/config-5.15                |  2 +-
 target/linux/malta/config-6.1                 |  2 +-
 target/linux/mediatek/filogic/config-5.15     |  2 --
 target/linux/mediatek/filogic/config-6.1      |  2 --
 target/linux/mediatek/mt7622/config-5.15      |  2 --
 target/linux/mediatek/mt7622/config-6.1       |  2 --
 target/linux/mediatek/mt7623/config-5.15      |  2 --
 target/linux/mediatek/mt7623/config-6.1       |  2 --
 target/linux/mediatek/mt7629/config-5.15      |  1 -
 target/linux/mediatek/mt7629/config-6.1       |  1 -
 target/linux/mpc85xx/config-5.15              |  1 -
 target/linux/mvebu/config-5.15                |  2 --
 target/linux/mvebu/config-6.1                 |  2 --
 target/linux/mxs/config-5.15                  |  2 +-
 target/linux/mxs/config-6.1                   |  2 +-
 target/linux/octeon/config-5.15               |  2 --
 target/linux/octeontx/config-5.15             |  1 -
 target/linux/omap/config-5.15                 |  2 --
 target/linux/oxnas/config-5.15                |  1 +
 target/linux/oxnas/ox810se/config-default     |  1 -
 target/linux/pistachio/config-5.15            |  2 +-
 target/linux/qoriq/config-5.15                |  2 --
 target/linux/qualcommax/config-6.1            |  1 +
 target/linux/ramips/mt7620/config-5.15        |  1 +
 target/linux/ramips/mt7621/config-5.15        |  1 +
 target/linux/ramips/mt76x8/config-5.15        |  1 +
 target/linux/ramips/rt288x/config-5.15        |  1 +
 target/linux/ramips/rt305x/config-5.15        |  1 +
 target/linux/ramips/rt3883/config-5.15        |  1 +
 target/linux/realtek/rtl838x/config-5.15      |  1 +
 target/linux/realtek/rtl839x/config-5.15      |  1 +
 target/linux/realtek/rtl930x/config-5.15      |  1 +
 target/linux/realtek/rtl931x/config-5.15      |  1 +
 target/linux/rockchip/armv8/config-5.15       |  2 +-
 target/linux/rockchip/armv8/config-6.1        |  2 +-
 target/linux/sifiveu/config-6.1               |  2 +-
 target/linux/sunxi/config-5.15                |  2 --
 target/linux/sunxi/config-6.1                 |  2 --
 target/linux/tegra/config-5.15                |  2 +-
 target/linux/uml/config-5.15                  |  2 --
 target/linux/uml/config-6.1                   |  2 --
 target/linux/x86/64/config-5.15               |  1 -
 target/linux/x86/64/config-6.1                |  2 --
 target/linux/x86/config-5.15                  | 12 +++------
 target/linux/x86/config-6.1                   | 13 ++++------
 target/linux/x86/generic/config-5.15          |  1 -
 target/linux/x86/generic/config-6.1           |  1 -
 target/linux/x86/geode/config-5.15            |  6 ++++-
 target/linux/x86/geode/config-6.1             |  6 ++++-
 target/linux/x86/legacy/config-5.15           | 26 +------------------
 target/linux/x86/legacy/config-6.1            | 26 +------------------
 target/linux/x86/modules.mk                   |  2 +-
 target/linux/zynq/config-5.15                 |  2 +-
 109 files changed, 69 insertions(+), 181 deletions(-)

-- 
(\___(\___(\______          --=> 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





-- 
(\___(\___(\______          --=> 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