x86/cpu: Provide the full setup for getcpu() on x86-32
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Fri, 25 Nov 2022 09:42:14 +0000 (10:42 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 6 Feb 2023 14:48:54 +0000 (15:48 +0100)
commit717cce3bdcf34705417f641bf2fcdf9b038ec36c
treece78b376b3e6ddc1e8b151ed5f46acd61750f213
parent4c382d723edce1b3c72b55b1b505cf5526a56afc
x86/cpu: Provide the full setup for getcpu() on x86-32

setup_getcpu() configures two things:

  - it writes the current CPU & node information into MSR_TSC_AUX
  - it writes the same information as a GDT entry.

By using the "full" setup_getcpu() on i386 it is possible to read the CPU
information in userland via RDTSCP() or via LSL from the GDT.

Provide an GDT_ENTRY_CPUNODE for x86-32 and make the setup function
unconditionally available.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Roland Mainz <roland.mainz@nrubsig.org>
Link: https://lore.kernel.org/r/20221125094216.3663444-2-bigeasy@linutronix.de
arch/x86/include/asm/segment.h
arch/x86/kernel/cpu/common.c