{"id":2225863,"url":"http://patchwork.ozlabs.org/api/covers/2225863/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260421-mips-octeon-missing-insns-v2-v2-0-a0791df188c9@gmail.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/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":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260421-mips-octeon-missing-insns-v2-v2-0-a0791df188c9@gmail.com>","list_archive_url":null,"date":"2026-04-21T17:27:27","name":"[v2,00/13] target/mips: add missing Octeon user-mode support","submitter":{"id":66301,"url":"http://patchwork.ozlabs.org/api/people/66301/?format=json","name":"James Hilliard","email":"james.hilliard1@gmail.com"},"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260421-mips-octeon-missing-insns-v2-v2-0-a0791df188c9@gmail.com/mbox/","series":[{"id":500858,"url":"http://patchwork.ozlabs.org/api/series/500858/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500858","date":"2026-04-21T17:27:27","name":"target/mips: add missing Octeon user-mode support","version":2,"mbox":"http://patchwork.ozlabs.org/series/500858/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2225863/comments/","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=Ff2kxor5;\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 4g0Tpk0pgLz1yJy\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 03:28:28 +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 1wFEtK-0003pm-1r; Tue, 21 Apr 2026 13:28:06 -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 <james.hilliard1@gmail.com>)\n id 1wFEsw-0003lL-NC\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 13:27:51 -0400","from mail-oi1-x230.google.com ([2607:f8b0:4864:20::230])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <james.hilliard1@gmail.com>)\n id 1wFEsv-0006ge-2D\n for qemu-devel@nongnu.org; Tue, 21 Apr 2026 13:27:42 -0400","by mail-oi1-x230.google.com with SMTP id\n 5614622812f47-4670464029eso2406273b6e.2\n for <qemu-devel@nongnu.org>; Tue, 21 Apr 2026 10:27:40 -0700 (PDT)","from mac.localdomain (97-118-149-104.hlrn.qwest.net.\n [97.118.149.104]) by smtp.gmail.com with ESMTPSA id\n 586e51a60fabf-42b8fe2c52bsm12209290fac.0.2026.04.21.10.27.38\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 21 Apr 2026 10:27:38 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776792459; x=1777397259; darn=nongnu.org;\n h=cc:to:content-transfer-encoding:mime-version:message-id:date\n :subject:from:from:to:cc:subject:date:message-id:reply-to;\n bh=2eIWcEVbGT2Bkdbdk0f71Ip+HemYRMLHjbbivqGNFTc=;\n b=Ff2kxor5bi9jt0ZOS4tIc56xm5uwZbOYW+4p2tqHd7vRZyvK7ZET+oC/fsDCIOyW4p\n uqC6CUiB/c4q+ZlZZRPUhHOmE8Dd5pFvznYhkb/x2HfM1flV8XMspg2IOIzhIKUkuYhq\n gm0/eSQpuGIlBcogs08/98dyDY1FvxdzUcTYrGE/M00NKWke6Ueu+ODwXaYlhWYgmjPr\n xRwwTvrRclwhy995TqLDWOy3jPl7r6cS8aCgUom5mFZXYbHDOwBp7bd8eFUG3aOKNhR9\n 2HbbwqxasHFfggx399V02Slxc20jzRrZbb6hVKcQiaFaY+i7e1bZznPn/ccOWXlgzsWE\n ygSw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776792459; x=1777397259;\n h=cc:to:content-transfer-encoding:mime-version:message-id:date\n :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=2eIWcEVbGT2Bkdbdk0f71Ip+HemYRMLHjbbivqGNFTc=;\n b=KCcVkSvKbn1h067z/pvVgT4fPCDdFiwfWHWOYWQ0gqijaabWtlkURADy71IQ6pzyZm\n OQd+sKsYZbBE8/ilhC+Du85lGlIGnxIvhhMB20rsE/gmc15b8ynPTcEx6LwUBTIC5W/h\n oM8EpGYmr4upnpYMUiFJSAS0ej6QSJ/pZ8vk4ch3EajXRQ2ypJ19nfGSCAISxfDwSl8W\n iaaPqo9EujEYv/9duHc5AzO9Y0PTt8kbJfY5JFV6dc02CX2cfmrppX4jbt8odSB21WzE\n 9S/fSjdImqrtMrXCIsGyZ2tc6F6A7H73Gd9CrYTJXOGWN5+ofFpoAEeXzFQsnwi6hywU\n 9kxw==","X-Gm-Message-State":"AOJu0Yxjho9+boCjCRZi8tNsRaAlq1JEvLxdfodLb+540ymZRZZnKmw7\n FrcKdy90Ws7YsHykX/4TYxD4NgvjYwy2QPzxbZ1u7AeEdvW78wCIHRNV","X-Gm-Gg":"AeBDievDOV4uEm9MZjxWkCFILyrXhCYh+vCScm3ihOpAr6MWVJi916VQopMEbw7af3o\n 4Xrt6ut4iIbvcOQ1ZbEDnCMqQKQE0Ahr3xo/jemy3hkMSH9zkiClxSwYVVF2iGkS5QUju+bw9KN\n v7bUvB6Sx5NND1WoVz5MyAgBfNuqpTQHbg90bQjKyyC7cR2x4lSGulOcoo7iGi9yATeoMPPzaPn\n syNjJKZ6hj0M5MW+Czww6IJECi4xF1aDfQTjP0nuWnQJsC8XbDfYiuooDS2L5rdoxfrKOTI5vFr\n mnky/3HNOtoJYjndnylRm5vv2nHlJR3LZSGZDm8AiIhoFbL2S0FGGMpcxB1VdG6o61WDz1KUWnW\n ehGQX8vPhzDGAtoAbwxHSrkA8suG+iVxzN5sn+6GhQoUnQsyxIIDP+7HHBW2tuFGYS2CKo+zyNg\n IxyYIPYNauyzbgJmOepgBEpDu5J6thMrwbmDh3WUkOE8c++GWm658WxKfaW4/MyCXi4bEDUsrp/\n fjNql6KbsdWOH+JX3rxDnu0i6j6yqSi3AO4UWmEVc2Mk8AKz9Xkpz6onoqjzSlz2I0VA7AhyXFq\n n26tPw==","X-Received":"by 2002:a05:6808:10cc:b0:479:eb19:6e69 with SMTP id\n 5614622812f47-479eb19b035mr2700022b6e.6.1776792459356;\n Tue, 21 Apr 2026 10:27:39 -0700 (PDT)","From":"James Hilliard <james.hilliard1@gmail.com>","Subject":"[PATCH v2 00/13] target/mips: add missing Octeon user-mode support","Date":"Tue, 21 Apr 2026 11:27:27 -0600","Message-Id":"\n <20260421-mips-octeon-missing-insns-v2-v2-0-a0791df188c9@gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIAAAAAAAC/yXMQQrCQAxG4auUrA0MUVv0KuJCY1ojmCnz1yKU3\n t1Rd+/bvIVgxQ10bBYqNjs8R4VsGtL7JQZjv1WTJGnTThI/fQRnnSxHbcBjYA8EeBbeW3vYdl3\n SXpTqYizW+/u3P53/xuv6MJ2+T1rXD2CyRfiAAAAA","X-Change-ID":"20260420-mips-octeon-missing-insns-v2-5e693770cf2c","To":"qemu-devel@nongnu.org","Cc":"Laurent Vivier <laurent@vivier.eu>,\n  Pierrick Bouvier <pierrick.bouvier@linaro.org>, =?utf-8?q?Philippe_Mathieu?=\n\t=?utf-8?q?-Daud=C3=A9?= <philmd@linaro.org>,\n  Aurelien Jarno <aurelien@aurel32.net>,\n  Jiaxun Yang <jiaxun.yang@flygoat.com>,\n  Aleksandar Rikalo <arikalo@gmail.com>, Huacai Chen <chenhuacai@kernel.org>,\n  James Hilliard <james.hilliard1@gmail.com>","X-Mailer":"b4 0.15.2","Received-SPF":"pass client-ip=2607:f8b0:4864:20::230;\n envelope-from=james.hilliard1@gmail.com; helo=mail-oi1-x230.google.com","X-Spam_score_int":"-17","X-Spam_score":"-1.8","X-Spam_bar":"-","X-Spam_report":"(-1.8 / 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 FREEMAIL_ENVFROM_END_DIGIT=0.25, 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 series updates MIPS linux-user unaligned-access behavior and fills\nin missing Octeon user-mode instruction support used by existing Octeon\nbinaries.\n\nThe first patch models the Linux/MIPS MIPS_FIXADE policy so user-mode\nunaligned scalar accesses default to software fixups and\nsysmips(MIPS_FIXADE) can toggle SIGBUS/BUS_ADRALN behavior.\n\nThe Octeon patches add integer, indexed memory, atomic, multiplier, COP2\ncrypto, CHORD, and LLM support. The series also adds a small\nmips64/mips64el TCG guest test covering representative Octeon integer,\nmultiplier, and COP2 selector paths. The final patch corrects the\nOcteon68XX CP1 feature bits and FCR defaults.\n\nChanges since v1:\n- Split BADDU/DMUL destination fixes into a preliminary patch.\n- Split the SEQ/SNE decode refactoring into a preliminary patch.\n- Moved Octeon multiplier state to uint64_t arrays and updated VMState.\n- Switched Octeon helper ABIs to i64/uint64_t where applicable.\n- Moved COP2 selector decode/support logic into octeon_translate.c.\n- Converted Octeon translator TCG ops to explicit i64 forms.\n- Added in-tree TCG tests for mips64 and mips64el linux-user.\n- Used switch ranges and g_assert_not_reached() for SHA3/ZUC shared\n  selector handling.\n- Dropped Octeon prefixes from generic Camellia helper routines.\n- Replaced the reflected GFM 64-bit carryless multiply loop with\n  crypto/clmul.h.\n- Moved the Octeon68XX CP1 CPU-model correction to the end of the\n  series.\n- Added migration coverage for Octeon COP2 crypto and LLM sparse state.\n\nSigned-off-by: James Hilliard <james.hilliard1@gmail.com>\n---\nJames Hilliard (13):\n      linux-user/mips, target/mips: honor MIPS_FIXADE for unaligned accesses\n      target/mips: fix Octeon arithmetic destination handling\n      target/mips: split Octeon SEQ/SNE decode\n      target/mips: use explicit i64 TCG ops for Octeon translation\n      target/mips: add Octeon arithmetic and memory instructions\n      target/mips: add Octeon LA* atomic instructions\n      target/mips: add Octeon COP2 crypto core support\n      target/mips: add Octeon SMS4 crypto support\n      target/mips: add Octeon SHA3 crypto support\n      target/mips: add Octeon ZUC crypto support\n      target/mips: add Octeon Camellia crypto support\n      target/mips: add Octeon CHORD and LLM COP2 support\n      target/mips: expose Octeon68XX floating-point support\n\n MAINTAINERS                                   |    2 +\n linux-user/mips/cpu_loop.c                    |    5 +\n linux-user/mips/target_syscall.h              |    3 +\n linux-user/mips64/target_syscall.h            |    3 +\n linux-user/syscall.c                          |   60 +\n target/mips/cpu-defs.c.inc                    |   10 +-\n target/mips/cpu.c                             |   75 +-\n target/mips/cpu.h                             |  249 +++\n target/mips/helper.h                          |    6 +\n target/mips/internal.h                        |    3 +\n target/mips/system/machine.c                  |  142 ++\n target/mips/tcg/meson.build                   |    1 +\n target/mips/tcg/octeon.decode                 |   47 +-\n target/mips/tcg/octeon_crypto.c               | 2479 +++++++++++++++++++++++++\n target/mips/tcg/octeon_translate.c            |  704 ++++++-\n target/mips/tcg/op_helper.c                   |  105 ++\n target/mips/tcg/translate.c                   |   23 +-\n target/mips/tcg/translate.h                   |    1 +\n tests/tcg/mips/Makefile.target                |   11 +\n tests/tcg/mips/user/isa/octeon/octeon-insns.c |  216 +++\n tests/tcg/mips64/Makefile.target              |   20 +\n tests/tcg/mips64el/Makefile.target            |    8 +\n 22 files changed, 4129 insertions(+), 44 deletions(-)\n---\nbase-commit: 98b060da3a4f92b2a994ead5b16a87e783baf77c\nchange-id: 20260420-mips-octeon-missing-insns-v2-5e693770cf2c\n\nBest regards,\n--  \nJames Hilliard <james.hilliard1@gmail.com>"}