[PATCH 1/3] x86: add lapic_shutdown for x86_64
Hiroshi Shimamoto
h-shimamoto at ct.jp.nec.com
Wed Oct 24 17:27:46 EDT 2007
Vivek Goyal wrote:
> On Fri, Oct 19, 2007 at 06:21:11PM -0700, Hiroshi Shimamoto wrote:
>> From: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
>>
>> Signed-off-by: Hiroshi Shimamoto <h-shimamoto at ct.jp.nec.com>
>> ---
>> arch/x86/kernel/apic_64.c | 14 ++++++++++++++
>> include/asm-x86/apic_64.h | 1 +
>> 2 files changed, 15 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
>> index f47bc49..f28ccb5 100644
>> --- a/arch/x86/kernel/apic_64.c
>> +++ b/arch/x86/kernel/apic_64.c
>> @@ -287,6 +287,20 @@ void disable_local_APIC(void)
>> apic_write(APIC_SPIV, value);
>> }
>>
>> +void lapic_shutdown(void)
>> +{
>> + unsigned long flags;
>> +
>> + if (!cpu_has_apic)
>> + return;
>> +
>> + local_irq_save(flags);
>> +
>> + disable_local_APIC();
>> +
>> + local_irq_restore(flags);
>> +}
>> +
>> /*
>
> Do we really have to introduce this function for 64bit? I remember some
> issues were faced on i386 w.r.t kernel enabling the LAPIC against the
> wishes of BIOS hence kernel was disabling it while shutting down. No
> such problems were reported for x86_64 hence this function existed only
> for i386.
Thanks for the comment. I didn't know the issues, so I'd simply added
this function for unification.
> If that is the case, probably we don't have to introduce lapic_shutdown()
> for x86_64. Instead call lapic_shutdown() for X86_32, and disble_local_APIC()
> otherwise?
I will do that. I was thinking which is good when posting these patches.
Thanks
Hiroshi Shimamoto
More information about the kexec
mailing list