From patchwork Thu Oct 19 16:16:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 828193 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="kXe0+bwH"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yHvLY3Lnrz9t4P for ; Fri, 20 Oct 2017 03:21:09 +1100 (AEDT) Received: from localhost ([::1]:50064 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e5DZD-0004IG-F1 for incoming@patchwork.ozlabs.org; Thu, 19 Oct 2017 12:21:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54991) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e5DYE-00048G-Rr for qemu-devel@nongnu.org; Thu, 19 Oct 2017 12:20:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e5DYB-0000uN-IZ for qemu-devel@nongnu.org; Thu, 19 Oct 2017 12:20:06 -0400 Received: from mail-bn3nam01on0080.outbound.protection.outlook.com ([104.47.33.80]:65476 helo=NAM01-BN3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e5DYB-0000tw-C1 for qemu-devel@nongnu.org; Thu, 19 Oct 2017 12:20:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=zLYCKcAJzCfWdKpczN2Qj5oRKyI2V5zeW+g+WqPm2Ss=; b=kXe0+bwHF36g8ow3eTHARCud10LwearSS1Kd1nSlc90rFbHBD/UjEztyyz3cdNXsDx12J8VEZtddtgZNswx/7WzgMpxAYF66w76ONXVcO1RjR8fITnuzO06Gp42s3FGYgh9xgewhDdL71uL+VNcL9fw9urA6RCTiD6l/W4ug6kY= Received: from CY4PR02CA0012.namprd02.prod.outlook.com (10.169.188.22) by BY2PR02MB1332.namprd02.prod.outlook.com (10.162.79.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Thu, 19 Oct 2017 16:19:59 +0000 Received: from CY1NAM02FT037.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::209) by CY4PR02CA0012.outlook.office365.com (2603:10b6:903:18::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.77.21 via Frontend Transport; Thu, 19 Oct 2017 16:19:59 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT037.mail.protection.outlook.com (10.152.75.77) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.77.10 via Frontend Transport; Thu, 19 Oct 2017 16:19:59 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1e5DY6-0008Ua-Jn; Thu, 19 Oct 2017 09:19:58 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1e5DY6-0002SQ-Ey; Thu, 19 Oct 2017 09:19:58 -0700 Received: from xsj-pvapsmtp01 (xsj-smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id v9JGJuKv003123; Thu, 19 Oct 2017 09:19:56 -0700 Received: from [172.19.2.220] (helo=localhost.localdomain) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1e5DY4-0002S6-6z; Thu, 19 Oct 2017 09:19:56 -0700 From: Alistair Francis To: Date: Thu, 19 Oct 2017 09:16:03 -0700 Message-ID: <136f534d6337e148924913a06c43b2e06fcebb4c.1508390588.git.alistair.francis@xilinx.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-23404.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(39860400002)(2980300002)(438002)(199003)(189002)(76176999)(48376002)(356003)(106466001)(81156014)(2906002)(77096006)(39060400002)(106002)(36756003)(63266004)(6666003)(50466002)(81166006)(16586007)(54906003)(8936002)(8676002)(5003940100001)(4326008)(478600001)(6916009)(118296001)(47776003)(316002)(50986999)(5660300001)(33646002)(50226002)(2950100002)(189998001)(2351001)(9786002)(36386004)(305945005)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR02MB1332; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT037; 1:iijRnS6L9z+OACdSLyTbJXEGhFZofCpfw2AfgfvCEs/LgRzOzlFIx8aEFM87GadRIBasCF+iJBxR2nObId7wJYdQjVQCquGvFd6Npw/+FSjjcycCgmMYvCEN8Eva85bK MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 615f9d91-8ed3-42b5-9378-08d5170d3ea2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254168)(8251501002)(4534016)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199)(201703131423091); SRVR:BY2PR02MB1332; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1332; 3:AwsX7ONumXPuBlHiMg98MkxBo7c2/UAIXPGkYNj4YMqUFPBTCZO0O9q+v40+b+7WHTMkPuf4xpEoEcUmCpdpldnelYmlrBTRLydqhuRtRNPKodrjXWWp6N9Vy+UGW7eRIc5JeYB6lTbZx8+ymUiCsO8axOaSYgGGOgu8Gpig8y8uGGdTGzVcEQTME/B0bHHSYG+DtOycyJSknJXC/OkIC3WmpzOllZwDjgwSMFAOfiq5wb6QHtQnwBAJTH049II3AMMSSB1tBfzKv+NXlyBfjZaIIGKIbWzD/yq4F0OwZYUnethPQFrV7eyxiRameXRWZhLbzH5Shqm69z2cJ9uoz5rkpJsFatnT9EyGsNPJLQ0=; 25:144gy/TI6UpqRBPfjmu5t2jv/p+XuLiOvWfJprBkJVze6Ag0A8ODJthRN5B1p3ElrDpirGHFW3/JPzOF1d16mAigFE0RD8knhb7AU4sq9RyjJdwrZL7KEXtuVyav+H/w8slMZ5uTHoTWWcmMzZHxU0nkl7LSma2nzC0nPhGvX1qmkULpvZkJstZpPL9aAkj1AykIBBF0jg7G5cdPhSoAzXjJwbk5Vb/jZhooHoE+P7yf71wTjFEmV/BCuM32OJaNJgtEii2PoeAkwnGRAFMw1zn1xWYp92Mtbb3rJVhqWdFOLqVTNQQ8QaFSm/JME+NXvKNR410gm4vsdhBudC+N/g== X-MS-TrafficTypeDiagnostic: BY2PR02MB1332: X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1332; 31:1Z9tmUHuSgYCZgMD8T7y0Wvkgm6bi44Iz2jP0tPj3qQsvwALQYjBw8c6FbGFf9tFmA1ce0jKsoX7fJc2WPjeW0tC9OZ5lIUhxbRnlGBHLWjsbbdcTlaLscMoleuKjq0Wmbic/0cGmjpABhOnShgKKJe/0pDgtBi0o1dcB0nW4tWNtDN2hHmLMrkQxwfZeo7V0YQEM5xMMVI9VOSTohnB/8uB+DwlshxzxYcmWvUZBbM=; 20:QDzkE9ryI82OBHoHBLEBr9c90ncOeHbqR1BLoL7saJRRjRWZO/aK73qf0z2hEeKC4W11eIZhCwyKO1P5RlvsknqjEEWNALZtx8YU6FFc8yj0dzlLxfzUwA2XxZxkfOnerhDUBsBN7PnerUTChXUSPdlfymy42vTalXGzc7C9EzWez6Up+NzKzIEjVcaTU7nVUEnQ/b1A0Vmdxoyf6JjuOw0oaohWDHa+tYwlBiRBVfcPK17O5Rq54JaX6BLisNMW0Ebt+E88zXVmQV97lwC1DwQaL6dpeKH5SpEIK6BU9fQt4myFQPXRszvmNpPfJR1p7ZSEYMQhoJ02kg0XwoqbZpfEjoDbaonwooYnu39DTV/tlnzFXcwQ9K5ap3Qw01o3nmvez1j6U+EvvseS8ZqMmVffy/MB+mdKkLhA7J2kOcwXDjoTnegYK1SR3Er+kcyVli6jJjtvIHqu0qLJdYioSMYHQ0QCHy2vqOE6XtULuZJ6NlP5SqFKSWJcnxnLc2K7 X-Exchange-Antispam-Report-Test: UriScan:(788757137089)(192813158149592); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93004095)(10201501046)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123562025)(20161123560025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR02MB1332; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR02MB1332; X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1332; 4:hX6xLFQLFquNUmji3BG1spxO3ckMiEEiqHIPGV66JHzht6J+NGjmKuZsaK4rTQuhQWIftxTaREugrURp+lPwhIaIKJ1nROFFUyxBbgoa9htqCDBuq+h0ad+AEfUjiG9w5Uy9O/HRcrOgeUolMLsJFwJEY4ENq8ZUABofjyrEB/cXS/1+zPDjE2NbGbNc3qLfaOYgexSpZcUiq8x69/0ASuH3o0Ca6w5p8+UaXYaPvUmDrBxyKg3C5mZ+mbLHxxl2kh1D5yumPpdNCv8CprHZ89tLkU0ayhyFNjxUv5Jhl11+Gg0UFssWeGUoK843t23e3owOBdYpl0wWQymnZU6nhA== X-Forefront-PRVS: 0465429B7F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR02MB1332; 23:UazGG4mtuuwo8UuhN/JKzRxb8ClQbVkfkqxYdSp5U?= c5NyeM2X3CEetnWynRKlUUwWhDWn9Q85iCF2mYN9NHtyN4i/c5quCVQqjtU2KCC13aSDRBRNbfNJcPhCsqflGj3ZT1HLfIO92J8pk0GhcABuryzt+2LKafuoJDKBxZHfCl3eCGjHm5GMG6AHhFC5O6pmcz4cG7seUIevLG8uG21150jBJ3iW5pS6U49bfJPDQqS5dcpnIE0DCwsf1cfhb68f1lKyDOzF+hFnSlogKkynDBgqtbwWehDFnpYH+eiUPvf6S7uX98naSq4Me4q1Q4yQtOLMan/8gl3cfOsh/4tC5FXrZefjsJNe2qI5ppMaMDj0SG5SPJqY+0SR8fcTuQam/0aylC/cU2sQc3VBuMcKPpHH1k5G03wvxaMJNwAN+z//JbuQEOFex32LGzXuzinIWkbn1z32jZQ6yZjJw775J5elRX6j1toAz3Jphf0ygfY7SqwQ5sCthy5U52rNgZ8H80qKOlpkVi2HG+kRxO7eZd8066St3WerxqY19uc4WihyiI1zr1SPXLxNCxUyROCoiV6XJ7mnMNz3+6k62kfp/QBXv+ui1bpDMJgkqgiTZZ8vzYLcjvr7PMCXef8Lp7DKyCooHPdXRifTpIMQNHAmK/pjGZuRu1QGoLaDdcssX9SOAmP5sdXmQuR3WfmLsPgjn69COvZ3Q4yJ0luuvSVL4AwQP9rxHlW0xC883Yoo4qUP39XKHtIRur3CQ0uK3s2gc+B40AFznZpRXP2GdqcDvG53wni76BdplBfc3dl06QpbFz0BT67brXcBIqmfa+1cB3VFqdIm2QdD2pBtIWXQGmF7+3SsCA45ns98dT3mJv76tXkgsR00q0qTAZBbMwidO3pTwSx+LQqQdIWA+5Y/jy/FKY9MguW7r0h9N50zMfmRb4a2yN6EFIjJ/q3UGobSobY5OsLQLSXASxVYmtRM97nWOYR7Sw6SVe27NdyrSt/b/oDgCKSBdywNGeZO691+WXbm7HehkcrCR2UABFH3+K3fgmYL6o2sKo1heUlvQ8= X-Microsoft-Exchange-Diagnostics: 1; BY2PR02MB1332; 6:Sz0CCTwgYb6slgwp+yggvDoBXcOMGXzX+pSJSuIyoOCeRD9iqRq2VleOlr/DrmFPE287ZzFGIbjdKDslOJasUYUpk2J6SRkkqBb8pMeC4ZgdAdwQPfcZJP1e+OJcSyn8+XgEAYXWRKLRUaEoa26A+LUuXJdrf0GNvwXdN8BuYjN0N2iXoB1oQpKDJQDTTyUDpbdfbSNipzfdQ/Ur0mcXJFU6mO4x5+0UXbB/he65fN4Pa+Zr97O7vaT5nXg4EEUSyi+nYexMASb6/NcdFulhV/brDgWVQpvJG+2sBI+cfxjclcEVat2zdy0iGW63cG8u69HuddKioQxQYQUVMZeHkg==; 5:pkQ4zGkcc+k3A6Mq3GCDbbqRTS1j56yMroUr1ZnBEw/ju8SQRN0RZOl9NmL/xnricV/zohF6Me7yVbibP1Jv2TTxH0J3iOh2jRN/ptb34ShUgnPrSKIjWXl33Z0wD4+fQzrTRlfjh9xAgsP6gL6TiA==; 24:vjdCkoN2gwbth+igi+EztHXEhYTvnj0CkaN8jO/TdaLKtLe73hfLIbp/kARBDKgFohv+OuCuNthMJ/lzLpfUo17fJsnl9XtxO86huxGe4xs=; 7:IUjUViuBiKiU8UH6lkD6C2OQ14RxgTOLkbUfKbFBRdEnd81iSHIZyQHsGrgRrjqyC8FaSaUeB+fXcnT3Mw2qMpvLPIlrFi9uLOAjc8BecBiM6wAYI+4gjNDVBtpx8gY5GfCq9OMbTEYbBiNccXs/K1DglRzaVqlNX2IVwHRMakbqaGo0n2URJtURTDjCDQ/MIHjToNvn3nGMlkc/rd96R5WI37SjqO6kOh7QeDs0t4Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2017 16:19:59.2055 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR02MB1332 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.33.80 Subject: [Qemu-devel] [PATCH v3 08/46] hw/char: Replace fprintf(stderr, "*\n" with error_report() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Paolo Bonzini , armbru@redhat.com, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Replace a large number of the fprintf(stderr, "*\n" calls with error_report(). The functions were renamed with these commands and then compiler issues where manually fixed. find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + Some lines where then manually tweaked to pass checkpatch. Signed-off-by: Alistair Francis Cc: Paolo Bonzini --- V2: - Split hw patch into individual directories hw/char/mcf_uart.c | 5 +++-- hw/char/sh_serial.c | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/hw/char/mcf_uart.c b/hw/char/mcf_uart.c index 56fa402b58..14cb051be9 100644 --- a/hw/char/mcf_uart.c +++ b/hw/char/mcf_uart.c @@ -6,6 +6,7 @@ * This code is licensed under the GPL */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "hw/hw.h" #include "hw/sysbus.h" #include "hw/m68k/mcf.h" @@ -174,7 +175,7 @@ static void mcf_do_command(mcf_uart_state *s, uint8_t cmd) mcf_uart_do_tx(s); break; case 3: /* Reserved. */ - fprintf(stderr, "mcf_uart: Bad TX command\n"); + error_report("mcf_uart: Bad TX command"); break; } @@ -189,7 +190,7 @@ static void mcf_do_command(mcf_uart_state *s, uint8_t cmd) s->rx_enabled = 0; break; case 3: /* Reserved. */ - fprintf(stderr, "mcf_uart: Bad RX command\n"); + error_report("mcf_uart: Bad RX command"); break; } } diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c index 835b5378a0..7bb3f3c70b 100644 --- a/hw/char/sh_serial.c +++ b/hw/char/sh_serial.c @@ -25,6 +25,7 @@ * THE SOFTWARE. */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "hw/hw.h" #include "hw/sh4/sh.h" #include "chardev/char-fe.h" @@ -190,8 +191,8 @@ static void sh_serial_write(void *opaque, hwaddr offs, } } - fprintf(stderr, "sh_serial: unsupported write to 0x%02" - HWADDR_PRIx "\n", offs); + error_report("sh_serial: unsupported write to 0x%02" + HWADDR_PRIx "", offs); abort(); } @@ -290,8 +291,8 @@ static uint64_t sh_serial_read(void *opaque, hwaddr offs, #endif if (ret & ~((1 << 16) - 1)) { - fprintf(stderr, "sh_serial: unsupported read from 0x%02" - HWADDR_PRIx "\n", offs); + error_report("sh_serial: unsupported read from 0x%02" + HWADDR_PRIx "", offs); abort(); }