• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <arch/asm.h>
4
5/* Required to jump to kernel in ARM state */
6.arm
7/* void boot_linux(void *kernel_ptr, void *fdt_ptr); */
8ENTRY(boot_linux)
9	/* Save kernel ptr */
10	mov r3, r0
11	/* Set R2 = fdt */
12	mov r2, r1
13	/* Set R0 = 0x00000000 as expected by Linux ABI */
14	mov r0, #0
15	/* Set R1 = 0xffffffff as expected by Linux ABI */
16	mov r1, #-1
17	/* Linux ABI expects SVC mode (0x13) with IRQ(7) and FIQ(6) disabled. */
18	msr cpsr_cxf, #0xd3
19	/* Jump to kernel */
20	mov pc, r3
21ENDPROC(boot_linux)
22