1 ; SPDX-License-Identifier: GPL-2.0-only
3 ; Port on Texas Instruments TMS320C6x architecture
5 ; Copyright (C) 2004, 2009, 2010, 2011 Texas Instruments Incorporated
6 ; Author: Aurelien Jacquiot (aurelien.jacquiot@jaluna.com)
8 #include <linux/linkage.h>
9 #include <linux/of_fdt.h>
10 #include <asm/asm-offsets.h>
14 ;; Save magic and pointer
17 MVKL .S2 __bss_start,B5
18 MVKH .S2 __bss_start,B5
19 MVKL .S2 __bss_stop,B6
20 MVKH .S2 __bss_stop,B6
21 SUB .L2 B6,B5,B6 ; bss size
23 ;; Set the stack pointer
24 MVKL .S2 current_ksp,B0
25 MVKH .S2 current_ksp,B0
29 SHR .S2 B6,3,B0 ; number of dwords to clear
36 [!B1] STDW .D2T2 B13:B12,*B5++[1]
55 ;; pass DTB pointer to machine_init (or zero if none)
56 MVKL .S1 OF_DT_HEADER,A0
57 MVKH .S1 OF_DT_HEADER,A0
62 #ifdef CONFIG_C6X_BIG_KERNEL
63 MVKL .S1 machine_init,A0
64 MVKH .S1 machine_init,A0
69 CALLP .S2 machine_init,B3
73 #ifdef CONFIG_C6X_BIG_KERNEL
74 MVKL .S1 start_kernel,A0
75 MVKH .S1 start_kernel,A0