Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2235155/?format=api
{ "id": 2235155, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2235155/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260508-jmac-gpctest-v1-2-e57e42c87e1e@linaro.org/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.2/projects/14/?format=api", "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": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260508-jmac-gpctest-v1-2-e57e42c87e1e@linaro.org>", "list_archive_url": null, "date": "2026-05-08T17:20:13", "name": "[2/3] altvec.S: Alternative vector table for aarch64 testing", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "853b99171e5d3346a2f1102a9c73284ed8bd50e4", "submitter": { "id": 92076, "url": "http://patchwork.ozlabs.org/api/1.2/people/92076/?format=api", "name": "Jim MacArthur", "email": "jim.macarthur@linaro.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260508-jmac-gpctest-v1-2-e57e42c87e1e@linaro.org/mbox/", "series": [ { "id": 503424, "url": "http://patchwork.ozlabs.org/api/1.2/series/503424/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=503424", "date": "2026-05-08T17:20:13", "name": "RFC: Testing exceptions in tests/tcg/aarch64", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/503424/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2235155/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2235155/checks/", "tags": {}, "related": [], "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=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=aM+5BZVB;\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 4gBwrB4yVsz1yCg\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 09 May 2026 03:20:58 +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 1wLOsJ-0005aH-PM; Fri, 08 May 2026 13:20:31 -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 <jim.macarthur@linaro.org>)\n id 1wLOsD-0005ZE-5A\n for qemu-devel@nongnu.org; Fri, 08 May 2026 13:20:25 -0400", "from mail-wm1-x330.google.com ([2a00:1450:4864:20::330])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <jim.macarthur@linaro.org>)\n id 1wLOs8-0002Jb-9A\n for qemu-devel@nongnu.org; Fri, 08 May 2026 13:20:23 -0400", "by mail-wm1-x330.google.com with SMTP id\n 5b1f17b1804b1-4896c22fcbaso20939895e9.0\n for <qemu-devel@nongnu.org>; Fri, 08 May 2026 10:20:17 -0700 (PDT)", "from [127.0.1.1] ([2a10:d582:31e:0:e47d:4cf0:1918:bbbd])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48e6dd2c550sm9516965e9.3.2026.05.08.10.20.16\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 08 May 2026 10:20:16 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778260817; x=1778865617; 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=Sj83pQ1FvTLzFDLi7fANMNJBNhCHQLFTCbga/AJf4eU=;\n b=aM+5BZVBEqYyPl/ihSc5lYVWP2extbOg7PKAwNwuR+jZ4SqD1yob1qtey4CM3kypoi\n QE6WR+A9e+7yQI4q4jem03ww1eKXI0aC1rLMWO8i9G+O25z+gXZKFSsdX7ltyEd7+JjH\n bKXOEWtaBxiMRQAixEEs4w0Ri5jNcarZ4chbTesW3ayM92NoNnXryo7FUBsrAXS1u2LN\n Xx07nLCtObu8Ubt4gUEYVbqNNPrurY+ToDiWv5a3mKQ0+IKtDC2SPfihO9gL9ONXMVC2\n zPACwIGf9AMvRrQ5hIl1RBoTsWBDkIuln5q9CAeZOql4ZGwWnHdG8pGfSxVF6WABITRA\n QXUw==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778260817; x=1778865617;\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=Sj83pQ1FvTLzFDLi7fANMNJBNhCHQLFTCbga/AJf4eU=;\n b=LNe+gpAzYKWbQNqkXMGPqgyl7J4mvDaY0mIFGGFzGQp138UnwXMVZzW6Va5K5aPJBV\n nCH8i51EhiBmBmZoyggxkcqYWQKKvPdgDT0QfyT8Sy1/9PkfB96xQnTngNYcxULHTbEx\n 1st+pA1vCaLHX+rIOzHou90ksI2zo+GQfKRIc/uv2AxRb/JXuyZJmcZlfGdX/nVeIARP\n xUyPQbikPN38FvejO5iucd6ve4RQkieafLVmxny81Ypdhn7ijHzbI+vpjTbpPXDyH1kf\n EDNQeYgOFJ04XDT5rMGyTpRGOnP8WQUF40rpIOR5fr/gkwzQbRWDHPIhXka1V6wgS2j1\n 6MmA==", "X-Gm-Message-State": "AOJu0YzYYNigkvDCNAsgeTbelyqMPpQ5NHqwQGwwqrV+/mbj5A4iVFMd\n apgKOz6wVSRUGPXh/YotEAK31+I8EgXNg4ix1HERsbBXf0iXp0zGJLrT7ImjrfaOduzQjh95yYI\n 64WdO", "X-Gm-Gg": "AeBDievkSOBuyb0JuPdfxlzE9oGMWVmccEfGnubpHdlRx3wRDYquvmg+73tRV8pEDCC\n 8rI8UQkb5y+jym5EsIHaAoKkz3TaeNghHMlrlNgEnSveYN+SzApPwC5Eban6hT0KYkB8LlsPYJR\n drkjJZezq35FP6JdD8FAvl2KLSG9GXguSdI2erDq/MJ2y3zbFriEx9Ik+EbB0l3VDpOutmOMQlf\n a7LA9Um9y/lTgpOHhf98u6QlsPKjWrrBo7GK8grBK0seZeqtkq40Bl/eO+HepOIJT/4O0V3zfFa\n +MMmdhMQCORHRF3joM8gJ0rD/2rT/MUwxs76ELAa09tTlyecPIWUHQaRKcTXuMWV4g255FixJDi\n LApJX2805upvTeM7EiZ6xLwY5H/RC47Xstui6v4RkIVj658VTGApE8nthbHj4fV5l80Nntm/4IP\n xnHHQNDecoKS+CNwJLvqZVToFSwGg=", "X-Received": "by 2002:a05:600c:3b17:b0:48a:568f:ae8a with SMTP id\n 5b1f17b1804b1-48e51e1a870mr206847285e9.8.1778260816472;\n Fri, 08 May 2026 10:20:16 -0700 (PDT)", "From": "Jim MacArthur <jim.macarthur@linaro.org>", "Date": "Fri, 08 May 2026 18:20:13 +0100", "Subject": "[PATCH 2/3] altvec.S: Alternative vector table for aarch64 testing", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260508-jmac-gpctest-v1-2-e57e42c87e1e@linaro.org>", "References": "<20260508-jmac-gpctest-v1-0-e57e42c87e1e@linaro.org>", "In-Reply-To": "<20260508-jmac-gpctest-v1-0-e57e42c87e1e@linaro.org>", "To": "qemu-devel@nongnu.org", "Cc": "Peter Maydell <peter.maydell@linaro.org>, qemu-arm@nongnu.org,\n Jim MacArthur <jim.macarthur@linaro.org>", "X-Mailer": "b4 0.13.0", "Received-SPF": "pass client-ip=2a00:1450:4864:20::330;\n envelope-from=jim.macarthur@linaro.org; helo=mail-wm1-x330.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,\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": "Sets up a potential replacement vector table which will record\nand ignore certain types of exception. Indicative values are\nrecorded in 'exception_log'. Most exception types are handled\nin the same way as the table in boot.S.\n\nSigned-off-by: Jim MacArthur <jim.macarthur@linaro.org>\n---\n tests/tcg/aarch64/Makefile.softmmu-target | 2 +-\n tests/tcg/aarch64/system/altvec.S | 129 ++++++++++++++++++++++++++++++\n 2 files changed, 130 insertions(+), 1 deletion(-)", "diff": "diff --git a/tests/tcg/aarch64/Makefile.softmmu-target b/tests/tcg/aarch64/Makefile.softmmu-target\nindex f7a7d2b800..60c65f4969 100644\n--- a/tests/tcg/aarch64/Makefile.softmmu-target\n+++ b/tests/tcg/aarch64/Makefile.softmmu-target\n@@ -8,7 +8,7 @@ AARCH64_SYSTEM_SRC=$(AARCH64_SRC)/system\n VPATH+=$(AARCH64_SYSTEM_SRC)\n \n # These objects provide the basic boot code and helper functions for all tests\n-CRT_OBJS=boot.o\n+CRT_OBJS=boot.o altvec.o\n \n AARCH64_TEST_C_SRCS=$(wildcard $(AARCH64_SYSTEM_SRC)/*.c)\n AARCH64_TEST_S_SRCS=$(AARCH64_SYSTEM_SRC)/mte.S\ndiff --git a/tests/tcg/aarch64/system/altvec.S b/tests/tcg/aarch64/system/altvec.S\nnew file mode 100644\nindex 0000000000..079846b639\n--- /dev/null\n+++ b/tests/tcg/aarch64/system/altvec.S\n@@ -0,0 +1,129 @@\n+/* SPDX-License-Identifier: GPL-2.0-or-later */\n+/*\n+ * Alternative AArch64 vector table. Can replace the vector table\n+ * in boot.S and record & ignore some exceptions in exception_log.\n+ * Maintains the semihosting error print and exit for most\n+ * exceptions.\n+ *\n+ * Copyright Linaro Ltd 2026\n+ *\n+ */\n+\n+#define semihosting_call hlt 0xf000\n+#define SYS_WRITE0\t0x04\t/* string to debug channel */\n+#define SYS_EXIT\t0x18\n+\t.align\t12\n+\n+\t.macro\tventry\tlabel\n+\t.align\t7\n+\tb\t\\label\n+\t.endm\n+\n+\t.global alt_vector_table\n+alt_vector_table:\n+\t/* Current EL with SP0.\t */\n+\tventry\tcurr_sp0_sync\t\t/* Synchronous\t*/\n+\tventry\tcurr_sp0_irq\t\t/* Irq/vIRQ */\n+\tventry\tcurr_sp0_fiq\t\t/* Fiq/vFIQ */\n+\tventry\tcurr_sp0_serror\t\t/* SError/VSError */\n+\n+\t/* Current EL with SPx.\t */\n+\tventry\tcurr_spx_sync\t\t/* Synchronous\t*/\n+\tventry\tcurr_spx_irq\t\t/* IRQ/vIRQ */\n+\tventry\tcurr_spx_fiq\t\t/* FIQ/vFIQ */\n+\tventry\tcurr_spx_serror\t\t/* SError/VSError */\n+\n+\t/* Lower EL using AArch64. */\n+\tventry\tlower_a64_sync\t\t/* Synchronous\t*/\n+\tventry\tlower_a64_irq\t\t/* IRQ/vIRQ */\n+\tventry\tlower_a64_fiq\t\t/* FIQ/vFIQ */\n+\tventry\tlower_a64_serror\t/* SError/VSError */\n+\n+\t/* Lower EL using AArch32. */\n+\tventry\tlower_a32_sync\t\t/* Synchronous\t*/\n+\tventry\tlower_a32_irq\t\t/* IRQ/vIRQ */\n+\tventry\tlower_a32_fiq\t\t/* FIQ/vFIQ */\n+\tventry\tlower_a32_serror\t/* SError/VSError */\n+\n+\t.text\n+\t.align 4\n+\n+curr_spx_sync:\n+\tsub sp, sp, #16\n+\tstp x0, x1, [sp, #0]\n+\tmrs x0, ESR_EL3\n+\tlsr \tx0, x0, #26\n+\tand \tx0, x0, #0x3f\n+\tcmp \tx0, #37\n+\tbeq \tdata_fault\n+\tcmp \tx0, #30\n+\tbeq \tgpc_fault\n+\tb generic_exception\n+\n+data_fault:\n+\tmrs x0, FAR_EL3\n+\tadrp x1, exception_log\n+\tstr x0, [x1]\n+\tldr x0, =0x1001\n+\tstr x0, [x1, #8]\n+\tb skip_return\n+gpc_fault:\n+\tmrs x0, FAR_EL3\n+\tadrp x1, exception_log\n+\tstr x0, [x1]\n+\tldr x0, =0x1002\n+\tstr x0, [x1, #8]\n+\t/* Fall through */\n+skip_return:\n+\tmrs x0, ELR_EL3\n+\tadd x0, x0, #4 /* Skip faulting instruction */\n+\tmsr ELR_EL3, x0\n+\tldp x0, x1, [sp, #0]\n+\tadd sp, sp, #16\n+\teret\n+curr_sp0_sync:\n+curr_sp0_irq:\n+curr_sp0_fiq:\n+curr_sp0_serror:\n+curr_spx_irq:\n+curr_spx_fiq:\n+curr_spx_serror:\n+lower_a64_sync:\n+lower_a64_irq:\n+lower_a64_fiq:\n+lower_a64_serror:\n+lower_a32_sync:\n+lower_a32_irq:\n+lower_a32_fiq:\n+lower_a32_serror:\n+generic_exception:\n+\tadr\tx1, .unexp_excp\n+exit_msg:\n+\tmov\tx0, SYS_WRITE0\n+\tsemihosting_call\n+\tmov\tx0, 1 /* EXIT_FAILURE */\n+\tbl \t_exit\n+\t/* never returns */\n+print_debug_msg:\n+\tmov\tx0, SYS_WRITE0\n+\tsemihosting_call\n+\tret\n+_exit:\n+\tmov x1, x0\n+\tldr x0, =0x20026 /* ADP_Stopped_ApplicationExit */\n+\tstp x0, x1, [sp, #-16]!\n+\tmov x1, sp\n+\tmov x0, SYS_EXIT\n+\tsemihosting_call\n+\n+\n+\t.section .rodata\n+.unexp_excp:\n+\t.string \"Unexpected exception (via alternative handler).\\n\"\n+\n+\t.data\n+\t.align 8\n+\t.global exception_log\n+exception_log:\n+\t.space 128, 0\n+\n", "prefixes": [ "2/3" ] }