Loading Documentation/kernel-parameters.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1147,6 +1147,11 @@ and is between 256 and 4096 characters. It is defined in the file or memmap=0x10000$0x18690000 memtest= [KNL,X86_64] Enable memtest Format: <integer> range: 0,4 : pattern number default : 0 <disable> meye.*= [HW] Set MotionEye Camera parameters See Documentation/video4linux/meye.txt. Loading arch/x86/Kconfig +29 −0 Original line number Diff line number Diff line Loading @@ -382,6 +382,35 @@ config PARAVIRT endif config MEMTEST_BOOTPARAM bool "Memtest boot parameter" depends on X86_64 default y help This option adds a kernel parameter 'memtest', which allows memtest to be disabled at boot. If this option is selected, memtest functionality can be disabled with memtest=0 on the kernel command line. The purpose of this option is to allow a single kernel image to be distributed with memtest built in, but not necessarily enabled. If you are unsure how to answer this question, answer Y. config MEMTEST_BOOTPARAM_VALUE int "Memtest boot parameter default value (0-4)" depends on MEMTEST_BOOTPARAM range 0 4 default 0 help This option sets the default value for the kernel parameter 'memtest', which allows memtest to be disabled at boot. If this option is set to 0 (zero), the memtest kernel parameter will default to 0, disabling memtest at bootup. If this option is set to 4, the memtest kernel parameter will default to 4, enabling memtest at bootup, and use that as pattern number. If you are unsure how to answer this question, answer 0. config ACPI_SRAT def_bool y depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) Loading arch/x86/kernel/e820_64.c +5 −5 Original line number Diff line number Diff line Loading @@ -241,7 +241,9 @@ unsigned long __init find_e820_area(unsigned long start, unsigned long end, /* * Find next free range after *start */ unsigned long __init find_e820_area_size(unsigned long start, unsigned long *sizep, unsigned long align) unsigned long __init find_e820_area_size(unsigned long start, unsigned long *sizep, unsigned long align) { int i; Loading @@ -254,17 +256,15 @@ unsigned long __init find_e820_area_size(unsigned long start, unsigned long *siz continue; addr = round_up(ei->addr, align); ei_last = ei->addr + ei->size; // printk(KERN_DEBUG "find_e820_area_size : e820 %d [%llx, %lx]\n", i, ei->addr, ei_last); if (addr < start) addr = round_up(start, align); // printk(KERN_DEBUG "find_e820_area_size : 0 [%lx, %lx]\n", addr, ei_last); if (addr >= ei_last) continue; *sizep = ei_last - addr; while (bad_addr_size(&addr, sizep, align) && addr+ *sizep <= ei_last) while (bad_addr_size(&addr, sizep, align) && addr + *sizep <= ei_last) ; last = addr + *sizep; // printk(KERN_DEBUG "find_e820_area_size : 1 [%lx, %lx]\n", addr, last); if (last > ei_last) continue; return addr; Loading arch/x86/mm/init_64.c +17 −7 Original line number Diff line number Diff line Loading @@ -427,7 +427,10 @@ static void __init init_gbpages(void) direct_gbpages = 0; } static void __init memtest(unsigned long start_phys, unsigned long size, unsigned pattern) #ifdef CONFIG_MEMTEST_BOOTPARAM static void __init memtest(unsigned long start_phys, unsigned long size, unsigned pattern) { unsigned long i; unsigned long *start; Loading Loading @@ -486,11 +489,12 @@ static void __init memtest(unsigned long start_phys, unsigned long size, unsigne } static int __initdata memtest_pattern; static int memtest_pattern __initdata = CONFIG_MEMTEST_BOOTPARAM_VALUE; static int __init parse_memtest(char *arg) { if (arg) memtest_pattern = simple_strtoul(arg, NULL, 0) + 1; memtest_pattern = simple_strtoul(arg, NULL, 0); return 0; } Loading @@ -501,7 +505,9 @@ static void __init early_memtest(unsigned long start, unsigned long end) unsigned long t_start, t_size; unsigned pattern; if (memtest_pattern) if (!memtest_pattern) return; printk(KERN_INFO "early_memtest: pattern num %d", memtest_pattern); for (pattern = 0; pattern < memtest_pattern; pattern++) { t_start = start; Loading @@ -523,9 +529,13 @@ static void __init early_memtest(unsigned long start, unsigned long end) t_start += t_size; } } if (memtest_pattern) printk(KERN_CONT "\n"); } #else static void __init early_memtest(unsigned long start, unsigned long end) { } #endif /* * Setup the direct mapping of the physical memory at PAGE_OFFSET. Loading Loading
Documentation/kernel-parameters.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1147,6 +1147,11 @@ and is between 256 and 4096 characters. It is defined in the file or memmap=0x10000$0x18690000 memtest= [KNL,X86_64] Enable memtest Format: <integer> range: 0,4 : pattern number default : 0 <disable> meye.*= [HW] Set MotionEye Camera parameters See Documentation/video4linux/meye.txt. Loading
arch/x86/Kconfig +29 −0 Original line number Diff line number Diff line Loading @@ -382,6 +382,35 @@ config PARAVIRT endif config MEMTEST_BOOTPARAM bool "Memtest boot parameter" depends on X86_64 default y help This option adds a kernel parameter 'memtest', which allows memtest to be disabled at boot. If this option is selected, memtest functionality can be disabled with memtest=0 on the kernel command line. The purpose of this option is to allow a single kernel image to be distributed with memtest built in, but not necessarily enabled. If you are unsure how to answer this question, answer Y. config MEMTEST_BOOTPARAM_VALUE int "Memtest boot parameter default value (0-4)" depends on MEMTEST_BOOTPARAM range 0 4 default 0 help This option sets the default value for the kernel parameter 'memtest', which allows memtest to be disabled at boot. If this option is set to 0 (zero), the memtest kernel parameter will default to 0, disabling memtest at bootup. If this option is set to 4, the memtest kernel parameter will default to 4, enabling memtest at bootup, and use that as pattern number. If you are unsure how to answer this question, answer 0. config ACPI_SRAT def_bool y depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) Loading
arch/x86/kernel/e820_64.c +5 −5 Original line number Diff line number Diff line Loading @@ -241,7 +241,9 @@ unsigned long __init find_e820_area(unsigned long start, unsigned long end, /* * Find next free range after *start */ unsigned long __init find_e820_area_size(unsigned long start, unsigned long *sizep, unsigned long align) unsigned long __init find_e820_area_size(unsigned long start, unsigned long *sizep, unsigned long align) { int i; Loading @@ -254,17 +256,15 @@ unsigned long __init find_e820_area_size(unsigned long start, unsigned long *siz continue; addr = round_up(ei->addr, align); ei_last = ei->addr + ei->size; // printk(KERN_DEBUG "find_e820_area_size : e820 %d [%llx, %lx]\n", i, ei->addr, ei_last); if (addr < start) addr = round_up(start, align); // printk(KERN_DEBUG "find_e820_area_size : 0 [%lx, %lx]\n", addr, ei_last); if (addr >= ei_last) continue; *sizep = ei_last - addr; while (bad_addr_size(&addr, sizep, align) && addr+ *sizep <= ei_last) while (bad_addr_size(&addr, sizep, align) && addr + *sizep <= ei_last) ; last = addr + *sizep; // printk(KERN_DEBUG "find_e820_area_size : 1 [%lx, %lx]\n", addr, last); if (last > ei_last) continue; return addr; Loading
arch/x86/mm/init_64.c +17 −7 Original line number Diff line number Diff line Loading @@ -427,7 +427,10 @@ static void __init init_gbpages(void) direct_gbpages = 0; } static void __init memtest(unsigned long start_phys, unsigned long size, unsigned pattern) #ifdef CONFIG_MEMTEST_BOOTPARAM static void __init memtest(unsigned long start_phys, unsigned long size, unsigned pattern) { unsigned long i; unsigned long *start; Loading Loading @@ -486,11 +489,12 @@ static void __init memtest(unsigned long start_phys, unsigned long size, unsigne } static int __initdata memtest_pattern; static int memtest_pattern __initdata = CONFIG_MEMTEST_BOOTPARAM_VALUE; static int __init parse_memtest(char *arg) { if (arg) memtest_pattern = simple_strtoul(arg, NULL, 0) + 1; memtest_pattern = simple_strtoul(arg, NULL, 0); return 0; } Loading @@ -501,7 +505,9 @@ static void __init early_memtest(unsigned long start, unsigned long end) unsigned long t_start, t_size; unsigned pattern; if (memtest_pattern) if (!memtest_pattern) return; printk(KERN_INFO "early_memtest: pattern num %d", memtest_pattern); for (pattern = 0; pattern < memtest_pattern; pattern++) { t_start = start; Loading @@ -523,9 +529,13 @@ static void __init early_memtest(unsigned long start, unsigned long end) t_start += t_size; } } if (memtest_pattern) printk(KERN_CONT "\n"); } #else static void __init early_memtest(unsigned long start, unsigned long end) { } #endif /* * Setup the direct mapping of the physical memory at PAGE_OFFSET. Loading