diff options
author | Spencer Oliver <ntfreak@users.sourceforge.net> | 2010-01-05 17:43:29 +0000 |
---|---|---|
committer | Spencer Oliver <ntfreak@users.sourceforge.net> | 2010-01-05 19:54:37 +0000 |
commit | 9d83df72dcbfc791b470b12949890df3f2d1508d (patch) | |
tree | cd002baf150ce36b4e49ab8a07c8491f54a7268e | |
parent | ba96fc3e9de935708cd5fa7c38e547dc7598087d (diff) | |
download | openocd+libswd-9d83df72dcbfc791b470b12949890df3f2d1508d.tar.gz openocd+libswd-9d83df72dcbfc791b470b12949890df3f2d1508d.tar.bz2 openocd+libswd-9d83df72dcbfc791b470b12949890df3f2d1508d.tar.xz openocd+libswd-9d83df72dcbfc791b470b12949890df3f2d1508d.zip |
MIPS: pracc access tweaks
reorder the pracc access so we can save a few access cycles
Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
-rw-r--r-- | src/target/mips32_pracc.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/src/target/mips32_pracc.c b/src/target/mips32_pracc.c index 4bd1da7d..26d5a6b7 100644 --- a/src/target/mips32_pracc.c +++ b/src/target/mips32_pracc.c @@ -319,9 +319,8 @@ int mips32_pracc_read_mem32(struct mips_ejtag *ejtag_info, uint32_t addr, int co MIPS32_LW(10,0,15), /* lw $10,($15) */ MIPS32_LW(9,0,15), /* lw $9,($15) */ MIPS32_LW(8,0,15), /* lw $8,($15) */ + MIPS32_B(NEG16(27)), /* b start */ MIPS32_MFC0(15,31,0), /* move COP0 DeSave to $15 */ - MIPS32_B(NEG16(28)), /* b start */ - MIPS32_NOP, }; int retval = ERROR_OK; @@ -422,9 +421,8 @@ int mips32_pracc_read_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int co MIPS32_LW(10,0,15), /* lw $10,($15) */ MIPS32_LW(9,0,15), /* lw $9,($15) */ MIPS32_LW(8,0,15), /* lw $8,($15) */ - MIPS32_MFC0(15,31,0), /* move COP0 DeSave to $15 */ - MIPS32_B(NEG16(28)), /* b start */ - MIPS32_NOP, + MIPS32_B(NEG16(27)), /* b start */ + MIPS32_MFC0(15,30,0), /* move COP0 DeSave to $15 */ }; /* TODO remove array */ @@ -500,9 +498,8 @@ int mips32_pracc_read_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int cou MIPS32_LW(10,0,15), /* lw $10,($15) */ MIPS32_LW(9,0,15), /* lw $9,($15) */ MIPS32_LW(8,0,15), /* lw $8,($15) */ + MIPS32_B(NEG16(27)), /* b start */ MIPS32_MFC0(15,31,0), /* move COP0 DeSave to $15 */ - MIPS32_B(NEG16(28)), /* b start */ - MIPS32_NOP, }; /* TODO remove array */ @@ -677,9 +674,8 @@ int mips32_pracc_write_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int c MIPS32_LW(10,0,15), /* lw $10,($15) */ MIPS32_LW(9,0,15), /* lw $9,($15) */ MIPS32_LW(8,0,15), /* lw $8,($15) */ + MIPS32_B(NEG16(26)), /* b start */ MIPS32_MFC0(15,31,0), /* move COP0 DeSave to $15 */ - MIPS32_B(NEG16(27)), /* b start */ - MIPS32_NOP, }; /* TODO remove array */ @@ -736,9 +732,8 @@ int mips32_pracc_write_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int co MIPS32_LW(10,0,15), /* lw $10,($15) */ MIPS32_LW(9,0,15), /* lw $9,($15) */ MIPS32_LW(8,0,15), /* lw $8,($15) */ + MIPS32_B(NEG16(26)), /* b start */ MIPS32_MFC0(15,31,0), /* move COP0 DeSave to $15 */ - MIPS32_B(NEG16(27)), /* b start */ - MIPS32_NOP, }; /* TODO remove array */ @@ -819,9 +814,8 @@ int mips32_pracc_write_regs(struct mips_ejtag *ejtag_info, uint32_t *regs) MIPS32_LW(2,2*4,1), /* lw $2,2*4($1) */ MIPS32_LW(1,0,15), /* lw $1,($15) */ + MIPS32_B(NEG16(53)), /* b start */ MIPS32_MFC0(15,31,0), /* move COP0 DeSave to $15 */ - MIPS32_B(NEG16(54)), /* b start */ - MIPS32_NOP, }; int retval; @@ -895,9 +889,8 @@ int mips32_pracc_read_regs(struct mips_ejtag *ejtag_info, uint32_t *regs) MIPS32_LW(2,0,15), /* lw $2,($15) */ MIPS32_LW(1,0,15), /* lw $1,($15) */ + MIPS32_B(NEG16(58)), /* b start */ MIPS32_MFC0(15,31,0), /* move COP0 DeSave to $15 */ - MIPS32_B(NEG16(59)), /* b start */ - MIPS32_NOP, }; int retval; |