linux/arch/loongarch/include/asm
Linus Torvalds 7cffdbe360 Updates for the x86 boot process:
- Initialize FPU late.
 
    Right now FPU is initialized very early during boot. There is no real
    requirement to do so. The only requirement is to have it done before
    alternatives are patched.
 
    That's done in check_bugs() which does way more than what the function
    name suggests.
 
    So first rename check_bugs() to arch_cpu_finalize_init() which makes it
    clear what this is about.
 
    Move the invocation of arch_cpu_finalize_init() earlier in
    start_kernel() as it has to be done before fork_init() which needs to
    know the FPU register buffer size.
 
    With those prerequisites the FPU initialization can be moved into
    arch_cpu_finalize_init(), which removes it from the early and fragile
    part of the x86 bringup.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmSZdNYTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoaNBEACWtVd1uhqQldIFgSvZYujsrWXlmkU+
 pok6gDzKQNwZADiXW/tn5fP8SBLWT0pgLM9d+oZ5mEaLaOW7HcZLEHcVrn74e3TT
 53xN8e1zCzyjCJ/x22vrKH4sn/bU+bQyzSNVu9Disqn9Fl+ts37FqAHDv/ExbneD
 DaYXXCLgQsyGbPLD8B7yGOpJTGBUTJxNQS1ZFElBaRsAaw0mYZOEoPvuTFK4o7Uz
 GUB2vGefmeNfX+EgLYKG9QoS0F3SMS9X2IYswy1H76ZnV/eXmTsA1S3u3X9yX7kC
 XBnPtCC+iX+7o3xFkTpa0oQUdzEyGOItExZZgce6jEQu4Fl7NoIJxhlMg9/Y+vcF
 ntipEKSWFLAi1GkZzeKRwSSsoWqRaFxOKLy8qhn9kud09k+UtMBkNrF1CSp9laAz
 QParu3B1oHPEzx/jS0bSOCMN+AQZH8rX7LxRp4kpBOeBSZNCnfaBUzfIvmccPls+
 EJTO/0JUpRm5LsPSDiJhypPRoOOIP26IloR6OoZTcI3p76NrnYblRvisvuFAgDU6
 bk7Belf+GDx0kBZugqQgok7nDaHIBR7vEmca1NV8507UrffVyxLAiI4CiWPcFdOq
 ovhO8K+gP4xvzZx4cXZBwYwusjvl/oxKy8yQiGgoftDiWU4sdUCSrwX3x27+hUYL
 2P1OLDOXSGwESQ==
 =yxMj
 -----END PGP SIGNATURE-----

Merge tag 'x86-boot-2023-06-26' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 boot updates from Thomas Gleixner:
 "Initialize FPU late.

  Right now FPU is initialized very early during boot. There is no real
  requirement to do so. The only requirement is to have it done before
  alternatives are patched.

  That's done in check_bugs() which does way more than what the function
  name suggests.

  So first rename check_bugs() to arch_cpu_finalize_init() which makes
  it clear what this is about.

  Move the invocation of arch_cpu_finalize_init() earlier in
  start_kernel() as it has to be done before fork_init() which needs to
  know the FPU register buffer size.

  With those prerequisites the FPU initialization can be moved into
  arch_cpu_finalize_init(), which removes it from the early and fragile
  part of the x86 bringup"

* tag 'x86-boot-2023-06-26' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/mem_encrypt: Unbreak the AMD_MEM_ENCRYPT=n build
  x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
  x86/fpu: Mark init functions __init
  x86/fpu: Remove cpuinfo argument from init functions
  x86/init: Initialize signal frame size late
  init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
  init: Invoke arch_cpu_finalize_init() earlier
  init: Remove check_bugs() leftovers
  um/cpu: Switch to arch_cpu_finalize_init()
  sparc/cpu: Switch to arch_cpu_finalize_init()
  sh/cpu: Switch to arch_cpu_finalize_init()
  mips/cpu: Switch to arch_cpu_finalize_init()
  m68k/cpu: Switch to arch_cpu_finalize_init()
  loongarch/cpu: Switch to arch_cpu_finalize_init()
  ia64/cpu: Switch to arch_cpu_finalize_init()
  ARM: cpu: Switch to arch_cpu_finalize_init()
  x86/cpu: Switch to arch_cpu_finalize_init()
  init: Provide arch_cpu_finalize_init()
