• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (c) 2023 Huawei Device Co., Ltd.
4 */
5
6#include <linux/linkage.h>
7#include <linux/init.h>
8#include <asm/assembler.h>
9
10.pushsection ".init.text", "ax"
11
12SYM_CODE_START(init_constructors)
13	mov	x21, x30
14	adrp	x19, __ctors_end
15	adrp	x20, __ctors_start
16	add	x19, x19, #:lo12:__ctors_end
17	add	x20, x20, #:lo12:__ctors_start
18	cmp	x20, x19
19	b.cs	4f
203:	ldr	x8, [x20], #8
21	blr	x8
22	cmp	x20, x19
23	b.cc	3b
244:	mov	x30, x21
25	ret
26SYM_CODE_END(init_constructors)
27