From patchwork Fri Oct 27 20:40:13 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1856450 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=tsii1eIX; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=tsii1eIX; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SHF202nWXz23jP for ; Sat, 28 Oct 2023 07:41:28 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7CA548772C; Fri, 27 Oct 2023 22:40:54 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="tsii1eIX"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="tsii1eIX"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 97C6387755; Fri, 27 Oct 2023 22:40:50 +0200 (CEST) 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, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20610.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::610]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 894528772C for ; Fri, 27 Oct 2023 22:40:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=QIa9fNDU0GsnN2XNam00EShKWPSasw5vG41glYT0NNxXai+BIN3ziwMf1hChXndW8CsCPQ1psuJY5ddkwaH9G/IMDfFOdWSsNziF7K2uVxnp4xn+5vHFGkOJdxFi8wACuAdrx9FY0nGITSUpNbV1x8eeuTpfKmUKx1d3ZKKn9/vv38S2qH9PvovPb7M+95m9sH2i9ZkIanYPAHUtuDAHb4ZqNvHTLg8+Os6xWzOf/yGY9VELC1Wr1WdxcyR/3R1mcICt79V2PqEccsefgR/G0D5PqC4izOQFPC+iA+CG/fmQmxbDH8EGO03tsS1qmb5ULR4KeLnQTgI+9HzHsDhwjA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=eNFQrzbCH+RayZMWIhcGT5z0AG26E6qoeQP6sWRZjOs=; b=M0Urs5V8YmejJW3fMiaxWPzKZPsVRhn8RsUFGELBp+KpIkdgbKjNsxoJU/cblYoqMXkgtN3D5j1ixVrKad3uQNWoI3vp2bAVtzlpcTYDVVM11zkR1cGFObcEEBYlSIR9LzGGblH7SXUXlxJYWmhVC4iyjwuY9zMbLHy0cxhFhOdwFZ6AmWjvn+Tlif2PTlnRGp7HX3gN7Ij3AQ0t7QFn8uKu6DvlqZS+osVWj+rUldXYIaOVE+fPeS30pwcaOGvKzVi1GRpPHXw29j1PTloDNgeeraiuiGST2C3tlLn2dQknKI4FYMYJh36nheAvpGZMQjQ54DK/u3Y5MiwLZ/tGig== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 20.160.56.81) smtp.rcpttodomain=arm.com smtp.mailfrom=seco.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=seco.com; dkim=pass (signature was verified) header.d=seco.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=seco.com] dkim=[1,1,header.d=seco.com] dmarc=[1,1,header.from=seco.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eNFQrzbCH+RayZMWIhcGT5z0AG26E6qoeQP6sWRZjOs=; b=tsii1eIX2oEuGSavOGl5Rdej8s9Uyua8KyEJPD3GNhWELM3P+tjDxDU2s49jnRuS596Dyi0ngrrqy6qdC3P47rQSIV477vxUaYIrfFZRX8QhlIOA7w2IFX0VwlJFof3QEaTJFqx6TajIf4AIL60RdSia+HxA1NgvrP+4LbjKITe5WMhVoA12zEJR65nRl0OEStf+2smZNjhO0FKmqyLgR21iTvJa5/HmwdhLJFum/sp7+Tqs7bAk3sOsldFOYLMBpstQkLXe46tr9FqQrTrNogKngXqAw2EZud3vINS7GC9QeICToip6SgseOZVd2JojwhD07JPRGbbWabivNDhkzg== Received: from AS8PR07CA0019.eurprd07.prod.outlook.com (2603:10a6:20b:451::22) by GVXPR03MB10309.eurprd03.prod.outlook.com (2603:10a6:150:156::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.23; Fri, 27 Oct 2023 20:40:44 +0000 Received: from AM6EUR05FT041.eop-eur05.prod.protection.outlook.com (2603:10a6:20b:451:cafe::e) by AS8PR07CA0019.outlook.office365.com (2603:10a6:20b:451::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.9 via Frontend Transport; Fri, 27 Oct 2023 20:40:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.81) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.81 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.81; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.81) by AM6EUR05FT041.mail.protection.outlook.com (10.233.241.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.22 via Frontend Transport; Fri, 27 Oct 2023 20:40:44 +0000 Received: from outmta (unknown [192.168.82.133]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id B45EB2008009A; Fri, 27 Oct 2023 20:40:43 +0000 (UTC) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (unknown [104.47.51.168]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id D19F72008006F; Fri, 27 Oct 2023 20:40:31 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xrxoc2cXHFDBsg6V78mYPKvfvvd+gR31ePSSrqMYNR48FDd7vnQ7jaKQ87JXqFTO0w6fTkEZCbMEdWKG+ZM5fZhv/yjiBM/Bg5MngB8VhDwhyexqyrh6KBINTSEwPks3N3t14pmSfbxtwaFFaYQw7xEUYIfWNnUP6OHa2klfNq/01O5thl8FgbnUIEiHKnxPS7zDINAs86kUF+gl65DhybdI2uxWhs3r0DuiNCeMjypmV6MseLL7rBCJYhQlwZOZXWAKhXzglThyxBarPwcJeVi5T7w9iz+LxK5cRR+BytwpOfjX+vbydKl6LrM7ADMRp5jSYVYeCpHVFkppAtCO3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=eNFQrzbCH+RayZMWIhcGT5z0AG26E6qoeQP6sWRZjOs=; b=E7tB3Gtm1EdT6hKySEbEpJPjXlaNVnauM81YysZ7V8nq+7VzGgN+04tyU6upv1SkNpJGEY9kzi6GBnl76PAUSPyWCDFyZ6yUb3H9TVncWgEi6gRdfGSzrpWlMit0RzUJ6h7C6NPIgBJH8GNRv02kJXB2EZsTcjszE/86WRItIZcEUiD/FV91EFLX1NyCO59OR1NAZNeiRvW5JjiJFLxKQxrb3mznUmJ7G8UFtbOLrG6Xdr0P6TBZ8hfx9a8CW1lerXJjSTx0pJqWpiNqr6lgdCtRwVj9F5qwueksRuEdoGkRCIK8vYXR0ZUUbjC1+r/ehsRN2YuWHIdasq5CZHPefw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eNFQrzbCH+RayZMWIhcGT5z0AG26E6qoeQP6sWRZjOs=; b=tsii1eIX2oEuGSavOGl5Rdej8s9Uyua8KyEJPD3GNhWELM3P+tjDxDU2s49jnRuS596Dyi0ngrrqy6qdC3P47rQSIV477vxUaYIrfFZRX8QhlIOA7w2IFX0VwlJFof3QEaTJFqx6TajIf4AIL60RdSia+HxA1NgvrP+4LbjKITe5WMhVoA12zEJR65nRl0OEStf+2smZNjhO0FKmqyLgR21iTvJa5/HmwdhLJFum/sp7+Tqs7bAk3sOsldFOYLMBpstQkLXe46tr9FqQrTrNogKngXqAw2EZud3vINS7GC9QeICToip6SgseOZVd2JojwhD07JPRGbbWabivNDhkzg== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9211.eurprd03.prod.outlook.com (2603:10a6:102:325::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Fri, 27 Oct 2023 20:40:29 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::7d1a:d4ce:f301:582a]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::7d1a:d4ce:f301:582a%6]) with mapi id 15.20.6933.024; Fri, 27 Oct 2023 20:40:29 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Tom Rini Cc: Andre Przywara , Heinrich Schuchardt , Sean Anderson Subject: [PATCH 1/3] arm: Fix software interrupt handler Date: Fri, 27 Oct 2023 16:40:13 -0400 Message-Id: <20231027204015.1547595-2-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20231027204015.1547595-1-sean.anderson@seco.com> References: <20231027204015.1547595-1-sean.anderson@seco.com> X-ClientProxiedBy: SJ0PR03CA0181.namprd03.prod.outlook.com (2603:10b6:a03:2ef::6) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9211:EE_|AM6EUR05FT041:EE_|GVXPR03MB10309:EE_ X-MS-Office365-Filtering-Correlation-Id: 79bf9925-1f0a-4f77-48d4-08dbd72cfdee X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: NwGBL1nIxjG9R0SKphBZi38hDpNRrnbmQnYDteSGqzOEZoUsEl8PHBSd2iBhgjklgPJvS0Uw32bclih+hV9qn0Z821t++avXZTf5VmKq1g9r13XosCRUjDjzr1gqvsAfvPzVuXW9qPYyPKt/6pixexVVg5y30uNwIIAfN7BekjGUfqhpiH+aIiYveaCF29n4mLB1oXaK0+O+4pVf3cvZs3n7fvFGP26xSmf15bbM8nzcyAc2cOz9tVvSOgP7vrraj0DsZz5UugTFCIvqAAE0v0VqDPHc0Z4GzwKkPKuk6fJQhz69gc+LnLada+27kzB274xMcHyWnAxwxMmDLhnOVtzBEKxadF3KDxPlm6AQrDT+SQfw6nlveYdoP0tSfmrDvtpqsn74zBHRJnt+GF2JmMNVG2s4oKfQXRh5qLcjAHN4bkjowM3YAOXg1DA5U4HoZKqEjfSlCQs+eMRWzsL3TOY4L02LRC6BhXnM3fYmTeVYz/BTstwsffXg9Bt/UNwBhEpoNq2rzhmOCh6+7y0KJ4ouKNRqhSodeBtkASyeDJ6L29xQXimMwbalV/qczkjVu90zxz0mt9SQTxnMJIidDqxfLk5Y3N+WughRhrfALQ4dN1aUBqFINdodO77CbLmS X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(376002)(396003)(136003)(39850400004)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(107886003)(41300700001)(8936002)(8676002)(54906003)(6486002)(44832011)(4326008)(478600001)(38350700005)(2906002)(5660300002)(316002)(36756003)(66476007)(66946007)(66556008)(86362001)(6916009)(52116002)(6512007)(1076003)(2616005)(26005)(6506007)(83380400001)(38100700002)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9211 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM6EUR05FT041.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 33ea21da-beaa-4c1b-ef55-08dbd72cf4e6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q7JgGSC4pW3maHTnuOmDk+M72HLJAe8UIWU1+cn96e9/NLpCFOOBHEJWWlaQG3BLJEuJVz/V2fji6QCaqVUmRgIjTLXxonmgmaJ95CZzQnfp6AHgQS5XdEN3FSJocQABubdXumq0C4eoURpnT5G2y82GHD5AP/hZXdwroDb8/v7Gt3FFAH5G+TJh8NP8QUME8JRA6jPSfJhVqUsQzODzn9PHbbZyHr9KppHTF/9u6M1DocXr6cIyIumiD+FlexXF2a0xb2yqQVWi5u8pNX9FTFmQ8cHSn+2hlnAGNxkLrPuRVA6R77PT0I8pfTs+ChZjBtwfpHlh8zNagwuqIXJvfIlx+NxnCpKV8/tU0eVO9zK4fF9Tr/fYk8Y32vlw5j8TyLh+Dn08xxWIQzIT8PgwE465h5jEpIdw0QEsRFofLQY0n6S8cGVcOxkCbTzg0VC6HuHtSCFxj3UVR4tkEZgc67/0os9bp5vPXSmBbnkPByByrX/RwdhGN5Be4QnngDexEeRqWZJ7Pe3QLnHxr0j9F66qzPI76JPXSXwPUL4WqRrm92HsFzprrluhbXW1PWDHNcWYl58cgHfN32snx3z2aW2HqrgUWqrBgsz2w9SBNthlnXxuzOUoanrbO0A2xoQRVShGunoyPqOY6Dp9GCkhh8BdI8r5hRa8tABUuoaIx74ahkoIOyqXE61omCqsHb+sPmyrVXOHEGoM8sKLqdHRdvmc4QYgI0ELdn+h4/qa/l5hXtJM8ZwXfDeYNyQDrjNWnZoA7CtlO8GY0s5SMLpPAg== X-Forefront-Antispam-Report: CIP:20.160.56.81; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(82310400011)(40470700004)(36840700001)(46966006)(478600001)(36860700001)(6666004)(40480700001)(6486002)(6506007)(36756003)(2616005)(107886003)(1076003)(26005)(82740400003)(6512007)(40460700003)(47076005)(34070700002)(83380400001)(2906002)(5660300002)(44832011)(41300700001)(8676002)(8936002)(86362001)(4326008)(7596003)(7636003)(356005)(70586007)(54906003)(70206006)(6916009)(316002)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2023 20:40:44.1373 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 79bf9925-1f0a-4f77-48d4-08dbd72cfdee X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.81]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: AM6EUR05FT041.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10309 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean When we take a software interrupt, we are already in supervisor mode. get_bad_stack assumes we are not in supervisor mode so it can clobber the stack pointer. This causes us to have an invalid stack once that macro finishes. Revert back to the get_bad_stack_swi macro which was previously removed. Fixes: 41623c91b09 ("arm: move exception handling out of start.S files") Signed-off-by: Sean Anderson --- arch/arm/lib/vectors.S | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/arm/lib/vectors.S b/arch/arm/lib/vectors.S index 7cf7d1636f5..fe8ca403ac9 100644 --- a/arch/arm/lib/vectors.S +++ b/arch/arm/lib/vectors.S @@ -240,6 +240,18 @@ IRQ_STACK_START_IN: movs pc, lr @ jump to next instruction & switch modes. .endm + .macro get_bad_stack_swi + sub r13, r13, #4 @ space on current stack for scratch reg. + str r0, [r13] @ save R0's value. + ldr r0, IRQ_STACK_START_IN @ get data regions start + str lr, [r0] @ save caller lr in position 0 of saved stack + mrs lr, spsr @ get the spsr + str lr, [r0, #4] @ save spsr in position 1 of saved stack + ldr lr, [r0] @ restore lr + ldr r0, [r13] @ restore r0 + add r13, r13, #4 @ pop stack entry + .endm + .macro get_irq_stack @ setup IRQ stack ldr sp, IRQ_STACK_START .endm @@ -260,7 +272,7 @@ undefined_instruction: .align 5 software_interrupt: - get_bad_stack + get_bad_stack_swi bad_save_user_regs bl do_software_interrupt From patchwork Fri Oct 27 20:40:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1856448 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=d1g4UwwZ; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=d1g4UwwZ; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SHF1N5Qbwz23jP for ; Sat, 28 Oct 2023 07:40:54 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 64CDD87718; Fri, 27 Oct 2023 22:40:46 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="d1g4UwwZ"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="d1g4UwwZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 23FC487726; Fri, 27 Oct 2023 22:40:45 +0200 (CEST) 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, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on20610.outbound.protection.outlook.com [IPv6:2a01:111:f400:7eaf::610]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 00ABF876FA for ; Fri, 27 Oct 2023 22:40:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=kc2xFez2nUbfj99i03jVpM//8kuTlME7RforV4eM5mSo8twY47qNGH4YNz+VSNLGGzeZP0UTJzaHe7sVmdir0VC1tAvkzqKAsC0/nJtmRgQE9oOS3ARus5Q8+GKuy2/8HDqfoeuTN90+lfuVH/vvSBBxizyG2bE1wxImzAIC5gcRAVzGGmWwJJpp6L/HkViFtdx9nEZ9Y0O0G2tRusaYysGYEDrszKCINNWY0RqbFh/x4ZVAtA6pS5YOLg+RfYN3/bylN1I4Duku0/0FkibZOPe33QgsmxGefyae6GNMh9907r80zytTJl6WPxXBNfxbursHQEjsVdNn0r7pNsfmCQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=kJaGrgtMeGT3cUiEhoUC9KONVzDKnjbUJPGca3bsKL0=; b=KQOz1PIRRlb1ol0OXquJOq3wGMyJk2oeXVXpiYrjkasGQhJPBtY+lgeccXlsdsZ7doKrxjmdT3hLS1iHTF9NqUuUh99tr22issqpSgDsCsTwGc3Q5wMGkk3CmNk87abG/bYAfMom3CcTgyq3iowV+FUBri3tNCcCztpQwLGWtficObmV89J2zruv+cqGC3vSV2AstLoK1but/YBH0bb9o52T60YvkUXAXgyHxrwdgSZ+6JY9WUt1g4fbw7FGTTjTGapRpmKspR5/7AiqCz0mJqfnCigVUVNXSLprGSRntQAfoXLa8ZefAhWBc3Q5C+xRmic7EokrWoYJovH8fNXh9Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 20.160.56.81) smtp.rcpttodomain=arm.com smtp.mailfrom=seco.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=seco.com; dkim=pass (signature was verified) header.d=seco.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=seco.com] dkim=[1,1,header.d=seco.com] dmarc=[1,1,header.from=seco.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kJaGrgtMeGT3cUiEhoUC9KONVzDKnjbUJPGca3bsKL0=; b=d1g4UwwZ957bGhf8okTXkPms221Imt7GcJ+syHyn27SwzktXIfsINAfj2pktajPt4nT3SFUNEQAN7c8zkDdicKlnIBzsPu/IijJZs8ivx6GjjaBg57f286aAsGIDtHs/S31m3kVCqCcj9C9XWS10ZGSgG98Zead6EL7YWv/GzV1Ldg4AzSPFI2icf0xIX6yNHw/bQZwdSZ7KtiiebpHwvrCZudAj80ojZLlLfEPKSIHXB5DK5sEMEJ3UwpNDktX/k7qFOb0wbyfBIFss6iM1/vZOs2WB5oiA9Zn7CU1BOJKw/UxmT4/xjCnFywN/64AOWGn23z8JdkqwnCwURAVTrA== Received: from AS9PR05CA0101.eurprd05.prod.outlook.com (2603:10a6:20b:498::15) by DBAPR03MB6568.eurprd03.prod.outlook.com (2603:10a6:10:19b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.20; Fri, 27 Oct 2023 20:40:40 +0000 Received: from VI1EUR05FT019.eop-eur05.prod.protection.outlook.com (2603:10a6:20b:498:cafe::ac) by AS9PR05CA0101.outlook.office365.com (2603:10a6:20b:498::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.24 via Frontend Transport; Fri, 27 Oct 2023 20:40:40 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.81) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.81 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.81; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.81) by VI1EUR05FT019.mail.protection.outlook.com (10.233.242.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.12 via Frontend Transport; Fri, 27 Oct 2023 20:40:40 +0000 Received: from outmta (unknown [192.168.82.132]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id D08682008009A; Fri, 27 Oct 2023 20:40:39 +0000 (UTC) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (unknown [104.47.51.168]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 3D1982008006E; Fri, 27 Oct 2023 20:40:32 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cH+nZR+5+WAKyhFrhgXrc8UQlHYU2hW1iTrtXFMAQytnPAqE03ZVCQ3rHbz/lPSntUsyCL4gAEetca/CloZwr0YkVlmhyIoRIhuEX8bMhAag1RVXvxC5Bx5/gdTnPm2aQlE4xJ8P9R9B/1xZYbiWS+IJHpsKFmJ1XKv2dh0vtKWVFwj98UEyhiGNpepzb2wYKinCW9fdotlbVreS7CO2Jb5iU3XSh93zhng8ak1L+j47wpEaI1dhB3z3lhMdHE2JCay2XkwCaIdeHYUUnh0qUSbl5bQWhibm+MXXHR4AYgIVcIAa69VK4bKsq0ouRoqHptmeAkZcUpMZhs9xQkRxiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=kJaGrgtMeGT3cUiEhoUC9KONVzDKnjbUJPGca3bsKL0=; b=OUU/tqpxistLecatLOHLnyoIJ0Olpsy5mBCuzNUonrF+w+DIFbW35dprVl7qOnSYxKH7x8Uj7dUBqRp4PtVWDQvMIfM0WPc07TzL0uQQ/kphNFaShg29GHm9mWlxLH7LuBCx3f7ts6ShjUEoL5h5uuq3GWMYVu39+FgBQq/pqdDTStekPNtsiEvtOdOIx3QLJ/+uSvdxXwv/pAhjZOb8sV38RMB6YQqlvkk3wmXN3Akb20FyMNXU19xNDrXw9hcEGIUVITlWZU3DzMOKDgUox89CSp5fBBR90fr1oaCTfS5qYwmNTIvFyrUdF/Isa9hUzwUPFbG4kaPQZh7BaPka0w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kJaGrgtMeGT3cUiEhoUC9KONVzDKnjbUJPGca3bsKL0=; b=d1g4UwwZ957bGhf8okTXkPms221Imt7GcJ+syHyn27SwzktXIfsINAfj2pktajPt4nT3SFUNEQAN7c8zkDdicKlnIBzsPu/IijJZs8ivx6GjjaBg57f286aAsGIDtHs/S31m3kVCqCcj9C9XWS10ZGSgG98Zead6EL7YWv/GzV1Ldg4AzSPFI2icf0xIX6yNHw/bQZwdSZ7KtiiebpHwvrCZudAj80ojZLlLfEPKSIHXB5DK5sEMEJ3UwpNDktX/k7qFOb0wbyfBIFss6iM1/vZOs2WB5oiA9Zn7CU1BOJKw/UxmT4/xjCnFywN/64AOWGn23z8JdkqwnCwURAVTrA== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9211.eurprd03.prod.outlook.com (2603:10a6:102:325::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Fri, 27 Oct 2023 20:40:31 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::7d1a:d4ce:f301:582a]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::7d1a:d4ce:f301:582a%6]) with mapi id 15.20.6933.024; Fri, 27 Oct 2023 20:40:31 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Tom Rini Cc: Andre Przywara , Heinrich Schuchardt , Sean Anderson Subject: [PATCH 2/3] arm: semihosting: Fix returning from traps on ARMv6 and lower Date: Fri, 27 Oct 2023 16:40:14 -0400 Message-Id: <20231027204015.1547595-3-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20231027204015.1547595-1-sean.anderson@seco.com> References: <20231027204015.1547595-1-sean.anderson@seco.com> X-ClientProxiedBy: SJ0PR03CA0181.namprd03.prod.outlook.com (2603:10b6:a03:2ef::6) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9211:EE_|VI1EUR05FT019:EE_|DBAPR03MB6568:EE_ X-MS-Office365-Filtering-Correlation-Id: f0aac486-2f45-4acc-25db-08dbd72cfba5 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: gz5xKNO/fNelBqRzEITD4eB08U3Kd2VcXLZxU6RzPltdV0AyZgQK4fOQJ9UhEmgXydioPXmcflZ+mxyKJ+zbvu9dohFd2gl7TEEcs2Ml177VxY1JZAFMXCi6RU1L/VPYx5XsXhgmut0K+SvWiOwnd9nNmxEDsN1xBrAABTl51qAvFffOaH+F1BlSeXfjpYbxYUoojw+of1KIJWQ/KbRIMROA8aYT1IBCeBC3gFXl/6+veSOnL1Gfa9Txj9GjCZXPSH7HR40cnkuooBNQLhuaqwrWbF9b8Pt1rze2ktWj2c1B6umRaSh5dMhC4GofDDkzW7rVASXGWQgeQmslY1y/em6w08xvQxLo1ClwzsrTtK2baMbytVj5F6oxdLYihng6+rW/dvVCNJpkhGDroJV3JKVq1GR2q9hLElC65nqRwUqOO0Kw7dWuW+Il7BEgdZmRGXmDWSr5i6Sxu91JirqgXruoGebiO1YUHRE3c8mLQa36i3J9BczCdlAGyE5JEK6x1luz0RbuVJttghtFZuM/GNVVbM9kXcGEodIASLmYhr//2MvcWkddyeShIZ+ikLb6CimOe7GmPbGYOvcj6Hr3xW6lHzMkWj4dim6msKjXvPtF3Rq//FV6UHE7DXNzWl8L X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(376002)(396003)(136003)(39850400004)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(107886003)(41300700001)(8936002)(8676002)(54906003)(6486002)(44832011)(4326008)(478600001)(38350700005)(2906002)(5660300002)(316002)(36756003)(66476007)(66946007)(66556008)(86362001)(6916009)(52116002)(6512007)(1076003)(2616005)(26005)(6506007)(83380400001)(38100700002)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9211 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR05FT019.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c6392933-e9dd-49be-e16e-08dbd72cf61c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Rzo+5N+hB00XljYuy88NgP286bci+ZVLuSpZN3erfR3zedFqylZRjr+hk2B33uflk7kxYujbNIZ+kW9UCUzDF2vji1XmEzU2EcXOhYb/d/q0PtBajIDCU1nB/+FME0HQwPZhvRvz82ipUeYUUJ6XNUFJWcERcx3kF/IUPwgUhr2HprwHzDYd1kvcFFE4V6pqiF4nQiQDRZ5WwJKYNHrLGP72/EegM0YmkWE+8AdXrgmL/kazpcb4Mpg9i6SwoFSuhFpRQDAzQuRwMw1uSSPDmfDnPAo722ZwKeeAErbpBWoUEsxWAnzXeFvleY8iISj7yxrE8CgUEkuA4IC4qRM81qy2vuP+ENpIqEH/faKaPOXNbzf8GKbczifjz0uGq6AiIwuISEBB4yhi9F2kR+hEfwN8TLfdg4G1l5fJlglmJ4FjtCj713xaGelNCSpP0CsYA/VlLu+5nhkMZOvcf/S+bP3hHT3XUW3N04Bbcc9w1qHDMNy9B5E57lXWwVZzQDD/yOsMq/PbgDaU3P92ivg+Y2kv6xyEDW7/Csp6zUYWmVGs8J1xgxfR2BIbxYiQ8AztQurRkuFraxuzi7mVx0pazOdAesbXcV4W3Sv8fjegwBa5T6Teft1ecdTLpbKO8Ia1CBzZ9YBntNU4v5e8SD2ZxRX1tGCxCsOofyTyhf9NkMIIQnnx/MgzEiDYHFAlQ52XXjrm55wupr5NRCU51T+Fk64ZirF5PjRZXyi1IQffE1TJDYg8HiLaIJLMnS/tsmJa X-Forefront-Antispam-Report: CIP:20.160.56.81; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230031)(376002)(136003)(39850400004)(346002)(396003)(230922051799003)(82310400011)(451199024)(186009)(64100799003)(1800799009)(46966006)(36840700001)(40480700001)(44832011)(41300700001)(8676002)(8936002)(5660300002)(2906002)(36756003)(86362001)(4326008)(36860700001)(83380400001)(6666004)(6512007)(6506007)(356005)(336012)(6486002)(7636003)(26005)(7596003)(1076003)(82740400003)(478600001)(2616005)(107886003)(34070700002)(316002)(70206006)(70586007)(6916009)(47076005)(54906003); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2023 20:40:40.2713 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f0aac486-2f45-4acc-25db-08dbd72cfba5 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.81]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR05FT019.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR03MB6568 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean U-Boot runs in supervisor mode. On ARMv6 and lower, software interrupts are taken in supervisor mode. When entering an interrupt, the link register is set to the address of the next instruction. However, if we are already in supervisor mode, this clobbers the link register. The debugger can't help us, since by the time it notices we've taken a software interrupt, the link register is already gone. Work around this by moving the return addres to another register. Signed-off-by: Sean Anderson --- arch/arm/lib/semihosting.S | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/lib/semihosting.S b/arch/arm/lib/semihosting.S index 393aade94a5..6e1691a832c 100644 --- a/arch/arm/lib/semihosting.S +++ b/arch/arm/lib/semihosting.S @@ -18,11 +18,17 @@ ENTRY(smh_trap) #elif defined(CONFIG_SYS_THUMB_BUILD) svc #0xab #else +#if CONFIG_SYS_ARM_ARCH < 7 + /* Before the ARMv7 exception model, svc (swi) clobbers lr */ + mov r2, lr +#endif svc #0x123456 #endif #if defined(CONFIG_ARM64) ret +#elif CONFIG_SYS_ARM_ARCH < 7 + bx r2 #else bx lr #endif From patchwork Fri Oct 27 20:40:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1856451 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=L9nX+iBU; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=L9nX+iBU; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SHF2N4Q80z23jP for ; Sat, 28 Oct 2023 07:41:48 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id F11DA87755; Fri, 27 Oct 2023 22:40:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="L9nX+iBU"; dkim=pass (2048-bit key) header.d=seco.com header.i=@seco.com header.b="L9nX+iBU"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 950CB87752; Fri, 27 Oct 2023 22:40:52 +0200 (CEST) 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, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2062b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe13::62b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 0E0ED8774A for ; Fri, 27 Oct 2023 22:40:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=Ih7p9dRBVKeP5uJLyKwkVV1IPfCZm7PMBv+uxwNdLwD9TbEzLojm95v6vnn3Osb+y4j54YQrx5x/KFDf/eNCak6F89+whMZNxh78AiaG1LYOh0w0Z4BfW+03DHGoH/QBzfRNCKK4hCNXmJN/VWGU3PVLDO9jhYL9d6p63DeQDE71F0n6IRh6yzRFrFaANBpN2P2RvggRLeuEQqtp7yErrBAEpODw3fau5O6FVbMNbIJHXU0YFKmbUg4xY7KB4hxzSv6Iu+TawAu2Beal2bZ2vSR28rnKtF64pCwWl9bZSNBFOtVF5qlRsOKVRH76MFGWZ9muYW+O/jeUdf4+Qki/Iw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=1mNlZ5v9pnMIqLAD88nSsJxbPzCBC7hd1n/etc1AbXM=; b=PsOJiBNKicPjC+GWViPCA/eR9pz7R8jMhVY85cWzPdOvjOHzgz+OHzGAwNU96jT3vcXkHQxpxze2ebvwap0rM/yMYl+zLHamRfk7gD+kau5sJV8dfMJcz5mVTLLkjOx59O2MlZnRx1psAI9mDaq5Cboo8/S7jE+V6sAHwo1k0hPZCyexIwDeHx4PebmE9HufuJEsUkI61bY9mNgppfdU7Wr+Yq/yxUF+CiuEIl8HRcUdrmyzqy0+e+bRrlaj43EERRByG9TFUaCuh3kM0UOatLHjLxYfz5O0pH9de7OMRuhEzzRiN/yUOZrrcRxgNh4gCQjGFdn9v5Upd8+7LJAp9Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 20.160.56.83) smtp.rcpttodomain=arm.com smtp.mailfrom=seco.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=seco.com; dkim=pass (signature was verified) header.d=seco.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=seco.com] dkim=[1,1,header.d=seco.com] dmarc=[1,1,header.from=seco.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1mNlZ5v9pnMIqLAD88nSsJxbPzCBC7hd1n/etc1AbXM=; b=L9nX+iBUDdBqXDyQwDZQKIBLj3DgQ4864ZJsTe06STKDELm++0JF8rQaUCUlOJWRW6hENXiAUXDuRQ3sN8ZBWBaJ9MzU+NRCWX560U1o52ZJssimPW0vobzwA3E2J2LbkzQEF5Wtij4vJBYQmiIjy+Tt85oogTQyB0bxr0eyUiKefFSMKq8VzHz/+qisI8bNkCna8OYMt+0ISKfsa0XeTi3K7Ry6ycDgRA7Iljj57K97QaCZcUzh2jY+V4j6h+pJrSGx2zD80IjN6+d3+sLVDhNSEmMjKjJmW6AQignepTUxUtXDOK6SFjFt+17NU6WUSxmXSLLMekxenpLcCCF1Nw== Received: from DB7PR02CA0022.eurprd02.prod.outlook.com (2603:10a6:10:52::35) by PAXPR03MB8201.eurprd03.prod.outlook.com (2603:10a6:102:248::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.24; Fri, 27 Oct 2023 20:40:47 +0000 Received: from DB8EUR05FT012.eop-eur05.prod.protection.outlook.com (2603:10a6:10:52:cafe::c8) by DB7PR02CA0022.outlook.office365.com (2603:10a6:10:52::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.25 via Frontend Transport; Fri, 27 Oct 2023 20:40:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.160.56.83) smtp.mailfrom=seco.com; dkim=pass (signature was verified) header.d=seco.com;dmarc=pass action=none header.from=seco.com; Received-SPF: Pass (protection.outlook.com: domain of seco.com designates 20.160.56.83 as permitted sender) receiver=protection.outlook.com; client-ip=20.160.56.83; helo=inpost-eu.tmcas.trendmicro.com; pr=C Received: from inpost-eu.tmcas.trendmicro.com (20.160.56.83) by DB8EUR05FT012.mail.protection.outlook.com (10.233.239.1) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.22 via Frontend Transport; Fri, 27 Oct 2023 20:40:47 +0000 Received: from outmta (unknown [192.168.82.140]) by inpost-eu.tmcas.trendmicro.com (Trend Micro CAS) with ESMTP id DEEA2200813AA; Fri, 27 Oct 2023 20:40:46 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (unknown [104.47.17.104]) by repre.tmcas.trendmicro.com (Trend Micro CAS) with ESMTPS id 8B8652008006F; Fri, 27 Oct 2023 20:40:34 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JE7OY6R6SYOeJubCHREizZ1c3kH1fW/lnzsYuExlTWg2hoXI1fs2TvriKk52EXqdY3nGWTfvHqPw3hL6oTQ5DMB+hbyaMjU1rLsdgXkleQsy8IoQEWGHevJz5HupYGubkhnvhulxHUvc6hF0goiF+f3xgkVBYTcStfAHMBQG6Cy/gKfeIDX8ExCP9bIUiwA0K1guNH/cLQSoQ6Xdp9jFibhdjuVNq68CLPsOAxCeG+bf3AckO5ikRTTDQkfL9pW+wOFbFkfmjtQpOdP9pOsptM8FI/7VkbAns7brMNnW0ZR9aAGQ4nGxEzAy1rwroJbVk+ktG8rphdFOo1+2IBCPKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=1mNlZ5v9pnMIqLAD88nSsJxbPzCBC7hd1n/etc1AbXM=; b=UxaoPi9YZc8F1IDfYFLKpdjLna0G9kVLdnJd8JxV0aDaUv3TavMk/IvmCn4F2Hm3qPegntRBIRw2Ib7qQkc4MmkLccGr5AMaGO8KMN0sEj1r6ZlZYs/k1jiHzJ7bimhXVaIU9DV690mdvRsw7WeAPRc7Vr8EI/f9Ob4hrC8Utn8ji0P7PpMHCHuNlD1bm4JZz6lkl5iScf6CukGxOdkiJVNZLLOXJnc2EvTv16bbKOLHB0+4Jt3hfkIIyB1WoRJlIjuF4qVFBVMhWH+PBUGQTnhcyrEuLbZR7k0f4wNn5YXC1hdekcuYtqjJUYFedMX4zYlc7SHblkKu+XNyqmBcnA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1mNlZ5v9pnMIqLAD88nSsJxbPzCBC7hd1n/etc1AbXM=; b=L9nX+iBUDdBqXDyQwDZQKIBLj3DgQ4864ZJsTe06STKDELm++0JF8rQaUCUlOJWRW6hENXiAUXDuRQ3sN8ZBWBaJ9MzU+NRCWX560U1o52ZJssimPW0vobzwA3E2J2LbkzQEF5Wtij4vJBYQmiIjy+Tt85oogTQyB0bxr0eyUiKefFSMKq8VzHz/+qisI8bNkCna8OYMt+0ISKfsa0XeTi3K7Ry6ycDgRA7Iljj57K97QaCZcUzh2jY+V4j6h+pJrSGx2zD80IjN6+d3+sLVDhNSEmMjKjJmW6AQignepTUxUtXDOK6SFjFt+17NU6WUSxmXSLLMekxenpLcCCF1Nw== Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAVPR03MB9211.eurprd03.prod.outlook.com (2603:10a6:102:325::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Fri, 27 Oct 2023 20:40:33 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::7d1a:d4ce:f301:582a]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::7d1a:d4ce:f301:582a%6]) with mapi id 15.20.6933.024; Fri, 27 Oct 2023 20:40:33 +0000 From: Sean Anderson To: u-boot@lists.denx.de, Tom Rini Cc: Andre Przywara , Heinrich Schuchardt , Sean Anderson Subject: [PATCH 3/3] arm: semihosting: Support semihosting fallback on 32-bit ARM Date: Fri, 27 Oct 2023 16:40:15 -0400 Message-Id: <20231027204015.1547595-4-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty In-Reply-To: <20231027204015.1547595-1-sean.anderson@seco.com> References: <20231027204015.1547595-1-sean.anderson@seco.com> X-ClientProxiedBy: SJ0PR03CA0181.namprd03.prod.outlook.com (2603:10b6:a03:2ef::6) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAVPR03MB9211:EE_|DB8EUR05FT012:EE_|PAXPR03MB8201:EE_ X-MS-Office365-Filtering-Correlation-Id: adc5013e-30d0-4852-990c-08dbd72cffd7 X-TrendMicro-CAS-OUT-LOOP-IDENTIFIER: 656f966764b7fb185830381c646b41a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: tpj7emxsxePftsMfILMMR6BB4s4wJnv6qWvWxPtnTDx8RGxBew/6CvoWsCcg7P0YT8K6/R3yFWuwm7mY+U/bahOpXAcefBtlok/CUNI9b75rJRc5HedTOR4YYrFfPcF5RkLL8ymCfsbKzV/ryUihk9KzeRHrui1eYWjpiE0f/37GU04SYqz4hUapzkiJv7ALG9VTSOD4kV4bm3dZT5NgW8yXuQH0fIpo7eHwnQZhFZhn+x9fs2W15aAnAMHl2aoyWE/ho+ANh17BTETzH35VIdH3IKIueHX4SJcpu0XpW420PJr9PiasUKPJwHNWt36ickgy1HTDvm1GtFNNs9RVHkBOxl0s1Yhu/MLcrR/SpmTs1+2sMhcqAKhj1/VgAUBE6Osiw18hd3Gg+bBRiRRUQf9dlZ8Lq8iYJ5GxK+PW5vOSr1tvxLlCqluudJoIRT5giqzWc1z2GLJ4WUQXy+Hh3YzVS188/uJJocFhphRD8uek/vyd/RTHnPSltxdaCQkfSNT2wUIzuYFtasaBqTIvFS3NLV64PVe5dl33U2vGXUNSIyvQhi8N8MMPvGGgSVxhtvTxxn0veqPR/0xaQZMAiCGTC75TEtPhLD90GVd4RPFbdqAbfiKN3qDNIDbMjxgd X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(376002)(396003)(136003)(39850400004)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(107886003)(41300700001)(8936002)(8676002)(54906003)(6486002)(44832011)(4326008)(478600001)(38350700005)(2906002)(5660300002)(316002)(36756003)(66476007)(66946007)(66556008)(86362001)(6916009)(66899024)(52116002)(6512007)(1076003)(2616005)(26005)(6506007)(83380400001)(38100700002)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB9211 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB8EUR05FT012.eop-eur05.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: cb7b2858-c7e8-4670-e5e4-08dbd72cf765 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2jopefSd/Mf76t+T55calp0TBgQBOaJ3vlUE7zIEY6bWnGozqGqOdfhwzJ8ax61O0uSt8q0ayOgndZjOyYji14BXYhp7g3ewes58ki3idylDHbNM82jFzX0aNe92gFi8v9kYH/lgMNgqBeD8/7iiPmQkvMgmL9ptxDCX8gl8ehCjDdanbrMzFCkewws6ohKG+6QjIZS35Y5ht+yZmJlA5cAgDvTofUuDetktgAZMBq+fUNguXey066b7jcUezVYRsaXM/EyPy69aHcZeCZd7c2Ik9hcOR5u5redR871hnPzupUe176cEQ6udOJwjldfZ6kVfkGtRm/qeVMI3PyR+F4a/oE18GNj432Rhpe42k79b2s3xaAFahtOVFLmBHlc9i257QMYfIPnYNAsqap4Q6xXpDSQ+3RrbExO8W4Z3/Pp9gZV6IIiV5nB821oiyWaal7QgN8ijFKB0Vllld9bITZN+V9YIQKeuxAMRK9TK2XYj6ILT9qhx5wMl/xWLY67sLtm6wQD/E1WMaksyskT7zhPo+NZVwKSQRXfkZXhSJLov3afjeoCzXpr+2rQg42xIx2Syn80rRIWfNPQI7IxBGHjszoKV2wicT7oy6PqNPViHU4QQizwcs3GVrDjAwppZWa4O38ucsojD2m2iW0lbObtG0IhBB7fzLDoDoJI4vzOtyNQTCohkdXCgsw1IHMlwBRvzVWanKN6gABBz5e5wFOiOBBopgvbZJW2LA1CWJKBk9Adf9MjVOthIFKHn+6vwd+594QmQ4bKbLugtOWqEvA== X-Forefront-Antispam-Report: CIP:20.160.56.83; CTRY:NL; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:inpost-eu.tmcas.trendmicro.com; PTR:inpost-eu.tmcas.trendmicro.com; CAT:NONE; SFS:(13230031)(376002)(346002)(136003)(396003)(39850400004)(230922051799003)(451199024)(82310400011)(186009)(64100799003)(1800799009)(36840700001)(40470700004)(46966006)(66899024)(40460700003)(1076003)(26005)(6512007)(2616005)(86362001)(7596003)(40480700001)(36756003)(82740400003)(356005)(7636003)(83380400001)(2906002)(36860700001)(6486002)(107886003)(336012)(6506007)(34070700002)(47076005)(478600001)(6666004)(4326008)(316002)(8936002)(8676002)(6916009)(54906003)(70206006)(41300700001)(5660300002)(44832011)(70586007); DIR:OUT; SFP:1101; X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2023 20:40:47.3128 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: adc5013e-30d0-4852-990c-08dbd72cffd7 X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bebe97c3-6438-442e-ade3-ff17aa50e733; Ip=[20.160.56.83]; Helo=[inpost-eu.tmcas.trendmicro.com] X-MS-Exchange-CrossTenant-AuthSource: DB8EUR05FT012.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8201 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Add support for a semihosting fallback on 32-bit ARM. The assembly is lightly adapted from the irq return code, except there is no offset since lr already points to the correct instruction. The C side is mostly like ARM64, except we have fewer cases to deal with. Signed-off-by: Sean Anderson --- arch/arm/lib/interrupts.c | 31 +++++++++++++++++++++++++++++++ arch/arm/lib/vectors.S | 7 +++++++ lib/Kconfig | 4 ++-- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/arch/arm/lib/interrupts.c b/arch/arm/lib/interrupts.c index 6dc27d1d589..9961472f69f 100644 --- a/arch/arm/lib/interrupts.c +++ b/arch/arm/lib/interrupts.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -135,6 +136,32 @@ static inline void fixup_pc(struct pt_regs *regs, int offset) regs->ARM_pc = pc | (regs->ARM_pc & PCMASK); } +/* + * Try to "emulate" a semihosting call in the event that we don't have a + * debugger attached. + */ +static bool smh_emulate_trap(struct pt_regs *regs) +{ + if (regs->ARM_cpsr & T_BIT) { + u16 *insn = (u16 *)(regs->ARM_pc - 2); + + if (*insn != SMH_T32_SVC) + return false; + } else { + u32 *insn = (u32 *)(regs->ARM_pc - 4); + + if (*insn != SMH_A32_SVC) + return false; + } + + /* Avoid future semihosting calls */ + disable_semihosting(); + + /* Just pretend the call failed */ + regs->ARM_r0 = -1; + return true; +} + void do_undefined_instruction (struct pt_regs *pt_regs) { efi_restore_gd(); @@ -147,6 +174,10 @@ void do_undefined_instruction (struct pt_regs *pt_regs) void do_software_interrupt (struct pt_regs *pt_regs) { + if (CONFIG_IS_ENABLED(SEMIHOSTING_FALLBACK) && + smh_emulate_trap(pt_regs)) + return; + efi_restore_gd(); printf ("software interrupt\n"); fixup_pc(pt_regs, -4); diff --git a/arch/arm/lib/vectors.S b/arch/arm/lib/vectors.S index fe8ca403ac9..843f9b9c281 100644 --- a/arch/arm/lib/vectors.S +++ b/arch/arm/lib/vectors.S @@ -275,6 +275,13 @@ software_interrupt: get_bad_stack_swi bad_save_user_regs bl do_software_interrupt +#if CONFIG_IS_ENABLED(SEMIHOSTING_FALLBACK) + ldmia sp, {r0 - lr}^ @ Calling r0 - lr + mov r0, r0 + ldr lr, [sp, #S_PC] @ Get PC + add sp, sp, #S_FRAME_SIZE + movs pc, lr @ return & move spsr_svc into cpsr +#endif .align 5 prefetch_abort: diff --git a/lib/Kconfig b/lib/Kconfig index f6ca559897e..3cabb07bfd6 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -93,7 +93,7 @@ config SEMIHOSTING config SEMIHOSTING_FALLBACK bool "Recover gracefully when semihosting fails" - depends on SEMIHOSTING && (ARM64 || RISCV) + depends on SEMIHOSTING default y help Normally, if U-Boot makes a semihosting call and no debugger is @@ -116,7 +116,7 @@ config SPL_SEMIHOSTING config SPL_SEMIHOSTING_FALLBACK bool "Recover gracefully when semihosting fails in SPL" - depends on SPL_SEMIHOSTING && (ARM64 || RISCV) + depends on SPL_SEMIHOSTING select ARMV8_SPL_EXCEPTION_VECTORS if ARM64 default y help