Re: [patch 07/15] Basic x86_64 support

From: Tom Rini
Date: Mon Aug 08 2005 - 12:57:18 EST


On Sun, Aug 07, 2005 at 10:48:02AM +1000, Keith Owens wrote:
> On Thu, 4 Aug 2005 14:39:00 +0200,
> Andi Kleen <ak@xxxxxxx> wrote:
> >> > That doesn't make much sense here. tasklet will only run when interrupts
> >> > are enabled, and that is much later. You could move it to there.
> >>
> >> Where? Keep in mind it's really only x86_64 that isn't able to break
> >> sooner.
> >
> >The local_irq_enable() call in init/main.c:start_kernel()
> >
> >If you want to run gdb earlier you need to do it without a tasklet.
> >
> >> > > --- linux-2.6.13-rc3/include/asm-x86_64/hw_irq.h~x86_64-lite 2005-07-29 13:19:10.000000000 -0700
> >> > > +++ linux-2.6.13-rc3-trini/include/asm-x86_64/hw_irq.h 2005-07-29 13:19:10.000000000 -0700
> >> > > @@ -55,6 +55,7 @@ struct hw_interrupt_type;
> >> > > #define TASK_MIGRATION_VECTOR 0xfb
> >> > > #define CALL_FUNCTION_VECTOR 0xfa
> >> > > #define KDB_VECTOR 0xf9
> >> > > +#define KGDB_VECTOR 0xf8
> >> >
> >> > I already allocated these vectors for something else.
> >>
> >> Is there another we can use? Just following what looked to be the
> >> logical order.
> >
> >How about you use KDB_VECTOR and rename it to DEBUG_VECTOR
> >and then just check if kgdb is currently active?
> >
> >KDB can do the same.
> >
> >I changed the assignment in my tree like this:
> >
> >#define SPURIOUS_APIC_VECTOR 0xff
> >#define ERROR_APIC_VECTOR 0xfe
> >#define RESCHEDULE_VECTOR 0xfd
> >#define CALL_FUNCTION_VECTOR 0xfc
> >#define KDB_VECTOR 0xfb /* reserved for KDB */
> >#define THERMAL_APIC_VECTOR 0xfa
> >/* 0xf9 free */
> >#define INVALIDATE_TLB_VECTOR_END 0xf8
> >#define INVALIDATE_TLB_VECTOR_START 0xf0 /* f0-f8 used for TLB flush */
>
> Don't call it {KDB,KGDB,DEBUG}_VECTOR, call it NMI_VECTOR, which is
> what it really is. default_do_nmi() determines if the nmi is due to a
> debugger or some other event. That requires the debuggers to record if
> they are expecting their own nmi, putting all the load on the
> debuggers, where it belongs.
>
> IOW, add NMI_VECTOR to the base code, then add debugger support on top of
> NMI_VECTOR.

Works for me. I'll post something vs 2.6.13-rc6 later today hopefully
that does the rename.

--
Tom Rini
http://gate.crashing.org/~trini/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/