From: Pavel Dovgalyuk Date: Fri, 23 Jun 2017 10:41:16 +0000 (+0200) Subject: mips: set CP0 Debug DExcCode for SDBBP instruction X-Git-Tag: v2.10.0-rc0~48^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6c2c0fc32362ba234ae3bdad1a55c2d6aefaa12;p=thirdparty%2Fqemu.git mips: set CP0 Debug DExcCode for SDBBP instruction This patch fixes setting DExcCode field of CP0 Debug register when SDBBP instruction is executed. According to EJTAG specification, this field must be set to the value 9 (Bp). Signed-off-by: Pavel Dovgalyuk Message-id: 20170502120350.3368.92338.stgit@PASHA-ISP Reviewed-by: Aurelien Jarno Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Aurelien Jarno --- diff --git a/target/mips/helper.c b/target/mips/helper.c index e359ca3b448..166f0d1243a 100644 --- a/target/mips/helper.c +++ b/target/mips/helper.c @@ -627,6 +627,8 @@ void mips_cpu_do_interrupt(CPUState *cs) goto set_DEPC; case EXCP_DBp: env->CP0_Debug |= 1 << CP0DB_DBp; + /* Setup DExcCode - SDBBP instruction */ + env->CP0_Debug = (env->CP0_Debug & ~(0x1fULL << CP0DB_DEC)) | 9 << CP0DB_DEC; goto set_DEPC; case EXCP_DDBS: env->CP0_Debug |= 1 << CP0DB_DDBS;