Re: year old problem

Eric Pouech (Eric.Pouech@wanadoo.fr)
Mon, 15 Nov 1999 22:36:31 +0000


well, it seems to me that the code in __switch_to (loaddebug macro) *restores*
the DBi registers (from the tss in memory to the i386) while switching to 'next'
process

my issue is that the i386 value of DR6 (status => which debug registers
which (may) have triggered a trap) are never (I should say no longer)
stored in tss as they used to be (and therefore never accessible with ptrace)

in 2.0.x series, they were stored in tss while entering the TRAP handler
and it's no longer the case.

A+
Andi Kleen wrote:
>
> Eric.Pouech@wanadoo.fr (Eric Pouech) writes:
>
> > Can someone explain me why the debug registers from an i386
> > are no longer saved in the tss (especially DR6). This was the
> > case in the 2.0.x series and was removed in 2.1.0
> > (arch/i386/kernel/entry.S).
> >
> > Is there a good reason for that ? Without this, there is no
> > way you can do decent hardware assisted debugging under Linux.
> >
> > thanks for your answers
>
> They are saved/restored on a task switch. See arch/i386/kernel/process.c:__switch_to()
>
> What isn't saved/restore (yet) are the performance counters.
>
> -Andi
>
> --
> This is like TV. I don't like TV.
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu
> Please read the FAQ at http://www.tux.org/lkml/

-- 
---------------
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/