1cdb6ac94SJeenu Viswambharan/* 2*e0566305SAntonio Nino Diaz * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved. 3cdb6ac94SJeenu Viswambharan * 4cdb6ac94SJeenu Viswambharan * SPDX-License-Identifier: BSD-3-Clause 5cdb6ac94SJeenu Viswambharan */ 6cdb6ac94SJeenu Viswambharan 7cdb6ac94SJeenu Viswambharan#include <asm_macros.S> 8cdb6ac94SJeenu Viswambharan 9cdb6ac94SJeenu Viswambharan .globl begin_sdei_synchronous_dispatch 10cdb6ac94SJeenu Viswambharan 11cdb6ac94SJeenu Viswambharan/* 12*e0566305SAntonio Nino Diaz * void begin_sdei_synchronous_dispatch(jmp_buf *buffer); 13cdb6ac94SJeenu Viswambharan * 14cdb6ac94SJeenu Viswambharan * Begin SDEI dispatch synchronously by setting up a jump point, and exiting 15cdb6ac94SJeenu Viswambharan * EL3. This jump point is jumped to by the dispatcher after the event is 16cdb6ac94SJeenu Viswambharan * completed by the client. 17cdb6ac94SJeenu Viswambharan */ 18cdb6ac94SJeenu Viswambharanfunc begin_sdei_synchronous_dispatch 19cdb6ac94SJeenu Viswambharan stp x30, xzr, [sp, #-16]! 20cdb6ac94SJeenu Viswambharan bl setjmp 21cdb6ac94SJeenu Viswambharan cbz x0, 1f 22cdb6ac94SJeenu Viswambharan ldp x30, xzr, [sp], #16 23cdb6ac94SJeenu Viswambharan ret 24cdb6ac94SJeenu Viswambharan1: 25cdb6ac94SJeenu Viswambharan b el3_exit 26cdb6ac94SJeenu Viswambharanendfunc begin_sdei_synchronous_dispatch 27