From nobody Mon Feb 9 23:30:02 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) client-ip=209.85.221.53; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f53.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1618941270; cv=none; d=zohomail.com; s=zohoarc; b=JU+1X49pGz2X0wYmwe2j3FO+vPWyV+mH1AocU3Vd8xo5xkrLxom3kPeK2r7LwvF2bEJwTfMiLyCbA+Qw7nfrB7n61y/+wXHvnL+nLvVzCD9k4jEO56DXmIezvGMejTaX/OfjPt2GwiBZXWHwYTYDv9mPa4ZdIaVaKuojJA+0i94= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1618941270; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=GeFKmJ5DAhV3TOqnA8khb+umRgraGANjeB8LmBMIdAA=; b=eHwj+YdvXJcK6EBYEZok/O1C/OpyOlaoFmP57ckBCTVGwokspjca1Nppy1tC//zp/z+fhWcGrC5prPept8KPudCwbK+upp2hBa/z27VM1Ys3QAQU2cShcqVMjEQ6JYOxQEhY7ECwrbBnre+7GDYSO880eeHv4tkudarO5GEDreM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.53 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) by mx.zohomail.com with SMTPS id 1618941270631303.62224128837477; Tue, 20 Apr 2021 10:54:30 -0700 (PDT) Received: by mail-wr1-f53.google.com with SMTP id j5so37596472wrn.4 for ; Tue, 20 Apr 2021 10:54:30 -0700 (PDT) Return-Path: Return-Path: Received: from x1w.redhat.com (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id n9sm27851618wrq.86.2021.04.20.10.54.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Apr 2021 10:54:28 -0700 (PDT) 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=GeFKmJ5DAhV3TOqnA8khb+umRgraGANjeB8LmBMIdAA=; b=Am0iUTPCQlnWM6MA2i1IHY4C1c8gCl56/daUrXkEuZXjWVhsDFhPBq3SYW8qHbIwHx WYRiuQrB3poEBMd3rAaXOHeu+DnBk23rOXXDO6AjxO+w8p0Au0WAiJMZxmFRVhl9DjwC ao7aTyjj4aX/YjhnchgMeMZ52qU/0iekNgMPnbvs/ZiYyS92Rox5VYcBj5UTdbJQZ1oq BdL8CRo1+7movY5IUbJiZ5Euil6di+WkfPrvULzd/hmDGLu1utsgO1HL4xmZuJKxad0X fFBHCrKDtxA5ip8T/Cz0JYNNRxgCBF01vvDZhRpWbMWLDmLV2Zf1ZVopk4i6kFN+nVal xEYQ== 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=GeFKmJ5DAhV3TOqnA8khb+umRgraGANjeB8LmBMIdAA=; b=SCopGwf3HuDHHN0Fj5hwafHjsXypG9nq3eHXrbzMoOpmZVl2rSAIsVW3QFmn0PytM9 PAeDoiS/abxLEVbHzuILXj84TgS/f4W7Yw0Gbavye6A1WHsAfEr22ufdAkB5G3hS/sHa SAKY2pxssJbM5mZebl8krO1dH2m1SDmPearzVeLyTd0q4fAVHCkvC0lOlSZNvJ/0jMo7 sCjCBDHPfjOzAmyaI4QyGVUytKMh+CusuLVGE2y28nKILdJavzk8dMBRMWoXyFxwpxjK 02q8mFdyDgkVSa49b7W5/bJclchb2LBJu9PR2zg1tWY8PcOIa+rSUUyTEqOITCS776bL iHng== X-Gm-Message-State: AOAM530OpxAd/+oVADiVfHDMH1yBSdiSG/7iR/2sr8y+OrCXciFl+PrW 63x+MAVN5qkwAsA96d2FZqQ= X-Google-Smtp-Source: ABdhPJwmH7k3MqpJrb5utcQcSWrZlNpYLXVG1Fi12JHAOOR1wT6UF0eC2fnh9i7YZWo8WbjupYeQGA== X-Received: by 2002:a5d:6e06:: with SMTP id h6mr21915800wrz.201.1618941268893; Tue, 20 Apr 2021 10:54:28 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Petar Jovanovic , Aurelien Jarno , Filip Vidojevic , Vince Del Vecchio , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Rikalo , Richard Henderson Subject: [PATCH] target/mips: Fix CACHEE opcode (CACHE using EVA addressing) Date: Tue, 20 Apr 2021 19:54:26 +0200 Message-Id: <20210420175426.1875746-1-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The CACHEE opcode "requires CP0 privilege". The pseudocode checks in the ISA manual is: if is_eva and not C0.Config5.EVA: raise exception('RI') if not IsCoprocessor0Enabled(): raise coprocessor_exception(0) Add the missing checks. Inspired-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson --- target/mips/translate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/mips/translate.c b/target/mips/translate.c index 71fa5ec1973..5dad75cdf37 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -20957,6 +20957,8 @@ static int decode_nanomips_32_48_opc(CPUMIPSState *= env, DisasContext *ctx) gen_ld(ctx, OPC_LHUE, rt, rs, s); break; case NM_CACHEE: + check_eva(ctx); + check_cp0_enabled(ctx); check_nms_dl_il_sl_tl_l2c(ctx); gen_cache_operation(ctx, rt, rs, s); break; @@ -24530,11 +24532,11 @@ static void decode_opc_special3(CPUMIPSState *env= , DisasContext *ctx) gen_st_cond(ctx, rt, rs, imm, MO_TESL, true); return; case OPC_CACHEE: + check_eva(ctx); check_cp0_enabled(ctx); if (ctx->hflags & MIPS_HFLAG_ITC_CACHE) { gen_cache_operation(ctx, rt, rs, imm); } - /* Treat as NOP. */ return; case OPC_PREFE: check_cp0_enabled(ctx); --=20 2.26.3