1*7bc927faSJerome Forissier/* SPDX-License-Identifier: BSD-2-Clause */ 2*7bc927faSJerome Forissier/* 3*7bc927faSJerome Forissier * Copyright (c) 2020, Huawei Technologies Co. Ltd. 4*7bc927faSJerome Forissier */ 5*7bc927faSJerome Forissier 6*7bc927faSJerome Forissier#include <asm.S> 7*7bc927faSJerome Forissier 8*7bc927faSJerome Forissier/* 9*7bc927faSJerome Forissier * long tlsdesc_resolve(struct tlsdesc *); 10*7bc927faSJerome Forissier * 11*7bc927faSJerome Forissier * Must preserve all registers except x0, x1 and the processor flags. 12*7bc927faSJerome Forissier * See https://www.fsfla.org/~lxoliva/writeups/TLS/RFC-TLSDESC-ARM.txt section 13*7bc927faSJerome Forissier * "Resolvers' Calling Convention". The document applies to 32-bit Arm but other 14*7bc927faSJerome Forissier * sources mention similar constraints for other architectures. 15*7bc927faSJerome Forissier */ 16*7bc927faSJerome ForissierFUNC tlsdesc_resolve , : 17*7bc927faSJerome Forissier ldr x0, [x0, #8] 18*7bc927faSJerome Forissier ret 19*7bc927faSJerome ForissierEND_FUNC tlsdesc_resolve 20*7bc927faSJerome Forissier 21