public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@kernel.crashing.org>
To: Andi Kleen <ak@suse.de>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org, amitkale@linsyssoft.com
Subject: Re: [patch 07/15] Basic x86_64 support
Date: Wed, 3 Aug 2005 06:37:57 -0700	[thread overview]
Message-ID: <20050803133756.GA3337@smtp.west.cox.net> (raw)
In-Reply-To: <20050803130531.GR10895@wotan.suse.de>

On Wed, Aug 03, 2005 at 03:05:31PM +0200, Andi Kleen wrote:
> 
> Only reading the changes outside kgdb.c....
> 
> > +
> > +#ifdef CONFIG_KGDB
> > +	/*
> > +	 * Has KGDB been told to break as soon as possible?
> > +	 */
> > +	if (kgdb_initialized == -1)
> > +		tasklet_schedule(&kgdb_tasklet_breakpoint);
> 
> 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.

> > diff -puN include/asm-x86_64/hw_irq.h~x86_64-lite include/asm-x86_64/hw_irq.h
> > --- 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.

> >  #define THERMAL_APIC_VECTOR	0xf0
> >  
> > diff -puN include/asm-x86_64/ipi.h~x86_64-lite include/asm-x86_64/ipi.h
> > --- linux-2.6.13-rc3/include/asm-x86_64/ipi.h~x86_64-lite	2005-07-29 13:19:10.000000000 -0700
> > +++ linux-2.6.13-rc3-trini/include/asm-x86_64/ipi.h	2005-07-29 13:19:10.000000000 -0700
> > @@ -62,6 +62,12 @@ static inline void __send_IPI_shortcut(u
> >  	 * No need to touch the target chip field
> >  	 */
> >  	cfg = __prepare_ICR(shortcut, vector, dest);
> > +        if (vector == KGDB_VECTOR) {
> > +                 /*
> > +                  * KGDB IPI is to be delivered as a NMI
> > +                  */
> > +                 cfg = (cfg&~APIC_VECTOR_MASK)|APIC_DM_NMI;
> > +         }
> 
> No way adding another ugly special case like this. I wanted
> to rip out the KDB version for a long time.

I'd be happy to rework it in a cleaner manner, just point me at an
example please.

> If anything pass a flag.

In __send_IPI_shortcut?  OK.

> >  	,"rcx","rbx","rdx","r8","r9","r10","r11","r12","r13","r14","r15"
> >  
> >  #define switch_to(prev,next,last) \
> > -	asm volatile(SAVE_CONTEXT						    \
> > +       asm volatile(".globl __switch_to_begin\n\t"				    \
> > +		     "__switch_to_begin:\n\t"					  \
> > +		     SAVE_CONTEXT						  \
> 
> Why is this needed?

So that backtraces show they're in switch_to rather than somewhere else
(since it's a #define we wouldn't know otherwise).

-- 
Tom Rini
http://gate.crashing.org/~trini/

  reply	other threads:[~2005-08-03 13:38 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1.2972005.trini@kernel.crashing.org>
2005-07-29 21:18 ` [patch 01/15] KGDB: Core files Tom Rini
2005-07-29 21:18   ` [patch 02/15] KGDB: i386 core functionality Tom Rini
2005-07-29 21:19     ` [patch 03/15] Basic PowerPC32 support Tom Rini
2005-07-29 21:19       ` [patch 04/15] I/O driver for 8250-compatible UARTs Tom Rini
2005-07-29 21:19         ` [patch 05/15] Basic MIPS support Tom Rini
2005-07-29 21:19           ` [patch 06/15] Basic IA64 support Tom Rini
2005-07-29 21:20             ` [patch 07/15] Basic x86_64 support Tom Rini
2005-07-29 21:20               ` [patch 08/15] Basic SuperH support Tom Rini
2005-07-29 21:20                 ` [patch 09/15] KGDB: Basic ARM support Tom Rini
2005-07-29 21:20                   ` [patch 10/15] Basic support for PowerPC64 Tom Rini
2005-07-29 21:20                     ` [patch 11/15] KGDB: KGDBoE I/O driver Tom Rini
2005-07-29 21:21                       ` [patch 12/15] KGDB: Add CFI DWARF2 annotation support Tom Rini
2005-07-29 21:21                         ` [patch 13/15] Minor SysRq keyboard bugfix for KGDB Tom Rini
2005-07-29 21:21                           ` [patch 14/15] Allow KGDB to work well with loaded modules Tom Rini
2005-07-29 21:21                             ` [patch 15/15] Add hardware breakpoint support for i386 Tom Rini
2005-08-04  0:55                       ` [patch 11/15] KGDB: KGDBoE I/O driver Matt Mackall
2005-08-03 13:05               ` [patch 07/15] Basic x86_64 support Andi Kleen
2005-08-03 13:37                 ` Tom Rini [this message]
2005-08-04 12:39                   ` Andi Kleen
2005-08-04 14:04                     ` Tom Rini
2005-08-04 14:06                       ` Andi Kleen
2005-08-04 14:14                         ` Tom Rini
2005-08-04 14:28                           ` Andi Kleen
2005-08-04 15:06                             ` Tom Rini
2005-08-04 18:56                               ` Andi Kleen
2005-08-04 19:08                                 ` Tom Rini
2005-08-07  0:48                     ` Keith Owens
2005-08-08 17:56                       ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050803133756.GA3337@smtp.west.cox.net \
    --to=trini@kernel.crashing.org \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=amitkale@linsyssoft.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox