-Original Message-
From: Kumar Gala [mailto:ga...@kernel.crashing.org]
Sent: Wednesday, April 03, 2013 9:41 PM
To: Bhushan Bharat-R65777
Cc: linuxppc-dev@lists.ozlabs.org; Benjamin Herrenschmidt; Alexander Graf;
Wood
Scott-B07421
Subject: Re: Clearing DBSR and DBCR0 in host handler.
On Apr 3, 2013, at 10:24 AM, Bhushan Bharat-R65777 wrote:
Hi All,
The kernel exception handling code for 32 bit (transfer_to_handler in
entry_32.S) clear DBSR and load DBCR0 with 0 (global_dbcr0 variable, which is
zero) if user space used debug (DBCR0.IDM set).
But I do not same (clearing DBCR0 and DBSR) in 64bit exception handler. Is
this an issue or I am missing something?
Thanks
-Bharat
Are you having a problem with debug w/the 64-bit kernel?
No not any issue, I was looking into code where it saves/restores of debug
register. I observed the above said inconsistency in 32 bit and 64 bit.
The 32-bit kernel
supports several kernel level debug features that the 64-bit doesn't support.
I am talking about the a user process debugging:
- A user process is under debugging using gdb. So the h/w debug
register will have thread context.
- An interrupt/exception happens in user process.
- Now on 32 bit we clear the DBSR (pending events) and DBCR0 (so no
new events get captured). But on 64bit we do not follow same, Why it is so?
Are we doing something extra on 32 bit or something is missing on 64
bit?
Can it happen that on 64 bit some more debug events get captured and
debug interrupts get fired if MSR.DE is set, which is undesired.
Or I am missing something here ?
Thanks
-Bharat
So if you are having an issue that might be more helpful to convey that just
asking about exception code path.
- k
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev