return mips32_pracc_exec(ejtag_info, 1, &inst, 0, NULL, 0, NULL, 0);
}
-int mips_ejtag_read_debug(struct mips_ejtag *ejtag_info, uint32_t* debug_reg)
-{
- /* read ejtag ECR */
- static const uint32_t code[] = {
- MIPS32_MTC0(15, 31, 0), /* move $15 to COP0 DeSave */
- MIPS32_LUI(15, UPPER16(MIPS32_PRACC_STACK)), /* $15 = MIPS32_PRACC_STACK */
- MIPS32_ORI(15, 15, LOWER16(MIPS32_PRACC_STACK)),
- MIPS32_SW(1, 0, 15), /* sw $1,($15) */
- MIPS32_SW(2, 0, 15), /* sw $2,($15) */
- MIPS32_LUI(1, UPPER16(MIPS32_PRACC_PARAM_OUT)), /* $1 = MIPS32_PRACC_PARAM_OUT */
- MIPS32_ORI(1, 1, LOWER16(MIPS32_PRACC_PARAM_OUT)),
- MIPS32_MFC0(2, 23, 0), /* move COP0 Debug to $2 */
- MIPS32_SW(2, 0, 1),
- MIPS32_LW(2, 0, 15),
- MIPS32_LW(1, 0, 15),
- MIPS32_B(NEG16(12)),
- MIPS32_MFC0(15, 31, 0), /* move COP0 DeSave to $15 */
- };
-
- return mips32_pracc_exec(ejtag_info, ARRAY_SIZE(code), code,
- 0, NULL, 1, debug_reg, 1);
-}
-
int mips_ejtag_init(struct mips_ejtag *ejtag_info)
{
uint32_t ejtag_version;