All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/11] x86: 32-bit cleanups
@ 2024-12-10 14:49 Arnd Bergmann
  2024-12-10 14:49 ` [PATCH v2 01/11] x86/Kconfig: Geode CPU has cmpxchg8b Arnd Bergmann
                   ` (11 more replies)
  0 siblings, 12 replies; 21+ messages in thread
From: Arnd Bergmann @ 2024-12-10 14:49 UTC (permalink / raw)
  To: linux-kernel, x86
  Cc: Arnd Bergmann, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
	Dave Hansen, H. Peter Anvin, Linus Torvalds, Andy Shevchenko,
	Matthew Wilcox

From: Arnd Bergmann <arnd@arndb.de>

[sorry for sending a duplicate series, I just noticed I had
 dropped lkml from cc when I sent this a few minutes ago]

While looking at 32-bit arm cleanups, I came across some related topics
on x86 and ended up making a series for those as well.

Primarily this is about running 32-bit kernels on 64-bit hardware,
which usually works but should probably be discouraged more clearly by
only providing support for features that are used on real 32-bit hardware:

I found only a few 2003-era high-end servers (HP DL740 and DL760 G2)
that were the only possible remaining uses of HIGHMEM64G and BIGSMP after
the removal of 32-bit NUMA machines in 2014. Similary, there is only
one generation of hardware with support for VT-x.  All these features
can be removed without hurting users.

In the CPU selection, building a 32-bit kernel optimized for AMD K8
or Intel Core2 is anachronistic, so instead only 32-bit CPU types need
to be offered as optimization targets. The "generic" target on 64-bit
turned out to be slightly broken, so I included a fix for that as well.

Changes since v1:

 - Don't include patch to drop 32-bit KVM support for now
 - Drop patch for 64-bit Silverlake support
 - Drop 64-bit ISA level selection, only fix default
 - Rework MID patch based on comments
 - Add a patch to reorganize platform selection
 - Add a patch to add -march=native compilation

Arnd Bergmann (11):
  x86/Kconfig: Geode CPU has cmpxchg8b
  x86: drop 32-bit "bigsmp" machine support
  x86: rework CONFIG_GENERIC_CPU compiler flags
  x86: drop configuration options for early 64-bit CPUs
  x86: add CONFIG_X86_64_NATIVE option
  x86: remove HIGHMEM64G support
  x86: drop SWIOTLB and PHYS_ADDR_T_64BIT for PAE
  x86: drop support for CONFIG_HIGHPTE
  x86: document X86_INTEL_MID as 64-bit-only
  x86: remove old STA2x11 support
  x86: Move platforms to Kconfig.platforms

 Documentation/admin-guide/kdump/kdump.rst     |   4 -
 .../admin-guide/kernel-parameters.txt         |  11 -
 Documentation/arch/x86/usb-legacy-support.rst |  11 +-
 arch/x86/Kconfig                              | 460 +-----------------
 arch/x86/Kconfig.cpu                          | 111 ++---
 arch/x86/Kconfig.platforms                    | 361 ++++++++++++++
 arch/x86/Makefile                             |  21 +-
 arch/x86/Makefile_32.cpu                      |   5 +-
 arch/x86/configs/xen.config                   |   2 -
 arch/x86/include/asm/page_32_types.h          |   4 +-
 arch/x86/include/asm/pgalloc.h                |   5 -
 arch/x86/include/asm/sta2x11.h                |  13 -
 arch/x86/include/asm/vermagic.h               |   4 -
 arch/x86/kernel/apic/Makefile                 |   3 -
 arch/x86/kernel/apic/apic.c                   |   3 -
 arch/x86/kernel/apic/bigsmp_32.c              | 105 ----
 arch/x86/kernel/apic/local.h                  |  13 -
 arch/x86/kernel/apic/probe_32.c               |  29 --
 arch/x86/mm/init_32.c                         |   9 +-
 arch/x86/mm/pgtable.c                         |  32 +-
 arch/x86/pci/Makefile                         |   2 -
 arch/x86/pci/sta2x11-fixup.c                  | 233 ---------
 drivers/misc/mei/Kconfig                      |   2 +-
 include/linux/mm.h                            |   2 +-
 24 files changed, 422 insertions(+), 1023 deletions(-)
 create mode 100644 arch/x86/Kconfig.platforms
 delete mode 100644 arch/x86/include/asm/sta2x11.h
 delete mode 100644 arch/x86/kernel/apic/bigsmp_32.c
 delete mode 100644 arch/x86/pci/sta2x11-fixup.c

-- 
2.39.5

To: x86@kernel.org 
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Shevchenko <andy@kernel.org>
Cc: Matthew Wilcox <willy@infradead.org>

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-12-22 21:20 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-10 14:49 [PATCH v2 00/11] x86: 32-bit cleanups Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 01/11] x86/Kconfig: Geode CPU has cmpxchg8b Arnd Bergmann
2024-12-10 16:00   ` Brian Gerst
2024-12-10 14:49 ` [PATCH v2 02/11] x86: drop 32-bit "bigsmp" machine support Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 03/11] x86: rework CONFIG_GENERIC_CPU compiler flags Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 04/11] x86: drop configuration options for early 64-bit CPUs Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 05/11] x86: add CONFIG_X86_64_NATIVE option Arnd Bergmann
2024-12-10 19:05   ` irecca.kun
2024-12-10 20:56     ` Arnd Bergmann
2024-12-10 21:08       ` irecca.kun
2024-12-10 21:02   ` Josh Triplett
2024-12-10 14:49 ` [PATCH v2 06/11] x86: remove HIGHMEM64G support Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 07/11] x86: drop SWIOTLB and PHYS_ADDR_T_64BIT for PAE Arnd Bergmann
2024-12-20  2:52   ` kernel test robot
2024-12-22 21:19     ` Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 08/11] x86: drop support for CONFIG_HIGHPTE Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 09/11] x86: document X86_INTEL_MID as 64-bit-only Arnd Bergmann
2024-12-10 14:49 ` [PATCH v2 10/11] x86: remove old STA2x11 support Arnd Bergmann
2024-12-10 15:39   ` Andy Shevchenko
2024-12-10 14:49 ` [PATCH v2 11/11] x86: Move platforms to Kconfig.platforms Arnd Bergmann
2024-12-10 15:43 ` [PATCH v2 00/11] x86: 32-bit cleanups Andy Shevchenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.