Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
37 lines
684 B
ArmAsm
37 lines
684 B
ArmAsm
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2022 Matthias Schiffer <mschiffer@universe-factory.net>
|
|
*
|
|
* Based on Linux arch/powerpc/boot/crt0.S, which is:
|
|
*
|
|
* Copyright (C) Paul Mackerras 1997.
|
|
*/
|
|
|
|
#include <ppc_asm.h>
|
|
|
|
.text
|
|
.global _start
|
|
_start:
|
|
/* Do a cache flush for our text, in case the loader didn't */
|
|
lis r3,_text_start@ha
|
|
addi r3,r3,_text_start@l
|
|
li r4,_text_len
|
|
bl flush_cache
|
|
|
|
/* Clear the BSS */
|
|
lis r3,_bss_start@ha
|
|
addi r3,r3,_bss_start@l
|
|
li r4,0
|
|
li r5,_bss_len
|
|
bl memset
|
|
|
|
/* Set up stack */
|
|
lis r1,_stack_top@ha
|
|
addi r1,r1,_stack_top@l
|
|
/* Establish a stack frame */
|
|
li r0,0
|
|
stwu r0,-16(r1)
|
|
|
|
/* Call start */
|
|
b start
|