{"id":2232519,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2232519/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260504-feat-mte4-v5-14-232a648e63c6@gmail.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.1/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260504-feat-mte4-v5-14-232a648e63c6@gmail.com>","date":"2026-05-04T15:50:47","name":"[v5,14/15] tests/tcg: add test for MTE FAR","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"f953c5f0d08013116ffb33d92a88e63b2075b53a","submitter":{"id":91863,"url":"http://patchwork.ozlabs.org/api/1.1/people/91863/?format=json","name":"Gabriel Brookman","email":"brookmangabriel@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260504-feat-mte4-v5-14-232a648e63c6@gmail.com/mbox/","series":[{"id":502688,"url":"http://patchwork.ozlabs.org/api/1.1/series/502688/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502688","date":"2026-05-04T15:50:33","name":"target/arm: add support for MTE4","version":5,"mbox":"http://patchwork.ozlabs.org/series/502688/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232519/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232519/checks/","tags":{},"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=fO3m9a+t;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8R5y2Nv7z1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 01:54:14 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wJva3-00014U-GH; Mon, 04 May 2026 11:51:35 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <brookmangabriel@gmail.com>)\n id 1wJva1-00012c-Cw\n for qemu-devel@nongnu.org; Mon, 04 May 2026 11:51:33 -0400","from mail-qk1-x729.google.com ([2607:f8b0:4864:20::729])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <brookmangabriel@gmail.com>)\n id 1wJvZz-0006GN-OX\n for qemu-devel@nongnu.org; Mon, 04 May 2026 11:51:33 -0400","by mail-qk1-x729.google.com with SMTP id\n af79cd13be357-900fa9f178dso191366485a.1\n for <qemu-devel@nongnu.org>; Mon, 04 May 2026 08:51:31 -0700 (PDT)","from [192.168.1.164] ([2600:1009:a021:c665:5296:905f:3e4a:eb90])\n by smtp.gmail.com with ESMTPSA id\n d75a77b69052e-51040931552sm99599011cf.12.2026.05.04.08.51.28\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 04 May 2026 08:51:29 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1777909890; x=1778514690; darn=nongnu.org;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:from:to:cc:subject:date:message-id\n :reply-to; bh=i0UGA6W7acHfQzFgg07ojZd+ADYp8WlSjAFL26/Ip64=;\n b=fO3m9a+t/HLeev320Hpgi63nhC672ysBTnDAjBA6qvNix/PVpFgTMA1Bp7kZ5v2dSv\n 1/MXmo3j59xir6gPT/kVC7WQAM7f1TOcZVw/YJ8z7D8hccccFnkEaCAkvNAL6N97AT5o\n O1K6k9hvx6Q/9ihK92kPQ8clHzIHOmQ07bef8grMqAcOUfzROjQbbau8jOqzhAFyfOc1\n B+MEqiTgzlOjK3VuRJzUAN+yiVKievTf1Ul8iqSMEmEiOxuNVSK+c/rPY9pDxIbx9l8G\n Pl5KKaav50ed/gRslk0uGPTZYO/mqFsyPsOINV9qyoCpACiF5NQtV9uk6hvtQRfI3zAU\n tMTQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777909890; x=1778514690;\n h=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=i0UGA6W7acHfQzFgg07ojZd+ADYp8WlSjAFL26/Ip64=;\n b=Bv0V/5s7Zg43Pg0/iXi0J+qsvcpdPOzpHUaJWe8YgUgarYWztC+OGvIttSWG+ubmiH\n wPundfTJvinW+/rC8F0ZcfPTYUHP7xuOwNU5D+muV2R+9ocOG/RYNbChDTD/yTrt+Ea4\n hJBAdHTXHz4E8rxKUFc1T90R7eXhHKh91NO+7jyKPRJDmWPzFgv69ynIbwsC+8owrZUy\n FKVbRkkmIvgRKVWEMGoMsIhDmOANnJenbKaHYd4QAGqlvjmQ5Tv3pz2/ohKbcfnyOx/z\n Byxe3GM2ubq4OTDz6AiSFvZ925kPqav2IvC156RnjlDQ20kd7bCu0Pj3rmzIJ+/147rU\n F2uQ==","X-Gm-Message-State":"AOJu0YyK9HlwSIHevygNJ/gcvkS4rcsuuf5kSJt0gwNa+73S1wrVFDum\n hu15eMIEdAw53Uy2EU2JC9hBhB1OHnAAySDoKlojh3I5VLJf3MgrKXuvILa8tjiA","X-Gm-Gg":"AeBDietq+uhTuXnIRS5Bf3KH3KDF9SjT4ISfIu96ggUvJNqaCNpJrrl5b3pHiRYlZ5M\n wq22oLMWn2RKZzQJEm6UV4LYabrlqhE87Bg4XuLy8rqojhI3Ya84r4AyJMsiXxes8h2ovhPMoNd\n roQ5WGwxBrCj3aaUeOKuwR4HSUJMl8IHGoiBV5dKwC8UO3Tqyexq7xwPXFt4+s5Fa/9sop1PWv0\n 6u8crPh2vNHL3DvxDiqJ2Ca4yfOMeSecFa+q8FgRa7j8kwPd6N9Q6WrSujZXQ1A7B3yHN3gacs2\n CFhrK4+2Q7QMeAniYXhF3kQRgL1PPFmhkkF7IrEPQrOmsGpn3OjRAJU7ZBZa2NfbEoUeP1i0txE\n htd3i/PvfXikev7JG6d3u0BpRmfguwrwujsSkqL4PAa3dnF2kfQ+5jKJZjj9YvhEVUlhvmVExB+\n lyrG/bCaV2WE9vgQgC/fv7reIA3bStvVLhppcCet5amkeRdgr4i/Q=","X-Received":"by 2002:a05:622a:30a:b0:50e:5c31:5d56 with SMTP id\n d75a77b69052e-5104bde5513mr149947601cf.6.1777909890237;\n Mon, 04 May 2026 08:51:30 -0700 (PDT)","From":"Gabriel Brookman <brookmangabriel@gmail.com>","Date":"Mon, 04 May 2026 11:50:47 -0400","Subject":"[PATCH v5 14/15] tests/tcg: add test for MTE FAR","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260504-feat-mte4-v5-14-232a648e63c6@gmail.com>","References":"<20260504-feat-mte4-v5-0-232a648e63c6@gmail.com>","In-Reply-To":"<20260504-feat-mte4-v5-0-232a648e63c6@gmail.com>","To":"qemu-devel@nongnu.org","Cc":"Peter Maydell <peter.maydell@linaro.org>,\n Gustavo Romero <gustavo.romero@linaro.org>,\n Richard Henderson <richard.henderson@linaro.org>, qemu-arm@nongnu.org,\n Laurent Vivier <laurent@vivier.eu>,\n Gabriel Brookman <brookmangabriel@gmail.com>, Helge Deller <deller@gmx.de>,\n Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>,\n Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>","X-Mailer":"b4 0.15.2","X-Developer-Signature":"v=1; a=ed25519-sha256; t=1777909867; l=2355;\n i=brookmangabriel@gmail.com; s=20251009; h=from:subject:message-id;\n bh=t9UKuOxOMkff21yBSwiqqFvgFWXDPNIeJTAexYT0IVc=;\n b=VvH0Dw+EA0dM1al44fe87BzYHM1c7TEalnO+8csbUNT90B88V4p/ES2x2ERnZPMq6TF4JfASw\n 4U72rhH18ycB7pUM2h8Mv4ya+L96lnMn5ruW5B0W37hmyCyGx2Ir9Zm","X-Developer-Key":"i=brookmangabriel@gmail.com; a=ed25519;\n pk=m9TtPDal6WzoHNnQiHHKf8dTrv3DUCPUUTujuo8vNrw=","Received-SPF":"pass client-ip=2607:f8b0:4864:20::729;\n envelope-from=brookmangabriel@gmail.com; helo=mail-qk1-x729.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"This functionality was previously enabled but not advertised or tested.\nThis commit adds a new test, mte-9, that tests the code for proper\nfull-address reporting. FEAT_MTE_TAGGED_FAR requires that FAR_ELx\nreport the full logical address, including tag bits.\n\nSigned-off-by: Gabriel Brookman <brookmangabriel@gmail.com>\nReviewed-by: Richard Henderson <richard.henderson@linaro.org>\n---\n tests/tcg/aarch64/Makefile.target |  2 +-\n tests/tcg/aarch64/mte-9.c         | 48 +++++++++++++++++++++++++++++++++++++++\n 2 files changed, 49 insertions(+), 1 deletion(-)","diff":"diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile.target\nindex 9fa8687453..b491cfb5e1 100644\n--- a/tests/tcg/aarch64/Makefile.target\n+++ b/tests/tcg/aarch64/Makefile.target\n@@ -64,7 +64,7 @@ AARCH64_TESTS += bti-2\n \n # MTE Tests\n ifneq ($(CROSS_CC_HAS_ARMV8_MTE),)\n-AARCH64_TESTS += mte-1 mte-2 mte-3 mte-4 mte-5 mte-6 mte-7 mte-8\n+AARCH64_TESTS += mte-1 mte-2 mte-3 mte-4 mte-5 mte-6 mte-7 mte-8 mte-9\n mte-%: CFLAGS += $(CROSS_CC_HAS_ARMV8_MTE)\n endif\n \ndiff --git a/tests/tcg/aarch64/mte-9.c b/tests/tcg/aarch64/mte-9.c\nnew file mode 100644\nindex 0000000000..9626a90c13\n--- /dev/null\n+++ b/tests/tcg/aarch64/mte-9.c\n@@ -0,0 +1,48 @@\n+/*\n+ * Memory tagging, full-address reporting.\n+ *\n+ * Copyright (c) 2021 Linaro Ltd\n+ * SPDX-License-Identifier: GPL-2.0-or-later\n+ */\n+\n+#include \"mte.h\"\n+\n+static void *faulting_ptr;\n+\n+void pass(int sig, siginfo_t *info, void *uc)\n+{\n+    assert(faulting_ptr == info->si_addr);\n+    exit(0);\n+}\n+\n+int main(int ac, char **av)\n+{\n+    struct sigaction sa;\n+    int *p0, *p1, *p2;\n+    long excl = 1;\n+\n+    enable_mte(PR_MTE_TCF_SYNC);\n+    p0 = alloc_mte_mem(sizeof(*p0));\n+\n+    /* Create two differently tagged pointers. */\n+    asm(\"irg %0,%1,%2\" : \"=r\"(p1) : \"r\"(p0), \"r\"(excl));\n+    asm(\"gmi %0,%1,%0\" : \"+r\"(excl) : \"r\" (p1));\n+    assert(excl != 1);\n+    asm(\"irg %0,%1,%2\" : \"=r\"(p2) : \"r\"(p0), \"r\"(excl));\n+    assert(p1 != p2);\n+\n+    /* Store the tag from the first pointer.  */\n+    asm(\"stg %0, [%0]\" : : \"r\"(p1));\n+\n+    *p1 = 0;\n+\n+    memset(&sa, 0, sizeof(sa));\n+    sa.sa_sigaction = pass;\n+    sa.sa_flags = SA_SIGINFO;\n+    sigaction(SIGSEGV, &sa, NULL);\n+\n+    faulting_ptr = p2;\n+    *p2 = 0;\n+\n+    abort();\n+}\n","prefixes":["v5","14/15"]}