1
0
Fork 0

Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86/debug changes from Ingo Molnar:
 "Two init annotations and a built-in memtest speedup"

* 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/memtest: Shorten time for tests
  x86: Convert a few mistaken __cpuinit annotations to __init
  x86/EFI: Properly init-annotate BGRT code
hifive-unleashed-5.1
Linus Torvalds 2013-02-19 20:09:48 -08:00
commit 026f149ca3
5 changed files with 9 additions and 14 deletions

View File

@ -1226,7 +1226,7 @@ static struct notifier_block __cpuinitdata cacheinfo_cpu_notifier = {
.notifier_call = cacheinfo_cpu_callback, .notifier_call = cacheinfo_cpu_callback,
}; };
static int __cpuinit cache_sysfs_init(void) static int __init cache_sysfs_init(void)
{ {
int i; int i;

View File

@ -9,6 +9,7 @@
#include <linux/memblock.h> #include <linux/memblock.h>
static u64 patterns[] __initdata = { static u64 patterns[] __initdata = {
/* The first entry has to be 0 to leave memtest with zeroed memory */
0, 0,
0xffffffffffffffffULL, 0xffffffffffffffffULL,
0x5555555555555555ULL, 0x5555555555555555ULL,
@ -110,15 +111,8 @@ void __init early_memtest(unsigned long start, unsigned long end)
return; return;
printk(KERN_INFO "early_memtest: # of tests: %d\n", memtest_pattern); printk(KERN_INFO "early_memtest: # of tests: %d\n", memtest_pattern);
for (i = 0; i < memtest_pattern; i++) { for (i = memtest_pattern-1; i < UINT_MAX; --i) {
idx = i % ARRAY_SIZE(patterns); idx = i % ARRAY_SIZE(patterns);
do_one_pass(patterns[idx], start, end); do_one_pass(patterns[idx], start, end);
} }
if (idx > 0) {
printk(KERN_INFO "early_memtest: wipe out "
"test pattern from memory\n");
/* additional test with pattern 0 will do this */
do_one_pass(0, start, end);
}
} }

View File

@ -335,7 +335,7 @@ static const struct file_operations fops_tlbflush = {
.llseek = default_llseek, .llseek = default_llseek,
}; };
static int __cpuinit create_tlb_flushall_shift(void) static int __init create_tlb_flushall_shift(void)
{ {
debugfs_create_file("tlb_flushall_shift", S_IRUSR | S_IWUSR, debugfs_create_file("tlb_flushall_shift", S_IRUSR | S_IWUSR,
arch_debugfs_dir, NULL, &fops_tlbflush); arch_debugfs_dir, NULL, &fops_tlbflush);

View File

@ -11,20 +11,21 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h>
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/efi.h> #include <linux/efi.h>
#include <linux/efi-bgrt.h> #include <linux/efi-bgrt.h>
struct acpi_table_bgrt *bgrt_tab; struct acpi_table_bgrt *bgrt_tab;
void *bgrt_image; void *__initdata bgrt_image;
size_t bgrt_image_size; size_t __initdata bgrt_image_size;
struct bmp_header { struct bmp_header {
u16 id; u16 id;
u32 size; u32 size;
} __packed; } __packed;
void efi_bgrt_init(void) void __init efi_bgrt_init(void)
{ {
acpi_status status; acpi_status status;
void __iomem *image; void __iomem *image;

View File

@ -35,7 +35,7 @@
static unsigned long sfi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE; static unsigned long sfi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
/* All CPUs enumerated by SFI must be present and enabled */ /* All CPUs enumerated by SFI must be present and enabled */
static void __cpuinit mp_sfi_register_lapic(u8 id) static void __init mp_sfi_register_lapic(u8 id)
{ {
if (MAX_LOCAL_APIC - id <= 0) { if (MAX_LOCAL_APIC - id <= 0) {
pr_warning("Processor #%d invalid (max %d)\n", pr_warning("Processor #%d invalid (max %d)\n",