From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CH1PR05CU001.outbound.protection.outlook.com (mail-northcentralusazon11010071.outbound.protection.outlook.com [52.101.193.71]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 881D93BFE24 for ; Tue, 21 Apr 2026 12:22:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.193.71 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776774131; cv=fail; b=oItpwtREGdh/WMdXlU05TmGipLeSsQeEnHWVB3WgBEKxthsHoQjtLovASdoJ32P6KExinSIAttx/C9eSzuNxtXWqywA0IIQsoCPaLT+CklymkvVVLE2VVpUg2CtAOhq/PD34RF8aA9sZlnbOpIkrdjWKz78outmA709QhX/6QKM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776774131; c=relaxed/simple; bh=Dkq9kL75yuIc0hYHiiBDurHNvfRhpn8M4Je8/rdEGJM=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=bxPJ575nHqSxvTsfL8ZHh2WFuOqKVFS0/lwA5I1fEaNrGvAg/XRFSxWQFk/cjcNKtirZu9J805HLG5S5wrFbnBhdw8ocbE9rIQXapyiZYIIzBNDVKaJe9CoxosjeACx/gOAsEq5db0MdoY2JuIH3ZJa9Y8F4TVMT1YwUSMfbop4= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=vYbsYyRD; arc=fail smtp.client-ip=52.101.193.71 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="vYbsYyRD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MtGvLwq4e8TjAhKDJboKKQXPvmCQGxQjrZYBaSinOzeOGvcQIqeatnjaC3zvsMoVxJZJJisL8kUrXFaT2QgEZmSETuVNPj7ZaPxtx4x93Q6EhV2DcHbvyxFG5QIhpUryMvjmmsiHwUAfyEJv5ZG+ZI3liwM+bumOa9IYYD8mxkYKNqyJVbfyCqK2wdiD7dZatH719RfGvyal0Bsv/FexALwMkCnsRId7kX17Yzehx/PukYajPVFMePcy7Ioos6LvOKf+UkAOxc0PhhUlnbkm4rW3qMrV8zKH0F1YrBZmoC65G67dtBv2TNk4Gi6mKyEsaQ69dhf3qljRKT39vpvJpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=IuNfpjYLZbNoAVDuaLvZcjTAJGmPUAP/rFyr5Fx+OW0=; b=DVhTQzF8mcqkNxHINBseUdzWHV7PXQ29aw4sfvbwkwseN7vnI4qIhgHNGmT5K8V8xMVzQYuaNejvIF5VwJ9CBjO7lMeR5NgVrQ/k+VZBvI83xzwmQk7Y3fufpPuDPcBhYUFdyZjSDrC55zWhl9yNIiQycxrAkSPhOizEQqgbHZWd3VieRXoTqtgYM9/dbI0DqQ3a8PFzzvQR3XeyIPomhV1+9OpxV9EqHq6xKJvqBSEytil8xvBKroHqDii/5PYeCR5WO8dUEgK8/SVjYHFJzolyAEg5Gu1aAECb4hN8jOGWa5GG1Y+1D0JENhPr1GxDqQu1FYxRDFH0JhGJ+kaMXw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IuNfpjYLZbNoAVDuaLvZcjTAJGmPUAP/rFyr5Fx+OW0=; b=vYbsYyRDhXncwR2itWtQA0KjFjPHG7lM8sFZAdA3YtCsiBHP4u2bapDxobMFVGmHZrBmouqI2tVWyOqfbe/8d3NxI9EXxZaBVNEoEhYJlzU5VgyRX6BbILem66KBZQlrk5eLKT8FkxteE06GNQoZikHwScKM4u91OZxRyHWbzBY= Received: from BL0PR05CA0015.namprd05.prod.outlook.com (2603:10b6:208:91::25) by LV8PR12MB9134.namprd12.prod.outlook.com (2603:10b6:408:180::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.12; Tue, 21 Apr 2026 12:21:57 +0000 Received: from BL02EPF00029927.namprd02.prod.outlook.com (2603:10b6:208:91:cafe::9) by BL0PR05CA0015.outlook.office365.com (2603:10b6:208:91::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.15 via Frontend Transport; Tue, 21 Apr 2026 12:21:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by BL02EPF00029927.mail.protection.outlook.com (10.167.249.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9791.48 via Frontend Transport; Tue, 21 Apr 2026 12:21:57 +0000 Received: from satlexmb07.amd.com (10.181.42.216) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 21 Apr 2026 07:21:57 -0500 Received: from xirengwts09.xilinx.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server id 15.2.2562.17 via Frontend Transport; Tue, 21 Apr 2026 07:21:56 -0500 From: Neal Frager To: CC: , , Neal Frager Subject: [PATCH v2 1/1] microblaze: allocate stack space for register params Date: Tue, 21 Apr 2026 13:21:54 +0100 Message-ID: <20260421122154.2659404-1-neal.frager@amd.com> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00029927:EE_|LV8PR12MB9134:EE_ X-MS-Office365-Filtering-Correlation-Id: ea13a0c5-1563-4868-7b56-08de9fa09504 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|36860700016|1800799024|82310400026|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: QIjta4Og4LoTAFEJ9UoJR4x3DLGx5xw6NOkiq/k/oiC0N9ympQfFVRFUod2oRjHCb3XY4wZ4u2keOd9OTqrLORY85Up2Oh9WLF4BoQsQ8Ztyal/vMftJlS14w9zssXyhtWUfCmYnKnNGrp+2oGPALGfCeZB7kHWOO3q1BTAeafC5W2cDFsnunIuT4Qe/jmdw8UxRSHFqbO0oIdgZ3m2zzG01R59TesgEXdg8WlmnH4AbPzOG6vEqo2xOZCK3EReubevrSZWH/HqkfOYcIt9v3/p5YvJAIo1FF45J5SkiAPmHZ/NVp2VmFNQkNTpcprUw3vUuaYCmwn/d6wXK6xS1Dk5K9ASjuK1MWcR0Td3bHOkXOmzUnE0uZvDGu9RwGwELzOiJVxsJnFROjs6EpcdyDP5Oy1WMBRwPWbnH4BJHdbF8X9fXGEXeH1Mz2n3M7SY0iqpKtjoYetlK19AvkCO004VCTBvPPRp0G4ASSPmLLEfaevgQ31wPAQsiB+tom9n1nMRQIKXY/SDo5PnHbN7cRUPB7PqciuBlNDz8TwqtKgN5I8R+bjbx5wNY9/OMaRs4Nmew96Hqstxesi8A3u6qJsn1ZMsCzRzbnq15WYXPqGFPsiHFZwBaytURkSLYNP5/HbA7VK6yYvj27Q2bq1CBqqO6xX8QpR8ppCd3GZYaYANGXiatL9HpwmJ8BPw1P+YQzOBKEIbZ3eAxDO28EXaHJo0DOizp2EGFeqaM4hKJNywBkXGFS1TpMYzqHUrHQjykFB8NwwaVPToGqCArWfBfiw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(36860700016)(1800799024)(82310400026)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7TvwfEkD9Oau/wwXRheczGDeW/oGjcXeRgKdj+pPqWurxUmI6X3uKZEstOCFhT2tmDWkv8kAVD74500Uk986loNzjK+3wwByL35XcAcaqUW8UmyQAdYJZ0AU3yO2ZCcXAwMuNVtgMXbLkb6A5jKlCbC/RO2LkFm6r0LXUVaGWNCF/pryshl2yY8dDwiaCoZi2xrbG11pFVYDHp6s6nH49EO9bMwgl1Gv9XfB1FFPLEZgBFyq74FZiYy1Jho5wiGlNh3nVpKzCYpnG3dk6R60JkUl0anybmsgUYIkGcrwb6ZY4mpHjD/LwAcwlICEAW0i4sUqeBX6uFAijlq69a7hwWrYSCZeq2OsgcnJ/1p1gJlNBmv1/aEZChrpQ8KX8LfcdGiTMo7EhE9HtI/u431AJqjWFNUlfT6TfOofkdtIqL88oXEnWmZVKsS4abTBho+K X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2026 12:21:57.6440 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ea13a0c5-1563-4868-7b56-08de9fa09504 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF00029927.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9134 C functions are invoked with arguments without allocating stack space for register params (for potential register spills). As a result kernel built with gcc v15 boot hangs at the point of starting init. Add necessary stack space for few C function calls from entry.S (not all). With this change, the kernel boots all the way to login prompt and root login works. Simple commands like ps work and show normal output. Fixes: ca54502bd52a ("microblaze_mmu_v2: entry.S, entry.h") From: Gopi Kumar Bulusu Co-developed-by: Neal Frager Signed-off-by: Neal Frager --- V1->V2: - removed whitespaces - changed ret_from_trap2 to ret_from_trap_noadj - added comment for SYSCALL_ARGS_SIZE - cleaned up language in commit message --- arch/microblaze/kernel/entry.S | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S index 582d7256d815..30d42b84f156 100644 --- a/arch/microblaze/kernel/entry.S +++ b/arch/microblaze/kernel/entry.S @@ -339,6 +339,10 @@ C_ENTRY(mb_invalidate_icache): * Trap entered via brki instruction, so BIP bit is set, and interrupts * are masked. This is nice, means we don't have to CLI before state save */ + +/* Syscall args in r5-r10 and the link register or 28 bytes */ +#define SYSCALL_ARGS_SIZE 28 + C_ENTRY(_user_exception): swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)) /* save stack */ addi r14, r14, 4 /* return address is 4 byte after call */ @@ -422,16 +426,19 @@ C_ENTRY(_user_exception): lwi r12, r12, sys_call_table /* where the trap should return need -8 to adjust for rtsd r15, 8 */ addi r15, r0, ret_from_trap-8 + addik r1, r1, -SYSCALL_ARGS_SIZE bra r12 /* The syscall number is invalid, return an error. */ 5: - braid ret_from_trap + braid ret_from_trap_noadj addi r3, r0, -ENOSYS; /* Entry point used to return from a syscall/trap */ /* We re-enable BIP bit before state restore */ C_ENTRY(ret_from_trap): + addik r1, r1, SYSCALL_ARGS_SIZE +C_ENTRY(ret_from_trap_noadj): swi r3, r1, PT_R3 swi r4, r1, PT_R4 @@ -504,7 +511,7 @@ C_ENTRY(ret_from_fork): bralid r15, schedule_tail; /* ...which is schedule_tail's arg */ add r5, r3, r0; /* switch_thread returns the prev task */ /* ( in the delay slot ) */ - brid ret_from_trap; /* Do normal trap return */ + brid ret_from_trap_noadj; /* Do normal trap return */ add r3, r0, r0; /* Child's fork call should return 0. */ C_ENTRY(ret_from_kernel_thread): @@ -513,13 +520,13 @@ C_ENTRY(ret_from_kernel_thread): /* ( in the delay slot ) */ brald r15, r20 /* fn was left in r20 */ addk r5, r0, r19 /* ... and argument - in r19 */ - brid ret_from_trap + brid ret_from_trap_noadj add r3, r0, r0 C_ENTRY(sys_rt_sigreturn_wrapper): addik r30, r0, 0 /* no restarts */ brid sys_rt_sigreturn /* Do real work */ - addik r5, r1, 0; /* add user context as 1st arg */ + addik r5, r1, SYSCALL_ARGS_SIZE; /* add user context as 1st arg */ /* * HW EXCEPTION rutine start @@ -729,11 +736,13 @@ C_ENTRY(_interrupt): lwi CURRENT_TASK, r0, TOPHYS(PER_CPU(CURRENT_SAVE)); tovirt(r1,r1) addik r15, r0, irq_call; + addik r1, r1, -SYSCALL_ARGS_SIZE irq_call:rtbd r0, do_IRQ; - addik r5, r1, 0; + addik r5, r1, SYSCALL_ARGS_SIZE; /* MS: we are in virtual mode */ ret_from_irq: + addik r1, r1, SYSCALL_ARGS_SIZE lwi r11, r1, PT_MODE; bnei r11, 2f; @@ -1302,7 +1311,7 @@ type_SYSCALL_PREEMPT: .global microblaze_trap_handlers microblaze_trap_handlers: /* Exact matches come first */ - .word ret_from_trap; .word ret_from_trap ; .word type_SYSCALL + .word ret_from_trap; .word ret_from_trap_noadj ; .word type_SYSCALL .word ret_from_irq ; .word ret_from_irq ; .word type_IRQ /* Fuzzy matches go here */ .word ret_from_irq ; .word no_intr_resched ; .word type_IRQ_PREEMPT -- 2.25.1