x86: move some function out of setup_bootmem_alloc
PATCH 1/1 x86: move some function out of setup_bootmem_alloc
so make it more like 64 bit
Signed-off-by Yinghai Lu <[email protected]>
arch/x86/kernel/setup_32.c +16 -15
@@ -624,21 +624,6 @@ void __init setup_bootmem_allocator(voidfree_bootmem_with_active_regions (i, max_low_pfn);early_res_to_bootmem (0 , max_low_pfn<<PAGE_SHIFT ); -#ifdef CONFIG_ACPI_SLEEP -/* -* Reserve low memory region for sleep support. -*/ -acpi_reserve_bootmem (); -#endif -#ifdef CONFIG_X86_FIND_SMP_CONFIG -/* -* Find and reserve possible boot-time SMP configuration: -*/ -find_smp_config (); -#endif -reserve_crashkernel (); - -reserve_ibft_region (); }/*
@@ -804,6 +789,22 @@ void __init setup_arch(char **cmdline_p) max_low_pfn =setup_memory (); +#ifdef CONFIG_ACPI_SLEEP +/* +* Reserve low memory region for sleep support. +*/ +acpi_reserve_bootmem (); +#endif +#ifdef CONFIG_X86_FIND_SMP_CONFIG +/* +* Find and reserve possible boot-time SMP configuration: +*/ +find_smp_config (); +#endif +reserve_crashkernel (); + +reserve_ibft_region (); +#ifdef CONFIG_KVM_CLOCK kvmclock_init ();#endif
PATCH 1/1 x86: use acpi_numa_init to parse on 32bit numa
seperate that srat finding and parsing from get_memcfg_from_srat. and let getmemcfg_from_srat only handle array from previous step.
Signed-off-by Yinghai Lu <[email protected]>
arch/x86/kernel/setup_32.c +25 -11
@@ -60,6 +60,7 @@#include <asm/setup.h> #include <asm/arch_hooks.h> #include <asm/sections.h> +#include <asm/dmi.h> #include <asm/io_apic.h> #include <asm/ist.h> #include <asm/io.h>
@@ -186,6 +187,12 @@ int bootloader_type;static unsigned int highmem_pages =-1 ;/* +* Early DMI memory +*/ +int dmi_alloc_index; +char dmi_alloc_data[DMI_MAX_DATA ]; + +/* * Setup options */ struct screen_info screen_info;
@@ -787,6 +794,24 @@ void __init setup_arch(char **cmdline_p) max_pfn =e820_end_of_ram (); } +dmi_scan_machine (); + +io_delay_init (); + +#ifdef CONFIG_ACPI +/* +* Parse the ACPI tables for possible boot-time SMP configuration. +*/ +acpi_boot_table_init (); +#endif + +#ifdef CONFIG_ACPI_NUMA +/* +* Parse SRAT to discover nodes. +*/ +acpi_numa_init (); +#endif + max_low_pfn =setup_memory ();#ifdef CONFIG_ACPI_SLEEP
@@ -853,21 +878,10 @@ void __init setup_arch(char **cmdline_p)paravirt_post_allocator_init (); -dmi_scan_machine (); - -io_delay_init (); -#ifdef CONFIG_X86_GENERICARCH generic_apic_probe ();#endif -#ifdef CONFIG_ACPI -/* -* Parse the ACPI tables for possible boot-time SMP configuration. -*/ -acpi_boot_table_init (); -#endif -early_quirks ();#ifdef CONFIG_ACPI
arch/x86/kernel/srat_32.c +49 -151
256 lines not on this page · raw message
include/asm-x86/acpi.h +1 -3
@@ -161,9 +161,7 @@ struct bootnode;#ifdef CONFIG_ACPI_NUMA extern int acpi_numa;extern int acpi_scan_nodes (unsigned long start,unsigned long end); -#ifdef CONFIG_X86_64 -# define NR_NODE_MEMBLKS (MAX_NUMNODES*2) -#endif +#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)extern void acpi_fake_nodes (const struct bootnode *fake_nodes,int num_nodes);#else
include/asm-x86/dmi.h +0 -8
@@ -3,12 +3,6 @@#include <asm/io.h> -#ifdef CONFIG_X86_32 - -#define dmi_alloc alloc_bootmem - -#else /* CONFIG_X86_32 */ -#define DMI_MAX_DATA 2048extern int dmi_alloc_index;
@@ -25,8 +19,6 @@ static inline void *dmi_alloc(unsigned lreturn dmi_alloc_data + idx; } -#endif -/* Use early IO mappings for DMI because it's initialized early */ #define dmi_ioremap early_ioremap#define dmi_iounmap early_iounmap
Ingo Molnar
AppliedRe: [PATCH] x86: use acpi_numa_init to parse on 32bit numa
Quoted 2 lines · Yinghai Lu
seperate that srat finding and parsing from
get_memcfg_from_srat. and letgetmemcfg_from_sratonly handle array from previous step.
applied to tip/x86/mpparse, thanks Yinghai.
Ingo
Ingo Molnar
AppliedQuoted 1 line · Yinghai Lu
so make it more like 64 bit
applied to tip/x86/mpparse. Thanks,
Ingo