Skip to content

Commit 297fb82

Browse files
rpptIngo Molnar
authored andcommitted
x86/boot: Split kernel resources setup into the setup_kernel_resources() helper function
Makes setup_arch() a bit easier to comprehend. No functional changes. Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20250214090651.3331663-3-rppt@kernel.org
1 parent 2d6bff3 commit 297fb82

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

arch/x86/kernel/setup.c

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,23 @@ void __init reserve_standard_io_resources(void)
527527

528528
}
529529

530+
static void __init setup_kernel_resources(void)
531+
{
532+
code_resource.start = __pa_symbol(_text);
533+
code_resource.end = __pa_symbol(_etext)-1;
534+
rodata_resource.start = __pa_symbol(__start_rodata);
535+
rodata_resource.end = __pa_symbol(__end_rodata)-1;
536+
data_resource.start = __pa_symbol(_sdata);
537+
data_resource.end = __pa_symbol(_edata)-1;
538+
bss_resource.start = __pa_symbol(__bss_start);
539+
bss_resource.end = __pa_symbol(__bss_stop)-1;
540+
541+
insert_resource(&iomem_resource, &code_resource);
542+
insert_resource(&iomem_resource, &rodata_resource);
543+
insert_resource(&iomem_resource, &data_resource);
544+
insert_resource(&iomem_resource, &bss_resource);
545+
}
546+
530547
static bool __init snb_gfx_workaround_needed(void)
531548
{
532549
#ifdef CONFIG_PCI
@@ -845,15 +862,6 @@ void __init setup_arch(char **cmdline_p)
845862
root_mountflags &= ~MS_RDONLY;
846863
setup_initial_init_mm(_text, _etext, _edata, (void *)_brk_end);
847864

848-
code_resource.start = __pa_symbol(_text);
849-
code_resource.end = __pa_symbol(_etext)-1;
850-
rodata_resource.start = __pa_symbol(__start_rodata);
851-
rodata_resource.end = __pa_symbol(__end_rodata)-1;
852-
data_resource.start = __pa_symbol(_sdata);
853-
data_resource.end = __pa_symbol(_edata)-1;
854-
bss_resource.start = __pa_symbol(__bss_start);
855-
bss_resource.end = __pa_symbol(__bss_stop)-1;
856-
857865
/*
858866
* x86_configure_nx() is called before parse_early_param() to detect
859867
* whether hardware doesn't support NX (so that the early EHCI debug
@@ -897,11 +905,11 @@ void __init setup_arch(char **cmdline_p)
897905
tsc_early_init();
898906
x86_init.resources.probe_roms();
899907

900-
/* after parse_early_param, so could debug it */
901-
insert_resource(&iomem_resource, &code_resource);
902-
insert_resource(&iomem_resource, &rodata_resource);
903-
insert_resource(&iomem_resource, &data_resource);
904-
insert_resource(&iomem_resource, &bss_resource);
908+
/*
909+
* Add resources for kernel text and data to the iomem_resource.
910+
* Do it after parse_early_param, so it can be debugged.
911+
*/
912+
setup_kernel_resources();
905913

906914
e820_add_kernel_range();
907915
trim_bios_range();

0 commit comments

Comments
 (0)