2023-06-26 13:39:10 -07:00
..
vdso LoongArch: Add vDSO syscall __vdso_getcpu() 2022-08-12 13:10:11 +08:00
acenv.h LoongArch: Add boot and setup routines 2022-06-03 20:09:28 +08:00
acpi.h LoongArch: Fix build error if CONFIG_SUSPEND is not set 2023-04-18 19:38:58 +08:00
addrspace.h LoongArch: Fix _CONST64_(x) as unsigned 2023-04-18 19:38:58 +08:00
alternative-asm.h LoongArch: Add alternative runtime patching mechanism 2022-12-14 08:36:11 +08:00
alternative.h LoongArch: Add alternative runtime patching mechanism 2022-12-14 08:36:11 +08:00
asm-extable.h LoongArch: BPF: Add BPF exception tables 2022-12-14 08:36:11 +08:00
asm-offsets.h LoongArch: Add misc common routines 2022-06-03 20:09:28 +08:00
asm-prototypes.h LoongArch: Add other common headers 2022-06-03 20:09:28 +08:00
asm.h LoongArch: Mark some assembler symbols as non-kprobe-able 2023-02-25 22:12:17 +08:00
asmmacro.h LoongArch: Add support for kernel relocation 2023-02-25 22:12:16 +08:00
atomic.h LoongArch: Remove useless header compiler.h 2022-07-29 18:22:32 +08:00
barrier.h LoongArch: Use ABI names of registers where appropriate 2022-07-29 18:22:32 +08:00
bitops.h LoongArch: Add atomic/locking headers 2022-06-03 20:09:28 +08:00
bitrev.h LoongArch: Add atomic/locking headers 2022-06-03 20:09:28 +08:00
bootinfo.h LoongArch: Clean up plat_swiotlb_setup() related code 2023-04-19 12:07:27 +08:00
branch.h LoongArch: Make compute_return_era() return void 2022-06-25 18:06:07 +08:00
bug.h LoongArch: Use generic BUG() handler 2022-10-12 16:36:19 +08:00
cache.h LoongArch: Add memory management 2022-06-03 20:09:28 +08:00
cacheflush.h LoongArch: Refactor cache probe and flush methods 2022-10-12 16:36:14 +08:00
cacheops.h LoongArch: Refactor cache probe and flush methods 2022-10-12 16:36:14 +08:00
checksum.h LoongArch: Add checksum optimization for 64-bit system 2023-05-01 17:19:43 +08:00
clocksource.h LoongArch: Add other common headers 2022-06-03 20:09:28 +08:00
cmpxchg.h locking/arch: Rename all internal __xchg() names to __arch_xchg() 2023-04-29 09:08:44 +02:00
cpu-features.h LoongArch: Fix probing of the CRC32 feature 2023-04-18 19:38:58 +08:00
cpu-info.h LoongArch: Refactor cache probe and flush methods 2022-10-12 16:36:14 +08:00
cpu.h LoongArch: Fix probing of the CRC32 feature 2023-04-18 19:38:58 +08:00
cpufeature.h LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
delay.h LoongArch: Add some library functions 2022-06-03 20:09:28 +08:00
dma-direct.h LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
dma.h LoongArch: Add PCI controller support 2022-08-12 13:10:11 +08:00
dmi.h LoongArch: Add boot and setup routines 2022-06-03 20:09:28 +08:00
efi.h LoongArch changes for v6.2 2022-12-19 08:23:27 -06:00
elf.h LoongArch: Define ELF relocation types added in ABIv2.0 2022-10-12 16:36:14 +08:00
entry-common.h LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
exec.h LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
extable.h LoongArch: BPF: Add BPF exception tables 2022-12-14 08:36:11 +08:00
fb.h LoongArch: Add misc common routines 2022-06-03 20:09:28 +08:00
fixmap.h LoongArch: Use TLB for ioremap() 2022-10-12 16:36:14 +08:00
fpregdef.h LoongArch: Remove obsolete mentions of vcsr 2022-07-07 17:41:01 +08:00
fpu.h LoongArch: Provide kernel fpu functions 2023-05-01 17:19:27 +08:00
ftrace.h LoongArch: ftrace: Add direct call support 2023-05-01 17:19:53 +08:00
futex.h LoongArch: extable: Add a dedicated uaccess handler 2022-12-14 08:36:11 +08:00
gpr-num.h LoongArch: extable: Add a dedicated uaccess handler 2022-12-14 08:36:11 +08:00
hardirq.h LoongArch: Fix the !CONFIG_SMP build 2022-06-08 11:00:40 +08:00
hugetlb.h LoongArch: Add memory management 2022-06-03 20:09:28 +08:00
hw_breakpoint.h LoongArch: Add hardware breakpoints/watchpoints support 2023-02-25 22:12:17 +08:00
hw_irq.h LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
idle.h LoongArch: Add process management 2022-06-03 20:09:28 +08:00
inst.h LoongArch: Relay BCE exceptions to userland as SIGSEGV with si_code=SEGV_BNDERR 2023-05-01 17:19:27 +08:00
io.h LoongArch: Make WriteCombine configurable for ioremap() 2023-04-18 19:38:58 +08:00
irq_regs.h LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
irq.h ACPI updates for 6.2-rc1 2022-12-13 19:19:41 +08:00
irqflags.h LoongArch: Remove useless header compiler.h 2022-07-29 18:22:32 +08:00
Kbuild LoongArch changes for v6.1 2022-10-12 10:35:20 -07:00
kdebug.h LoongArch: Add exception/interrupt handling 2022-06-03 20:09:28 +08:00
kexec.h LoongArch: Add kexec support 2022-10-12 16:36:19 +08:00
kprobes.h LoongArch: Add kretprobes support 2023-02-25 22:12:17 +08:00
linkage.h LoongArch: Add other common headers 2022-06-03 20:09:28 +08:00
local.h locking/arch: Wire up local_try_cmpxchg() 2023-04-29 09:09:16 +02:00
loongarch.h LoongArch: Fix the write_fcsr() macro 2023-06-15 14:35:52 +08:00
loongson.h LoongArch: Add suspend (ACPI S3) support 2022-12-14 08:41:53 +08:00
mmu_context.h LoongArch: Add process management 2022-06-03 20:09:28 +08:00
mmu.h LoongArch: Add process management 2022-06-03 20:09:28 +08:00
mmzone.h LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
module.h LoongArch: modules/ftrace: Initialize PLT at load time 2022-12-14 08:41:54 +08:00
module.lds.h LoongArch: module: set section addresses to 0x0 2023-04-18 19:38:58 +08:00
numa.h LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
page.h mm, arch: add generic implementation of pfn_valid() for FLATMEM 2023-02-09 16:51:41 -08:00
pci.h LoongArch: Add PCI controller support 2022-08-12 13:10:11 +08:00
percpu.h LoongArch: Adjust symbol addressing for AS_HAS_EXPLICIT_RELOCS 2022-10-12 16:36:08 +08:00
perf_event.h LoongArch: Add perf events support 2022-10-12 16:36:14 +08:00
pgalloc.h MIPS&LoongArch&NIOS2: adjust prototypes of p?d_init() 2022-12-11 18:12:11 -08:00
pgtable-bits.h LoongArch: Let pmd_present() return true when splitting pmd 2023-06-15 14:35:52 +08:00
pgtable.h LoongArch: Let pmd_present() return true when splitting pmd 2023-06-15 14:35:52 +08:00
prefetch.h LoongArch: Add other common headers 2022-06-03 20:09:28 +08:00
processor.h LoongArch: ptrace: Add hardware single step support 2023-02-25 22:12:17 +08:00
ptrace.h LoongArch: Add support for function error injection 2023-05-01 17:19:52 +08:00
regdef.h
seccomp.h LoongArch: Add system call support 2022-06-03 20:09:28 +08:00
serial.h LoongArch: Add other common headers 2022-06-03 20:09:28 +08:00
setup.h LoongArch: Add support for kernel address space layout randomization (KASLR) 2023-02-25 22:12:17 +08:00
shmparam.h LoongArch: Add memory management 2022-06-03 20:09:28 +08:00
smp.h loongarch/cpu: Mark play_dead() __noreturn 2023-03-06 15:34:06 -08:00
sparsemem.h LoongArch: add sparse memory vmemmap support 2022-12-11 18:12:12 -08:00
spinlock_types.h LoongArch: Add qspinlock support 2022-10-12 16:36:14 +08:00
spinlock.h LoongArch: Add qspinlock support 2022-10-12 16:36:14 +08:00
stackframe.h LoongArch: Add la_abs macro implementation 2023-02-25 22:12:16 +08:00
stackprotector.h LoongArch: Add basic STACKPROTECTOR support 2022-12-14 08:41:53 +08:00
stacktrace.h LoongArch: Add USER_STACKTRACE support 2022-08-12 13:10:11 +08:00
string.h LoongArch: Use alternative to optimize libraries 2022-12-14 08:36:11 +08:00
switch_to.h LoongArch: Add hardware breakpoints/watchpoints support 2023-02-25 22:12:17 +08:00
syscall.h LoongArch: Add system call support 2022-06-03 20:09:28 +08:00
thread_info.h LoongArch: Add unaligned access support 2022-12-14 08:36:11 +08:00
time.h LoongArch: Add suspend (ACPI S3) support 2022-12-14 08:41:53 +08:00
timex.h LoongArch: Remove MIPS comment about cycle counter 2022-06-08 11:00:40 +08:00
tlb.h mm: replace vma->vm_flags direct modifications with modifier calls 2023-02-09 16:51:39 -08:00
tlbflush.h LoongArch: Add multi-processor (SMP) support 2022-06-03 20:09:29 +08:00
topology.h LoongArch: Add Non-Uniform Memory Access (NUMA) support 2022-06-03 20:09:29 +08:00
types.h LoongArch: Add other common headers 2022-06-03 20:09:28 +08:00
uaccess.h LoongArch: Use la.pcrel instead of la.abs when it's trivially possible 2023-02-25 22:12:16 +08:00
unistd.h LoongArch: Add system call support 2022-06-03 20:09:28 +08:00
unwind.h LoongArch: Add generic ex-handler unwind in prologue unwinder 2023-01-17 11:42:16 +08:00
vdso.h LoongArch: Add vDSO syscall __vdso_getcpu() 2022-08-12 13:10:11 +08:00
vermagic.h LoongArch: Add ELF and module support 2022-06-03 20:09:28 +08:00
vmalloc.h LoongArch: Add memory management 2022-06-03 20:09:28 +08:00