diff options
author | Shaohua Li <shaohua.li@intel.com> | 2005-07-07 20:56:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-07 21:23:42 -0400 |
commit | 3b520b238e018ef0e9d11c9115d5e7d9419c4ef9 (patch) | |
tree | 8b9bf3ccf2dd13dbbbcb4a3ff5028a351817b657 /include | |
parent | 01d299367fe868851a632cfbdb606845f57682aa (diff) |
[PATCH] MTRR suspend/resume cleanup
There has been some discuss about solving the SMP MTRR suspend/resume
breakage, but I didn't find a patch for it. This is an intent for it. The
basic idea is moving mtrr initializing into cpu_identify for all APs (so it
works for cpu hotplug). For BP, restore_processor_state is responsible for
restoring MTRR.
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-i386/processor.h | 8 | ||||
-rw-r--r-- | include/asm-x86_64/proto.h | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h index 6f0f93d0d417..5d06e6bd6ba0 100644 --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h | |||
@@ -694,4 +694,12 @@ extern unsigned long boot_option_idle_override; | |||
694 | extern void enable_sep_cpu(void); | 694 | extern void enable_sep_cpu(void); |
695 | extern int sysenter_setup(void); | 695 | extern int sysenter_setup(void); |
696 | 696 | ||
697 | #ifdef CONFIG_MTRR | ||
698 | extern void mtrr_ap_init(void); | ||
699 | extern void mtrr_bp_init(void); | ||
700 | #else | ||
701 | #define mtrr_ap_init() do {} while (0) | ||
702 | #define mtrr_bp_init() do {} while (0) | ||
703 | #endif | ||
704 | |||
697 | #endif /* __ASM_I386_PROCESSOR_H */ | 705 | #endif /* __ASM_I386_PROCESSOR_H */ |
diff --git a/include/asm-x86_64/proto.h b/include/asm-x86_64/proto.h index f2f073642d62..6c813eb521f3 100644 --- a/include/asm-x86_64/proto.h +++ b/include/asm-x86_64/proto.h | |||
@@ -15,6 +15,13 @@ extern void pda_init(int); | |||
15 | extern void early_idt_handler(void); | 15 | extern void early_idt_handler(void); |
16 | 16 | ||
17 | extern void mcheck_init(struct cpuinfo_x86 *c); | 17 | extern void mcheck_init(struct cpuinfo_x86 *c); |
18 | #ifdef CONFIG_MTRR | ||
19 | extern void mtrr_ap_init(void); | ||
20 | extern void mtrr_bp_init(void); | ||
21 | #else | ||
22 | #define mtrr_ap_init() do {} while (0) | ||
23 | #define mtrr_bp_init() do {} while (0) | ||
24 | #endif | ||
18 | extern void init_memory_mapping(unsigned long start, unsigned long end); | 25 | extern void init_memory_mapping(unsigned long start, unsigned long end); |
19 | 26 | ||
20 | extern void system_call(void); | 27 | extern void system_call(void); |