]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
x86/boot: Split kernel resources setup into the setup_kernel_resources() helper function
authorMike Rapoport (Microsoft) <rppt@kernel.org>
Fri, 14 Feb 2025 09:06:49 +0000 (11:06 +0200)
committerIngo Molnar <mingo@kernel.org>
Fri, 21 Feb 2025 15:05:00 +0000 (16:05 +0100)
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
arch/x86/kernel/setup.c

index 4baadeab8a2eeae130098375d7fa1cb406b85962..3d95946ab749cde0995fe153a7ac6a5371acaf16 100644 (file)
@@ -527,6 +527,23 @@ void __init reserve_standard_io_resources(void)
 
 }
 
+static void __init setup_kernel_resources(void)
+{
+       code_resource.start = __pa_symbol(_text);
+       code_resource.end = __pa_symbol(_etext)-1;
+       rodata_resource.start = __pa_symbol(__start_rodata);
+       rodata_resource.end = __pa_symbol(__end_rodata)-1;
+       data_resource.start = __pa_symbol(_sdata);
+       data_resource.end = __pa_symbol(_edata)-1;
+       bss_resource.start = __pa_symbol(__bss_start);
+       bss_resource.end = __pa_symbol(__bss_stop)-1;
+
+       insert_resource(&iomem_resource, &code_resource);
+       insert_resource(&iomem_resource, &rodata_resource);
+       insert_resource(&iomem_resource, &data_resource);
+       insert_resource(&iomem_resource, &bss_resource);
+}
+
 static bool __init snb_gfx_workaround_needed(void)
 {
 #ifdef CONFIG_PCI
@@ -845,15 +862,6 @@ void __init setup_arch(char **cmdline_p)
                root_mountflags &= ~MS_RDONLY;
        setup_initial_init_mm(_text, _etext, _edata, (void *)_brk_end);
 
-       code_resource.start = __pa_symbol(_text);
-       code_resource.end = __pa_symbol(_etext)-1;
-       rodata_resource.start = __pa_symbol(__start_rodata);
-       rodata_resource.end = __pa_symbol(__end_rodata)-1;
-       data_resource.start = __pa_symbol(_sdata);
-       data_resource.end = __pa_symbol(_edata)-1;
-       bss_resource.start = __pa_symbol(__bss_start);
-       bss_resource.end = __pa_symbol(__bss_stop)-1;
-
        /*
         * x86_configure_nx() is called before parse_early_param() to detect
         * whether hardware doesn't support NX (so that the early EHCI debug
@@ -897,11 +905,11 @@ void __init setup_arch(char **cmdline_p)
        tsc_early_init();
        x86_init.resources.probe_roms();
 
-       /* after parse_early_param, so could debug it */
-       insert_resource(&iomem_resource, &code_resource);
-       insert_resource(&iomem_resource, &rodata_resource);
-       insert_resource(&iomem_resource, &data_resource);
-       insert_resource(&iomem_resource, &bss_resource);
+       /*
+        * Add resources for kernel text and data to the iomem_resource.
+        * Do it after parse_early_param, so it can be debugged.
+        */
+       setup_kernel_resources();
 
        e820_add_kernel_range();
        trim_bios_range();