From nobody Tue Apr 23 18:06:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) client-ip=209.85.221.45; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f45.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1605801941; cv=none; d=zohomail.com; s=zohoarc; b=G2QxqSx6bDrvL38NnexMFiKCVltmXXEB+3kOiCg92o4D0ccHN6Q6OG4IAwPBCOb/J/wlku91KA3XRn+WgJ8i9FU39z4ILQujR/3RPn9U4WMle/E8yxlMIu7XHPAs8xYq0+ve35MCYoCP7kuqXukroZ/JzDwztFe//VgV1AlMOPY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605801941; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=uY4y2SOxLmAH/47jWYQ27WEhOt045+ttiaLR6ij77aU=; b=CRpiCEE3WPJJMoyICCcxy3LK2zUrGwj72UuQcCw9vE1nZW+8toqPRVEDEwrfltm5gUw/NVlX6L+e9YD4qScfa6xKWzZZT66jJdFkksjUXriHB97188BqFVPz4iCAqN+09Wodr9IqY306RS4j+3U7io5X/GrpsXJtLhH/B4FZKFg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.45 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f45.google.com (mail-wr1-f45.google.com [209.85.221.45]) by mx.zohomail.com with SMTPS id 1605801941121312.22288609664145; Thu, 19 Nov 2020 08:05:41 -0800 (PST) Received: by mail-wr1-f45.google.com with SMTP id j7so7029810wrp.3 for ; Thu, 19 Nov 2020 08:05:40 -0800 (PST) Return-Path: Return-Path: Received: from x1w.redhat.com (234.red-83-42-66.dynamicip.rima-tde.net. [83.42.66.234]) by smtp.gmail.com with ESMTPSA id v6sm292995wrb.53.2020.11.19.08.05.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Nov 2020 08:05:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=uY4y2SOxLmAH/47jWYQ27WEhOt045+ttiaLR6ij77aU=; b=Cv5I8fmLEsFx/MhLs5bCU3bCElmKgOgd+pVer1/LCJbkM+41ucMDBBXLq1PRug+M4m 73caqMpzkhwvyJ0N+syfZIMktkbD2NkaDhCOswKLtZ60vH55zTR5pzBbicB248wFn4ZS DUPpidzOWwnJBkCG7hXbNvbvFFrv+AVZ3VI+yDGq+N2xpOlF4jAKn2iFFuwB6rZfnKCd 9i3jhsFJPP+Y0GAXIuBzqdIws0wiLAgTJPEBw7UZ+5TR41DTrE0g3mxmixjJ4N5sPxaC KZWxurSQSeuhV/FTjp7/X9p6o1ZIQwwg1TR4umfJQxbjQzMY8hPZF4xi8K8PGFXaq1Ja iQzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=uY4y2SOxLmAH/47jWYQ27WEhOt045+ttiaLR6ij77aU=; b=VJqtX40ZBlsZCfvV3BmgvUqWt+e2cPKauE22KSGXL1J5WYJtiytIRI2EOc81nN4PkZ 93GWUI0V7OIeNMosF/aOAb1Bc5lRaIbnhRIOgi9WFlS3BjXC+dBYbFiX/0RcQ7Yv/DQE MMB1NsBu7U3pkuYqLjm0qWuol4j5Lqv+vc/Jn+w+lYBK7kHJ9myvP/0VzJMNJX6eiopJ HTNhXE5sbG1/cFOj98fUO0hOdNVKr0K4+AnW8qlVSKjUk7uR+/Cn1+vh9+ktCawci8rf F8PIrfDy79CfXE/6IaCEqvVTz1m3pOQ0fHvZ4geEaiPgCr+Ds5v3unzXu2uaVBWnT9ys Y5HQ== X-Gm-Message-State: AOAM533SVUucz/mUHHxHCa0irDuZupH7xU6oEW0YSBDpUqsILrozysrk YrppDZpqQJHmrHaa+xhKUvIHpjijSC8= X-Google-Smtp-Source: ABdhPJzv8TJnewqbNExylQSCuFSf+GqcY68KR3e5xGkB75Ty/6ylSeTznhO+wfxtQ2LYtiavhPpQ3Q== X-Received: by 2002:adf:e6cf:: with SMTP id y15mr11725639wrm.403.1605801938990; Thu, 19 Nov 2020 08:05:38 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Laurent Vivier , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo , Richard Henderson Subject: [PATCH v2] target/mips/helper: Also display exception names in user-mode Date: Thu, 19 Nov 2020 17:05:36 +0100 Message-Id: <20201119160536.1980329-1-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Currently MIPS exceptions are displayed as string in system-mode emulation, but as number in user-mode. Unify by extracting the current system-mode code as excp_name() and use that in user-mode. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- Since v1: Fixed failed cherry-pick conflict resolution --- target/mips/helper.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/target/mips/helper.c b/target/mips/helper.c index 063b65c0528..b51b557c8c2 100644 --- a/target/mips/helper.c +++ b/target/mips/helper.c @@ -978,6 +978,7 @@ hwaddr cpu_mips_translate_address(CPUMIPSState *env, ta= rget_ulong address, return physical; } } +#endif =20 static const char * const excp_names[EXCP_LAST + 1] =3D { [EXCP_RESET] =3D "reset", @@ -1018,7 +1019,14 @@ static const char * const excp_names[EXCP_LAST + 1] = =3D { [EXCP_MSADIS] =3D "MSA disabled", [EXCP_MSAFPE] =3D "MSA floating point", }; -#endif + +static const char *excp_name(int32_t exception) +{ + if (exception < 0 || exception > EXCP_LAST) { + return "unknown"; + } + return excp_names[exception]; +} =20 target_ulong exception_resume_pc(CPUMIPSState *env) { @@ -1091,19 +1099,13 @@ void mips_cpu_do_interrupt(CPUState *cs) bool update_badinstr =3D 0; target_ulong offset; int cause =3D -1; - const char *name; =20 if (qemu_loglevel_mask(CPU_LOG_INT) && cs->exception_index !=3D EXCP_EXT_INTERRUPT) { - if (cs->exception_index < 0 || cs->exception_index > EXCP_LAST) { - name =3D "unknown"; - } else { - name =3D excp_names[cs->exception_index]; - } - qemu_log("%s enter: PC " TARGET_FMT_lx " EPC " TARGET_FMT_lx " %s exception\n", - __func__, env->active_tc.PC, env->CP0_EPC, name); + __func__, env->active_tc.PC, env->CP0_EPC, + excp_name(cs->exception_index)); } if (cs->exception_index =3D=3D EXCP_EXT_INTERRUPT && (env->hflags & MIPS_HFLAG_DM)) { @@ -1490,8 +1492,8 @@ void QEMU_NORETURN do_raise_exception_err(CPUMIPSStat= e *env, { CPUState *cs =3D env_cpu(env); =20 - qemu_log_mask(CPU_LOG_INT, "%s: %d %d\n", - __func__, exception, error_code); + qemu_log_mask(CPU_LOG_INT, "%s: %d (%s) %d\n", + __func__, exception, excp_name(exception), error_code); cs->exception_index =3D exception; env->error_code =3D error_code; =20 --=20 2.26.2