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)
committerKeith Packard <keithp@keithp.com>
Sat, 13 Apr 2013 06:34:43 +0000 (23:34 -0700)
commit9641031b492aa168558eb6a70d78cbc8be2c753e
tree24b220fb38771097051ae906bcfeef53d4b448d5
parentf3d98fcf685719bb7e4843da85faf7233b88c583
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