xref: /optee_os/ldelf/tlsdesc_rel_a64.S (revision 181f84921804f9b8e2d24027eca1d916d6e15a44)
17bc927faSJerome Forissier/* SPDX-License-Identifier: BSD-2-Clause */
27bc927faSJerome Forissier/*
37bc927faSJerome Forissier * Copyright (c) 2020, Huawei Technologies Co. Ltd.
47bc927faSJerome Forissier */
57bc927faSJerome Forissier
67bc927faSJerome Forissier#include <asm.S>
77bc927faSJerome Forissier
87bc927faSJerome Forissier/*
97bc927faSJerome Forissier * long tlsdesc_resolve(struct tlsdesc *);
107bc927faSJerome Forissier *
117bc927faSJerome Forissier * Must preserve all registers except x0, x1 and the processor flags.
127bc927faSJerome Forissier * See https://www.fsfla.org/~lxoliva/writeups/TLS/RFC-TLSDESC-ARM.txt section
137bc927faSJerome Forissier * "Resolvers' Calling Convention". The document applies to 32-bit Arm but other
147bc927faSJerome Forissier * sources mention similar constraints for other architectures.
157bc927faSJerome Forissier */
167bc927faSJerome ForissierFUNC tlsdesc_resolve , :
177bc927faSJerome Forissier	ldr	x0, [x0, #8]
187bc927faSJerome Forissier	ret
197bc927faSJerome ForissierEND_FUNC tlsdesc_resolve
207bc927faSJerome Forissier
21*181f8492SRuchika GuptaBTI(emit_aarch64_feature_1_and     GNU_PROPERTY_AARCH64_FEATURE_1_BTI)
22