Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1600608/?format=api
{ "id": 1600608, "url": "http://patchwork.ozlabs.org/api/patches/1600608/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20220303204400.2787389-6-sean.anderson@seco.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20220303204400.2787389-6-sean.anderson@seco.com>", "list_archive_url": null, "date": "2022-03-03T20:43:48", "name": "[05/17] arm: smh: Export semihosting functions", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "7e37a473878467f40139090a2dffec645ff67031", "submitter": { "id": 80860, "url": "http://patchwork.ozlabs.org/api/people/80860/?format=api", "name": "Sean Anderson", "email": "sean.anderson@seco.com" }, "delegate": { "id": 3651, "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api", "username": "trini", "first_name": "Tom", "last_name": "Rini", "email": "trini@ti.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20220303204400.2787389-6-sean.anderson@seco.com/mbox/", "series": [ { "id": 288836, "url": "http://patchwork.ozlabs.org/api/series/288836/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=288836", "date": "2022-03-03T20:43:44", "name": "arm: semihosting: Cleanups and new features", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/288836/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1600608/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1600608/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "bilbo.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256\n header.s=selector1 header.b=EAwhy/Vp;\n\tdkim-atps=neutral", "ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=<UNKNOWN>)", "phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=seco.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=seco.com header.i=@seco.com header.b=\"EAwhy/Vp\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=reject dis=none) header.from=seco.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=sean.anderson@seco.com", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=seco.com;" ], "Received": [ "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits))\n\t(No client certificate requested)\n\tby bilbo.ozlabs.org (Postfix) with ESMTPS id 4K8jgr07zMz9sG1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 4 Mar 2022 07:46:15 +1100 (AEDT)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 213A983D14;\n\tThu, 3 Mar 2022 21:44:57 +0100 (CET)", "by phobos.denx.de (Postfix, from userid 109)\n id 4C07883CBF; Thu, 3 Mar 2022 21:44:40 +0100 (CET)", "from EUR02-VE1-obe.outbound.protection.outlook.com\n (mail-ve1eur02on0604.outbound.protection.outlook.com\n [IPv6:2a01:111:f400:fe06::604])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id E241983CB7\n for <u-boot@lists.denx.de>; Thu, 3 Mar 2022 21:44:26 +0100 (CET)", "from DB7PR03MB4523.eurprd03.prod.outlook.com (2603:10a6:10:19::27)\n by AM6PR03MB3573.eurprd03.prod.outlook.com (2603:10a6:209:2f::10) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.26; Thu, 3 Mar\n 2022 20:44:24 +0000", "from DB7PR03MB4523.eurprd03.prod.outlook.com\n ([fe80::9130:93ae:6e27:e9a]) by DB7PR03MB4523.eurprd03.prod.outlook.com\n ([fe80::9130:93ae:6e27:e9a%4]) with mapi id 15.20.5038.014; Thu, 3 Mar 2022\n 20:44:23 +0000" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS,\n T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2", "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=MMAm52JHL7Uj9/EfhjBv2pOHgLk1Bilb1SCCGpz8V6UCIBirnm6YEup6v9C+hdnY9FrPmhVPDkBtWnvwGeNEtNVhK+BhKSgWnI27vDk0t8gMfp/xCL2dDB8iEtM7NhdMeF6LeE7SZ31ZI7dF8BlR5aOxWCs2r/NExKz6gD/4fNB4u5RC6ONpWZ/xB8c6Hr2qQx20FFywrLwf4G5AiIgJKVmbr3K2f4PBFURqpG6l3sJNbXIe64HSSv532t0dw+PGEC82CwQ8HEgRTwAWptDvsUa+JsU9wQhGuHEJuxHy30Lnr5KPLpSYPEKY8GD0TIecv8QtGE7yCIWAIt6jXCBkTA==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=ulS/ry1jVwmJPeAOgIncKdG1AVvjPpkrroXIqutkq98=;\n b=OpK67I11QfrvB3+6dcsHbGTY2jQwX1cA6uxLKq/djPd4R/gxsHWkQj+f6PIOoPBTwTDKOHL16363oiDRHpWHo3KRLxjfCFAV1+Nv54ZKt0rS44tTIEPh2wmPJ2KJMjJlYvLVz0vfwT7uxKUcVBtwRxMmEsW8kagXYbQbBMqug2zGTSC40lEO31TFnXxe2sQLVdleF7P0UnXVAD1AY2G4x/+5rInLAwFJ6yBwERGZkHMs8v+QYii9wFpDOccCm2efutO3dfSh26WM7kSMidMKw4GUu8yfD9BAXNnB6AV0FT4BK/lPHMN7jtfEu5C06mVxQMn2vu5LEnX0CEGrfUGucQ==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com;\n dkim=pass header.d=seco.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=ulS/ry1jVwmJPeAOgIncKdG1AVvjPpkrroXIqutkq98=;\n b=EAwhy/VpLjveqScLQ2NS6msdc7atW6WCgy3pDl/UPxcTyRtaOLZHyJqga6PYJVsn6m1wYVDySkNdPAqK6gWee9htpf+1RpaLJ24SRLhVyNgz1xc/8Vj4mi6idqP3CClClnzBc6aRM2hIkjyST61/rPB4KbpyWJkECZTV5177AUKASlx9UBke/sVOpr4jHjz64tft+0vWZD31mQGDKI5mehX92K/y1S4NfIj2eKXYYAtGhFHMfRJKBxmSgbl1cdWpi3hswwmVXwhYrPCzaG9y/pcmaA5AD/rjl+sErTh7TWfD+uc6G2rOaY0dAanyTFFwmWU0GCy/W0Oqm7No9no34Q==", "From": "Sean Anderson <sean.anderson@seco.com>", "To": "Simon Glass <sjg@chromium.org>", "Cc": "Linus Walleij <linus.walleij@linaro.org>, Tom Rini <trini@konsulko.com>,\n u-boot@lists.denx.de, Sean Anderson <sean.anderson@seco.com>", "Subject": "[PATCH 05/17] arm: smh: Export semihosting functions", "Date": "Thu, 3 Mar 2022 15:43:48 -0500", "Message-Id": "<20220303204400.2787389-6-sean.anderson@seco.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20220303204400.2787389-1-sean.anderson@seco.com>", "References": "<20220303204400.2787389-1-sean.anderson@seco.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "MN2PR16CA0013.namprd16.prod.outlook.com\n (2603:10b6:208:134::26) To DB7PR03MB4523.eurprd03.prod.outlook.com\n (2603:10a6:10:19::27)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "428d75a1-a44c-439c-0e71-08d9fd5699be", "X-MS-TrafficTypeDiagnostic": "AM6PR03MB3573:EE_", "X-Microsoft-Antispam-PRVS": "\n <AM6PR03MB3573006BFCB6F78133C3CF0796049@AM6PR03MB3573.eurprd03.prod.outlook.com>", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n MrXK6NJJhKwjIPFo+Le2OakK/MyZhTM6Ek/Q1huMPf537Ubd1osn83zgb+BemU5E9MDPh1nnf1G3NFABduJ3nNrmmmJKoaaUsY2KcRhqgYPL7UItuKKWcc14M9lf53C6+tMWQ+DuAph7m1lQjH+UxCn93y/4IZl5SSaQc4zlf5rZgOARB/t5r4v///BsixZaVs/eX4I1eByvVFE20SRfn9eMJDp9gT5hUmyIZgQugxnizseznOJlONkd28Qhtoc25yxUyVyb3zxF8aQrSYkHPg4y9IY3l9z3k/MqVg/hZi0KBIxdt/cwNE+Mp6Ay0Wkr9MK8hKkVjkV96YRI+RNZCiTKOA//0pdfz8BAK1qnbTCPJQyNwKnIYgnCMgDPaUgpFunfKa2m14hEaMEVu4rbQcwdhK2WJbxImrks1ZGDkOizjPpxboy8Pcd6+Z5NP366p83+cmssgNW/q6vq0m6Dvmxo/GNy7JMYBAvsq6P1jG2YpUnHFVHS5vQK/fgal8JBtcSjdeAlSDn2NcKE0YvInKpbxKMSU//dkXF0JyWuvp9u1FGWjNCaNFalos7cQWCE8dLKRQ/SJhkB/qMDd5REp3HYLCHmAdqLYFib68AvApZ4CsOdPgl99car05fKe4KWUZkon67VDEXWAcWvkodxNMLJqFITSi6pVaKBWNFMPpli2Ri5jx5rXtyNoX2J6zMn7bgOclsF7SR3i3gd+VGV0A==", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:DB7PR03MB4523.eurprd03.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230001)(366004)(6916009)(36756003)(54906003)(1076003)(2616005)(83380400001)(316002)(38100700002)(38350700002)(186003)(26005)(107886003)(4326008)(6506007)(6666004)(508600001)(6512007)(2906002)(52116002)(86362001)(5660300002)(6486002)(8676002)(44832011)(66476007)(66946007)(66556008)(8936002);\n DIR:OUT; SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n vihwIyNGUSksucxxcXnIc9GwJGmwkommPclG7+aDe9OF2ogr9kFiClvkc+splUhQOYH2orPMmty1espx5/++9QFn4S2EZJk45dZFCuDw3enhQaxJc4ocsyUMAP66E8vXFIHG4mTqY8DnPRYjRILdTjUkewZRYQo+BM4jVO92G6nnkm2RoOJfkEarDX3BMbL+cOGredhDGhua1B7JkrTSAPzINLoTTDiIuRxU2G8GNkSpWVJs/kov2I4d9rs87IbCyHO5abtqKgJ+XUahkg6cElqjTI8zfdtzKwbdH89fvB2uRaEmLaWgeSKIYDp0ztAYDxCCp+wx9BdoLRnQRzF3/7lTDAGdemwk4sEY5CM0qQlqJIL7rQbfhsLVH+ur+FvplM+/qkxcqWE3FXAN87MiGnv+w9QEzL5OvOuax3hgrUG8K7kUkqDP8pZxbeYrpteDsiSb8PfAQDIMZsiPl6YkYXLI1NWWv99dbNYhwAtQhufmhVecEKsqL9oWf5td8vgycAqLrhcPwG7PvmC+Qt3niyhvLWRnk6wFuY/cUEdOvkF22hRyT3zzDMzn6qXrE2k1LUp69scq7KHOm6ya3nzP/6QVyFfXm5YCU4lr6mUycxkw4enonOqk8wdeWWboZQ4EXyj/XIxGAyCunOKJZQoXfIj9TwKdc66BfEAJz6l3G9piLgsU+ekaBNeACiA3zn45faaVT/i2st740pOQipKRqCO5JNlYAAY41bwdRV0MOyd4E2OgDIvCWmtDTm6aVrLZT1Gxa0q2KMj4vFCNmuM+MjSj+iwGYYGaJSojSrDtKMUA7bgEHssagFkByKvcVPjaSiYmA6PvPXhY84ApaGAVeSj6R9cFdM8yH+BKUhaBsDvjLn3QnZz/cpZktyNtqnxd+weM2OsZO3S6XXPaPjH/wnBgNrzzknntYV1hITZ6riddg6SzlgBCZwzBHTO9b3kkjkaZE6G7glHThm629UorSoMNCWzcNslHABG0fEeq9xqDCGL0JHOutoxn1cSTM+I1qRxJUgaxioYmQU9q4K/tUg9JwUi4vtSXByOQWmjktaWxRTWE0lT4iJC86ISyATz4to5f9EOCP3qdgycENAdgv05gAW0uYRh819/Xz/FjIgDBLlWT7xmhDhHzVWWZt8lmUfkDmwIS8i2r0h1iCESFU64AUR2eoLnLlu8i5P1vdmFs8FvyaOYgTAkZsDEUd6l9B8z3vV9IlO1OoxLupWn60q7e8IpjDGjWGhiQXeJ4+kOj3qzXNyBzkO5sLl4rWM4pUTPQfqT09c0jNMD/0uh31O0iZSA4W0ptR5mo2ZY3RUo10yv8CPekhydtpSReHpnisGwVKzFY2FZTBootYJTF/xwhstTx9vi6yjyjuIfaupB1Vk4fg5eq97vWceLGCHHc2hYongyLiunneaaCh84q8SSG1UredS5sX2lIor0hYQAUUUKXluS/n2W0LSqf20WDRGV/zvxUSwTMqylN/CpuO7ViKp2qwHB8x0co8un/xf+d3v+c/ZLheLqtx8bzoO6G5y+hgYEJCL7fc4UP2Y3v+hFRIExnGbLEI+syMKtS4VFED6+lj4PDKN/fD6e+xzlX5a5MxylgOvojkvz7M6oMNotzzpWZATWpOU/B5GiJwSo=", "X-OriginatorOrg": "seco.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 428d75a1-a44c-439c-0e71-08d9fd5699be", "X-MS-Exchange-CrossTenant-AuthSource": "DB7PR03MB4523.eurprd03.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Mar 2022 20:44:23.9270 (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "bebe97c3-6438-442e-ade3-ff17aa50e733", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n MN+Y7E0bJisN6CKFgEseTQFgiAM7k+8M1RGlNq9MEbRJq/PyrV5upDixhNeJaAQXz/mzIroEzJ7sEQ2dW/QEow==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM6PR03MB3573", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.5 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "This exports semihosting functions for use in other files. The header is\nin include/ and not arm/include/asm because I anticipate that RISC-V may\nwant to add their own implementation at some point.\n\nsmh_len_fd has been renamed to smh_flen to more closely match the\nsemihosting spec.\n\nSigned-off-by: Sean Anderson <sean.anderson@seco.com>\n---\n\n arch/arm/lib/semihosting.c | 11 ++++++-----\n include/semihosting.h | 14 ++++++++++++++\n 2 files changed, 20 insertions(+), 5 deletions(-)\n create mode 100644 include/semihosting.h", "diff": "diff --git a/arch/arm/lib/semihosting.c b/arch/arm/lib/semihosting.c\nindex 9fd82459b2..c38892fdd8 100644\n--- a/arch/arm/lib/semihosting.c\n+++ b/arch/arm/lib/semihosting.c\n@@ -15,6 +15,7 @@\n #include <command.h>\n #include <env.h>\n #include <log.h>\n+#include <semihosting.h>\n \n #define SYSOPEN\t\t0x01\n #define SYSCLOSE\t0x02\n@@ -45,7 +46,7 @@ static noinline long smh_trap(unsigned int sysnum, void *addr)\n * Open a file on the host. Mode is \"r\" or \"rb\" currently. Returns a file\n * descriptor or -1 on error.\n */\n-static long smh_open(const char *fname, char *modestr)\n+long smh_open(const char *fname, char *modestr)\n {\n \tlong fd;\n \tunsigned long mode;\n@@ -84,7 +85,7 @@ static long smh_open(const char *fname, char *modestr)\n /*\n * Read 'len' bytes of file into 'memp'. Returns 0 on success, else failure\n */\n-static long smh_read(long fd, void *memp, size_t len)\n+long smh_read(long fd, void *memp, size_t len)\n {\n \tlong ret;\n \tstruct smh_read_s {\n@@ -118,7 +119,7 @@ static long smh_read(long fd, void *memp, size_t len)\n /*\n * Close the file using the file descriptor\n */\n-static long smh_close(long fd)\n+long smh_close(long fd)\n {\n \tlong ret;\n \n@@ -134,7 +135,7 @@ static long smh_close(long fd)\n /*\n * Get the file length from the file descriptor\n */\n-static long smh_len_fd(long fd)\n+long smh_flen(long fd)\n {\n \tlong ret;\n \n@@ -158,7 +159,7 @@ static int smh_load_file(const char * const name, ulong load_addr,\n \tif (fd == -1)\n \t\treturn -1;\n \n-\tlen = smh_len_fd(fd);\n+\tlen = smh_flen(fd);\n \tif (len < 0) {\n \t\tsmh_close(fd);\n \t\treturn -1;\ndiff --git a/include/semihosting.h b/include/semihosting.h\nnew file mode 100644\nindex 0000000000..3843863046\n--- /dev/null\n+++ b/include/semihosting.h\n@@ -0,0 +1,14 @@\n+/* SPDX-License-Identifier: GPL-2.0+ */\n+/*\n+ * Copyright (C) 2022 Sean Anderson <sean.anderson@seco.com>\n+ */\n+\n+#ifndef _SEMIHOSTING_H\n+#define _SEMIHOSTING_H\n+\n+long smh_open(const char *fname, char *modestr);\n+long smh_read(long fd, void *memp, size_t len);\n+long smh_close(long fd);\n+long smh_flen(long fd);\n+\n+#endif /* _SEMIHOSTING_H */\n", "prefixes": [ "05/17" ] }