diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2005-06-25 17:57:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:47 -0400 |
commit | 208fb93162d51faa69b9774fa7809858d84fd9dc (patch) | |
tree | 895115891463d3318677df4c3d76f6eca751eccd /include | |
parent | 650927ef8ab1e9b05b77a3f32ca7adcedaae9306 (diff) |
[PATCH] kexec: x86_64: restore apic virtual wire mode on shutdown
When coming out of apic mode attempt to set the appropriate
apic back into virtual wire mode. This improves on previous versions
of this patch by by never setting bot the local apic and the ioapic
into veritual wire mode.
This code looks at data from the mptable to see if an ioapic has
an ExtInt input to make this decision. A future improvement
is to figure out which apic or ioapic was in virtual wire mode
at boot time and to remember it. That is potentially a more accurate
method, of selecting which apic to place in virutal wire mode.
Signed-off-by: Eric Biederman <ebiederm@xmission.com>
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-x86_64/apic.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-x86_64/apic.h b/include/asm-x86_64/apic.h index e4b1017b8b2b..16ec82e16b21 100644 --- a/include/asm-x86_64/apic.h +++ b/include/asm-x86_64/apic.h | |||
@@ -77,7 +77,7 @@ static inline void ack_APIC_irq(void) | |||
77 | extern int get_maxlvt (void); | 77 | extern int get_maxlvt (void); |
78 | extern void clear_local_APIC (void); | 78 | extern void clear_local_APIC (void); |
79 | extern void connect_bsp_APIC (void); | 79 | extern void connect_bsp_APIC (void); |
80 | extern void disconnect_bsp_APIC (void); | 80 | extern void disconnect_bsp_APIC (int virt_wire_setup); |
81 | extern void disable_local_APIC (void); | 81 | extern void disable_local_APIC (void); |
82 | extern int verify_local_APIC (void); | 82 | extern int verify_local_APIC (void); |
83 | extern void cache_APIC_registers (void); | 83 | extern void cache_APIC_registers (void); |