mips: code clean up in mips_m4k_debug_entry() function
authorSalvador Arroyo <sarroyofdez@yahoo.es>
Thu, 1 Nov 2012 14:45:12 +0000 (15:45 +0100)
committerSpencer Oliver <spen@spen-soft.co.uk>
Fri, 16 Nov 2012 12:40:34 +0000 (12:40 +0000)
commit9aad563d15da07fdd938014e65c1bbc38fcf3f6c
treedcd1a8e8dfc70582267075ace61ba98cab38464d
parent47d5f44fe0401746b3239ea43994889c41c0ca5e
mips: code clean up in mips_m4k_debug_entry() function

The function mips_ejtag_read_debug() is defined in mips_ejtag.c
and is called only by mips_m4k_debug_entry() for reading the
CP0 debug register. The comment in this function is obviously wrong.
There is a generic function to read CP0 registers with similar code.
A call to mips32_cp0_read() should work in the same way.
The purpose of reading the debug register is to test if the DSS
bit is set and clear the SSt bit.
It is faster and easier if the SSt bit is cleared without any check.
Remark: DSS bit set only means that a debug single-step exception
ocurred, but it is not possible to step over a sdbbp instruction,
in this case DSS will not be set and the SSt bit not cleared by code.
Resume command at another address will step, so really the behavior
is not the same.

Change-Id: Ibd35f80e0f7669976d96f4ed813830cecf587971
Signed-off-by: Salvador Arroyo <sarroyofdez@yahoo.es>
Reviewed-on: http://openocd.zylin.com/950
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/target/mips_ejtag.c
src/target/mips_ejtag.h
src/target/mips_m4k.c