linux/arch/parisc/kernel
Zhenghui Hao 289e99e7a2 parisc: parse early parameters in setup_arch()
parisc is one of the few architectures that does not call
parse_early_param() from setup_arch().  That was mostly harmless until
commit d49004c5f0 ("arch, mm: consolidate initialization of nodes,
zones and memory map") moved the consumer of several hugetlb command
line parameters into mm_core_init_early(), which runs before the
generic parse_early_param() call in start_kernel().

As a result hugepages=, hugepagesz=, default_hugepagesz=, hugetlb_cma=
and hugetlb_free_vmemmap= are recorded after they have already been
consumed and are silently dropped on parisc.

Call parse_early_param() from setup_arch(), after the command line has
been set up and the memory inventory has been taken.  jump_label_init()
must be called first because early parameter handlers may enable or
disable static keys.  Both functions are safe to call more than once:
the generic calls in start_kernel() remain in place and turn into no-ops.

Suggested-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Fixes: d49004c5f0 ("arch, mm: consolidate initialization of nodes, zones and memory map")
Cc: <stable@vger.kernel.org>
Signed-off-by: Zhenghui Hao <zhenghui.hao@qq.com>
Tested-by: Helge Deller <deller@gmx.de>
Signed-off-by: Helge Deller <deller@gmx.de>
2026-09-18 13:38:15 +02:00
..
syscalls arch: hookup fchroot() system call 2026-07-27 17:18:00 +02:00
vdso32 vdso: Rename included Makefile 2025-02-21 09:54:01 +01:00
vdso64 vdso: Rename included Makefile 2025-02-21 09:54:01 +01:00
.gitignore
alternative.c parisc: Use num_present_cpus() in alternative patching code 2023-05-23 18:17:32 +02:00
asm-offsets.c parisc: entry: set W bit for !compat tasks in syscall_restore_rfi() 2025-10-16 01:37:39 +02:00
audit.c parisc: Fold 32-bit compat code into audit_classify_syscall() 2023-06-30 17:14:14 +02:00
cache.c mm/rmap: rename vma_interval_tree_*() to mapping_rmap_tree_*() 2026-08-04 19:18:58 -07:00
compat_audit.c parisc: Fold 32-bit compat code into audit_classify_syscall() 2023-06-30 17:14:14 +02:00
drivers.c parisc: drivers: switch to dynamic root device 2026-04-28 17:18:52 +02:00
entry.S parisc: entry.S: fix space adjustment on interruption for 64-bit userspace 2025-10-30 15:16:32 +01:00
firmware.c parisc: Add PDC PAT call to get free running 64-bit counter 2026-02-07 00:45:19 +01:00
ftrace.c parisc architecture fixes for kernel v6.13-rc1: 2024-11-26 14:49:20 -08:00
hardware.c parisc: Clean up names in hardware database 2022-08-01 18:43:23 +02:00
head.S parisc: Fix alignment of asm statements in head.S 2026-08-16 16:44:52 +02:00
hpmc.S
inventory.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
irq.c parisc: Use irq_enter_rcu() to fix warning at kernel/context_tracking.c:367 2024-02-27 22:51:44 +01:00
jump_label.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
kexec_file.c kexec_file, parisc: print out debugging message if required 2023-12-20 15:02:57 -08:00
kexec.c parisc: kexec: include reboot.h 2023-05-09 14:04:56 +02:00
kgdb.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
kprobes.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
Makefile parisc: Fix build failure for 32-bit kernel with PA2.0 instruction set 2026-04-30 09:10:07 +02:00
module.c arch: make execmem setup available regardless of CONFIG_MODULES 2024-05-14 00:31:44 -07:00
pacache.S parisc: Ensure page alignment in flush functions 2023-05-03 17:43:26 +02:00
parisc_ksyms.c parisc: Remove memcpy_fromio 2025-02-03 19:27:00 +01:00
patch.c asm-generic: introduce text-patching.h 2024-11-07 14:25:15 -08:00
pci-dma.c parisc: Move proc_mckinley_root and proc_runway_root to sba_iommu 2023-08-10 22:22:03 +02:00
pci.c PCI: Align head space better 2026-03-27 10:19:08 -05:00
pdc_chassis.c parisc: chassis: Do not overwrite string on LCD display 2023-08-28 17:58:14 +02:00
pdc_cons.c parisc: Drop locking in pdc console code 2022-12-18 22:18:49 +01:00
pdt.c parisc: PDT: Fix missing prototype warning 2025-02-28 08:04:22 +01:00
perf_asm.S
perf_event.c parisc: Add initial kernel-side perf_event support 2025-10-07 19:35:51 +02:00
perf_images.h
perf_regs.c parisc: remove unneeded semicolon in perf_regs.c 2025-11-08 23:15:26 +01:00
perf.c parisc: perf: use named initializers for struct miscdevice 2025-02-28 08:07:15 +01:00
process.c parisc: Prevent interrupts during reboot 2026-02-07 00:45:18 +01:00
processor.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ptrace.c ptrace, treewide: Rename ptrace_report_syscall_entry() to ptrace_report_syscall_permit_entry() 2026-07-12 12:38:02 +02:00
real2.S parisc: Fix argument pointer in real64_call_asm() 2023-05-03 17:43:26 +02:00
relocate_kernel.S
setup.c parisc: parse early parameters in setup_arch() 2026-09-18 13:38:15 +02:00
signal.c parisc: Fix signal code to depend on CONFIG_COMPAT instead of CONFIG_64BIT 2026-04-17 15:46:45 +02:00
signal32.c
signal32.h
smp.c parisc: Remove unnecessary NULL check of the kstat_irqs field 2026-07-07 21:36:19 +02:00
stacktrace.c
sys_parisc.c parisc: Fix default stack size when COMPAT=n 2026-04-17 15:46:45 +02:00
sys_parisc32.c parisc: use generic sys_fanotify_mark implementation 2024-06-25 15:57:25 +02:00
syscall.S parisc: Avoid compat syscalls when COMPAT=n 2026-04-17 15:46:45 +02:00
time.c parisc: Remove unused clocksource flags 2026-03-12 12:23:26 +01:00
toc_asm.S
toc.c
topology.c parisc: fix a crash with multicore scheduler 2022-06-03 09:54:01 +02:00
traps.c parisc: Report emulation faults via perf 2025-10-07 18:01:53 +02:00
unaligned.c parisc: Report software alignment faults via perf 2025-10-07 18:01:53 +02:00
unaligned.h parisc: get rid of private asm/unaligned.h 2024-10-01 23:20:41 -04:00
unwind.c parisc: unwind: Replace open-coded binary search with bsearch() 2026-09-18 13:38:14 +02:00
vdso.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
vmlinux.lds.S kbuild: Split .modinfo out from ELF_DETAILS 2026-02-26 11:50:19 -07:00