{"id":2232109,"url":"http://patchwork.ozlabs.org/api/patches/2232109/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260502-ioctl-v3-5-a05d4cb1bdff@bsdimp.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":"<20260502-ioctl-v3-5-a05d4cb1bdff@bsdimp.com>","list_archive_url":null,"date":"2026-05-02T17:09:26","name":"[v3,05/19] bsd-user: Add FreeBSD cryptodev ioctl definitions","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"832108d4775885c6ba0ccfbf6a3c1bdec4433273","submitter":{"id":1896,"url":"http://patchwork.ozlabs.org/api/people/1896/?format=json","name":"Warner Losh","email":"imp@bsdimp.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260502-ioctl-v3-5-a05d4cb1bdff@bsdimp.com/mbox/","series":[{"id":502541,"url":"http://patchwork.ozlabs.org/api/series/502541/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502541","date":"2026-05-02T17:09:22","name":"bsd-user: upstream ioctl","version":3,"mbox":"http://patchwork.ozlabs.org/series/502541/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2232109/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2232109/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=bsdimp-com.20251104.gappssmtp.com\n header.i=@bsdimp-com.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=ByqQZbR5;\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 4g7Dxv2p8Xz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 03 May 2026 03:13:07 +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 1wJDsH-0007px-LQ; Sat, 02 May 2026 13:11:29 -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 <imp@bsdimp.com>) id 1wJDsD-0007oG-CZ\n for qemu-devel@nongnu.org; Sat, 02 May 2026 13:11:25 -0400","from mail-ot1-x336.google.com ([2607:f8b0:4864:20::336])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <imp@bsdimp.com>) id 1wJDsB-000733-Jj\n for qemu-devel@nongnu.org; Sat, 02 May 2026 13:11:25 -0400","by mail-ot1-x336.google.com with SMTP id\n 46e09a7af769-7de4e6c5a30so2513892a34.0\n for <qemu-devel@nongnu.org>; Sat, 02 May 2026 10:11:23 -0700 (PDT)","from rebo.bsdimp.com ([50.253.99.174])\n by smtp.gmail.com with ESMTPSA id\n 46e09a7af769-7deca824746sm4334355a34.11.2026.05.02.10.11.21\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Sat, 02 May 2026 10:11:21 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=bsdimp-com.20251104.gappssmtp.com; s=20251104; t=1777741882; x=1778346682;\n 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=mkPA8V+7C3m5QleVajXQsNNex2rC66SfXPEGWND4dF4=;\n b=ByqQZbR57Uf2ch5bn8oW0IgryKpxWtxxAeCZQGke5zzbLjbEUrqlAY69k56stAR1G1\n 0ORE6gt5vRFMo495kg4RusynDIyVtiCbqL0zyRpPY2US3gHNVKIc9RIwPp892rcX0nVu\n AqYZstsc6GaheSnEPlusFocSXszRTsDtPdX7saHbeOwvy9CXIqmo1yWfGusHZ554X/GV\n +7Ib3Hn+PzowIjzGOirw4q5KBhjJqLTwFBGJYpVb2ghl9Pd80zLJbZNWZo14mRkDLjVG\n lBPt/qF5Lldd6aIEY+huap1GKtXRxXvtEg9AKuA8HB/8KSqhmzYyVQ1Lyf9A77QZrBm0\n 4Btg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777741882; x=1778346682;\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=mkPA8V+7C3m5QleVajXQsNNex2rC66SfXPEGWND4dF4=;\n b=JxIvYF/xMjX3hakE0FlktFTr2hlY9zDMuzNWwuyTfIKFTf0vkA/U3GjM2MAoIWVoNu\n ocuDfOt1bNUoPVttueIfj/Z081wIT8Z97MKUEfVmW1VNOaDWyiti6/9XXtCqB5igjmiu\n z1tQmkTa0sSIBrJLuR/uvZkbyg8xxPPVzCoC0nur1w1YKtxiuFMbw6li1ne8uVHa3MlM\n 1O+HlnGj9mQETl+WWUvRm29+MjM+A5detAQgq3pMXznrjHTT6SF5rV7GO7TpCJBv0N6n\n dK//TS0hMTyHLtew7JcdoEorcnTwCrrPDtEWMQBoW/HfYkusiMTyc6YbCVsmHQbRg+f2\n yFow==","X-Gm-Message-State":"AOJu0Yy1PtSlxAWFAFNVd0vYO3bkxp3dswS93dDMoLEN03qooRfBYMP8\n ZXZrUYiR0H95L1N4DHJVZ/NZJSl0qT8F+ypuXdxpj+s7UW5n+vE0i7W3QhMEvX0wfKoWmEzCUix\n L1sson6E=","X-Gm-Gg":"AeBDievrtMU3Y8WT16QTdFbs6xpcYuFByEYHJUwVINV/3FmdApgOSl0NeiGZqpzBfAe\n KRRodOAmNE14h+2c8MgSrkfbLtKWTP4AIeRY7Si9XZAr9zOAvv9r7gBqKAsf+cqDd2GQMfwgUwP\n MPgCQ0zmMIuzSqhZN5zF+nna+euZypbfVMr8Prr1IxpnYXdA6WoL87C5hKL/zL2FgcIBod6GWzN\n Eqb1JGU4aftU2Sa/o5XpTr5PWYJ9pYnhi1lJ12C2vKblGdW4oE63O3HNYk70OXi2qDVMAwhYPAW\n RHlEk8SA9mH/YTIMehz9q383c3Vx2HJvFFFGHXgRPcp2PrH8STpAr5D40v6VXAdQFuSuQyyBqS2\n PFJOS72u1Lc8gP7EpoZSX0BDmSwoX01VGjuquvxJjeGsL4o4sHEp62bukpU88gIpkIl0Yzvyvp3\n EPlJgumEDXnhftBPMDDTwqRED+sSVva0o=","X-Received":"by 2002:a05:6830:f91:b0:7dc:d0cc:922 with SMTP id\n 46e09a7af769-7dee14ca794mr2237472a34.27.1777741882096;\n Sat, 02 May 2026 10:11:22 -0700 (PDT)","From":"Warner Losh <imp@bsdimp.com>","Date":"Sat, 02 May 2026 11:09:26 -0600","Subject":"[PATCH v3 05/19] bsd-user: Add FreeBSD cryptodev ioctl definitions","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-Id":"<20260502-ioctl-v3-5-a05d4cb1bdff@bsdimp.com>","References":"<20260502-ioctl-v3-0-a05d4cb1bdff@bsdimp.com>","In-Reply-To":"<20260502-ioctl-v3-0-a05d4cb1bdff@bsdimp.com>","To":"qemu-devel@nongnu.org","Cc":"Kyle Evans <kevans@freebsd.org>,\n =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,\n  Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>,\n  Warner Losh <imp@bsdimp.com>, \"Stacey D. Son\" <sson@freebsd.org>","X-Mailer":"b4 0.14.3","X-Developer-Signature":"v=1; a=openpgp-sha256; l=3374; i=imp@bsdimp.com;\n h=from:subject:message-id; bh=X71S9SaJ1gGgE04Y4eHmNcZhYuOt8YwUIt9DjA6obmk=;\n b=owEBbQKS/ZANAwAKAWwc0Sh9sBEAAcsmYgBp9i/Pqdf7A1dnn98fML3D78yMJaH81y9VpLTVR\n TVFb1lbDviJAjMEAAEKAB0WIQQgNfiUsAqjz3zN4bdsHNEofbARAAUCafYvzwAKCRBsHNEofbAR\n ADUzEACqn7Ob1F/PqnNFzqWPGe9wa+3nrYmTwW1Wh+aytJSM6RbJdNuIZ0IodlgztLEfUcWLeIW\n P5EPpsl7pIIw9Sd0taNZsYqX8Mblwy9LR6J+Mg2PnI2SubOQu7cvDUZz/2+ia4ZTuf2WTUE4/Kv\n BoAr/2MJr9FnCol7tITqbegxo+BdR84mhbz5kBxsww45QUwkXNM6WaR03iQMtiEctU2EnGHXlrM\n DBA2SgJa2bcvuhQkDHxniOMw7q/awKu9RrPRjXBkmJF4y0OCe/nS2CKttnEFOdQQgPnIfEDI8Xd\n EcOWUrKDnqk845YeZaMn5wzpnNkuTom07sVDQDrv8FB8hsRpXcG4PHJvBRTpQUfZ8SRS/a88rUV\n BHrip/y5oVz0a2odeMjCgt4KdlWwRjeQG6f0uzYA4QoVlrm3uppJsWb8TNAfagA2Sr+wBouFIWB\n e0oooedVQuKUgeHzbtnPSuhww6zX4fXCqoH8FEwgM0LbI3KCNXq4DkSs9lYTPOsW8OOO+LBRmTn\n EukCuW53vOQL7YMb1m2oNLZo1dr9ORVkULuELUy4dhADF8HP2qIX+BYHFYz37hvhrm9+LwGtCIK\n 808FRebfBcgjsDFR2+yxFC0KtkfBOYoF7m8B/5/3goVXYK3ZlvxkBgJcI+szbGI54mnOG+pRp6Y\n zVx6scBJqv/MpOQ==","X-Developer-Key":"i=imp@bsdimp.com; a=openpgp;\n fpr=2035F894B00AA3CF7CCDE1B76C1CD1287DB01100","Received-SPF":"none client-ip=2607:f8b0:4864:20::336;\n envelope-from=imp@bsdimp.com; helo=mail-ot1-x336.google.com","X-Spam_score_int":"-18","X-Spam_score":"-1.9","X-Spam_bar":"-","X-Spam_report":"(-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_NONE=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":"From: \"Stacey D. Son\" <sson@freebsd.org>\n\nAdd os-ioctl-cryptodev.h with /dev/crypto ioctl definitions including\nCIOCGSESSION, CIOCCRYPT, and related cryptographic device control\nioctls.\n\nSigned-off-by: Stacey D. Son <sson@freebsd.org>\nReviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>\nSigned-off-by: Warner Losh <imp@bsdimp.com>\n---\n bsd-user/freebsd/os-ioctl-cryptodev.h | 84 +++++++++++++++++++++++++++++++++++\n 1 file changed, 84 insertions(+)","diff":"diff --git a/bsd-user/freebsd/os-ioctl-cryptodev.h b/bsd-user/freebsd/os-ioctl-cryptodev.h\nnew file mode 100644\nindex 0000000000..b81112150f\n--- /dev/null\n+++ b/bsd-user/freebsd/os-ioctl-cryptodev.h\n@@ -0,0 +1,84 @@\n+/*\n+ * FreeBSD cryptodev definitions for ioctl(2) emulation\n+ *\n+ * Copyright (c) 2014 Stacey D. Son\n+ *\n+ * SPDX-License-Identifier: GPL-2.0-or-later\n+ */\n+#ifndef BSD_USER_FREEBSD_OS_IOCTL_CRYPTODEV_H\n+#define BSD_USER_FREEBSD_OS_IOCTL_CRYPTODEV_H\n+\n+/* see opencrypto/cryptodev.h */\n+\n+struct target_session_op {\n+    u_int32_t       cipher;\n+    u_int32_t       mac;\n+\n+    u_int32_t       keylen;\n+    abi_ulong       key;\n+    int32_t         mackeylen;\n+    abi_ulong       mackey;\n+\n+     u_int32_t       ses;\n+};\n+\n+\n+struct target_session2_op {\n+    u_int32_t       cipher;\n+    u_int32_t       mac;\n+\n+    u_int32_t       keylen;\n+    abi_ulong       key;\n+    int32_t         mackeylen;\n+    abi_ulong       mackey;\n+\n+    u_int32_t       ses;\n+    int32_t         crid;\n+    abi_int         ivlen;\n+    abi_int         maclen;\n+    abi_int         pad[2];\n+};\n+\n+struct target_crypt_op {\n+    uint32_t        ses;\n+    uint16_t        op;             /* i.e. COP_ENCRYPT */\n+#define TARGET_COP_ENCRYPT     1\n+#define TARGET_COP_DECRYPT     2\n+    uint16_t        flags;\n+#define TARGET_COP_F_CIPHER_FIRST      0x0001  /* Cipher before MAC. */\n+#define TARGET_COP_F_BATCH             0x0008  /* Batch op if possible */\n+    abi_uint        len;\n+    abi_ulong       src;            /* become iov[] inside kernel */\n+    abi_ulong       dst;\n+    abi_ulong       mac;            /* must be big enough for chosen MAC */\n+    abi_ulong       iv;\n+};\n+\n+/* op and flags the same as crypt_op */\n+struct target_crypt_aead {\n+    uint32_t        ses;\n+    uint16_t        op;             /* i.e. COP_ENCRYPT */\n+    uint16_t        flags;\n+    abi_uint        len;\n+    abi_uint        aadlen;\n+    abi_uint        ivlen;\n+    abi_ulong       src;           /* become iov[] inside kernel */\n+    abi_ulong       dst;\n+    abi_ulong       aad;           /* additional authenticated data */\n+    abi_ulong       tag;           /* must fit for chosen TAG length */\n+    abi_ulong       iv;\n+};\n+\n+struct target_crypt_find_op {\n+    abi_int         crid;\n+    char            name[32];\n+};\n+\n+#define TARGET_CIOCGSESSION     TARGET_IOWR('c', 101, struct target_session_op)\n+#define TARGET_CIOCFSESSION     TARGET_IOW('c', 102, u_int32_t)\n+#define TARGET_CIOCCRYPT        TARGET_IOWR('c', 103, struct target_crypt_op)\n+#define TARGET_CIOCGSESSION2    TARGET_IOWR('c', 106, struct target_session2_op)\n+#define TARGET_CIOCFINDDEV      TARGET_IOWR('c', 108, struct target_crypt_find_op)\n+#define TARGET_CIOCCRYPTAEAD    TARGET_IOWR('c', 109, struct target_crypt_aead)\n+\n+#endif /* BSD_USER_FREEBSD_OS_IOCTL_CRYPTODEV_H */\n","prefixes":["v3","05/19"]}