lkml.org 
[lkml]   [2012]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [tip:x86/debug] x86/kdump: No need to disable ioapic/ lapic in crash path
    HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com> writes:

    > From: Fernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>
    > Subject: Re: [tip:x86/debug] x86/kdump: No need to disable ioapic/ lapic in crash path
    > Date: Wed, 07 Mar 2012 19:53:16 +0900
    >
    >> On 03/01/2012 08:19 AM, Eric W. Biederman wrote:
    >>
    >>> Don Zickus<dzickus@redhat.com> writes:
    >>>> It probably is, except I never hacked on idt code before and my
    >>>> assembly
    >>>> isn't that good. I have been trying to find examples to copy from to
    >>>> give
    >>>> it a try. So far I was using early_idt_handlers with early_printk to
    >>>> see
    >>>> if I could capture some printk messages while jumping from the first
    >>>> kernel to the second kernel (when the other early_idt_handlers would
    >>>> kick
    >>>> in for the second kernel).
    >>>>
    >>>> Tips? Better examples?
    >>> That is a particularly good example. When I took a quick look earlier
    >>> that is the first place we reload the idt in the kernel boot so that
    >>> is
    >>> one of two places that needs to be modified.
    >>
    >> Hi Eric, Don
    >>
    >> Sorry for chiming in so late.
    >>
    >> We run into the same NMI problems and wrote some patches that tackle
    >> the kernel boot side of things. They have been extensively tested
    >> using
    >> qemu-kvm and things seem to be working as expected (after receiving an
    >> early NMI the kernel continues without problem; after the iret there
    >> is no
    >> stack corruption or register corruption).
    >>
    >> I will be replying to this email with the patches.
    >>
    >
    > Should the following also be fixed?

    Most definitely. I think Fernando said he was going to tackle that
    next.


    Eric


    > /*
    > * Do not allocate memory (or fail in any way) in machine_kexec().
    > * We are past the point of no return, committed to rebooting now.
    > */
    > void machine_kexec(struct kimage *image)
    > {
    > unsigned long page_list[PAGES_NR];
    > void *control_page;
    > int save_ftrace_enabled;
    > <cut>
    > /*
    > * The gdt & idt are now invalid.
    > * If you want to load them you must set up your own idt & gdt.
    > */
    > set_gdt(phys_to_virt(0), 0);
    > set_idt(phys_to_virt(0), 0); <--- This
    >
    > Thanks.
    > HATAYAMA, Daisuke
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-03-09 03:47    [W:0.027 / U:181.904 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site