1/* 2 * Copyright (c) 2023 Institute of Parallel And Distributed Systems (IPADS), Shanghai Jiao Tong University (SJTU) 3 * Licensed under the Mulan PSL v2. 4 * You can use this software according to the terms and conditions of the Mulan PSL v2. 5 * You may obtain a copy of Mulan PSL v2 at: 6 * http://license.coscl.org.cn/MulanPSL2 7 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 8 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 9 * PURPOSE. 10 * See the Mulan PSL v2 for more details. 11 */ 12#include <common/asm.h> 13#include "irq_entry.h" 14 15/* Functions of IRQ */ 16 17BEGIN_FUNC(set_exception_vector) 18 adr x0, el1_vector 19 msr vbar_el1, x0 20 ret 21END_FUNC(set_exception_vector) 22 23/* 24 * DAIF 4 bits 25 * D: debug exceptions 26 * A: asynchronous aborts SError 27 * I: IRQs 28 * F: FIQs 29 */ 30BEGIN_FUNC(enable_irq) 31 msr daifclr, #3 32 ret 33END_FUNC(enable_irq) 34 35BEGIN_FUNC(disable_irq) 36 msr daifset, #3 37 ret 38END_FUNC(disable_irq) 39