]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseLib/RiscV64/RiscVInterrupt.S
MdePkg/BaseLib: BaseLib for RISCV64 architecture
[mirror_edk2.git] / MdePkg / Library / BaseLib / RiscV64 / RiscVInterrupt.S
1 //------------------------------------------------------------------------------
2 //
3 // RISC-V Supervisor Mode interrupt enable/disable
4 //
5 // Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
6 //
7 // SPDX-License-Identifier: BSD-2-Clause-Patent
8 //
9 //------------------------------------------------------------------------------
10
11 ASM_GLOBAL ASM_PFX(RiscVDisableSupervisorModeInterrupts)
12 ASM_GLOBAL ASM_PFX(RiscVEnableSupervisorModeInterrupt)
13 ASM_GLOBAL ASM_PFX(RiscVGetSupervisorModeInterrupts)
14
15 # define MSTATUS_SIE 0x00000002
16 # define CSR_SSTATUS 0x100
17
18 ASM_PFX(RiscVDisableSupervisorModeInterrupts):
19 li a1, MSTATUS_SIE
20 csrc CSR_SSTATUS, a1
21 ret
22
23 ASM_PFX(RiscVEnableSupervisorModeInterrupt):
24 li a1, MSTATUS_SIE
25 csrs CSR_SSTATUS, a1
26 ret
27
28 ASM_PFX(RiscVGetSupervisorModeInterrupts):
29 csrr a0, CSR_SSTATUS
30 andi a0, a0, MSTATUS_SIE
31 ret
32