mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-08-17 08:42:13 +08:00
删除文件 Port/port_x32/RISC-V32/port_rv32_FSL.S
This commit is contained in:
@@ -1,69 +0,0 @@
|
|||||||
/**************************************************************************//**
|
|
||||||
* @item CosyOS-III Port
|
|
||||||
* @file port_rv32_FSL.S
|
|
||||||
* @brief RISC-V32 Core Port File for Interrupt FIFO Service Loading
|
|
||||||
* @author 迟凯峰
|
|
||||||
* @version v3.0.1
|
|
||||||
* @date 2026.07.30
|
|
||||||
******************************************************************************/
|
|
||||||
|
|
||||||
#include "syscfg.h"
|
|
||||||
#include "mcucfg_rv32.h"
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
/* 中断FIFO服务装载器 */
|
|
||||||
|
|
||||||
#if (SYSCFG_PENDSVFIFO_DEPTH > 0)
|
|
||||||
|
|
||||||
.global mPendSV_FIFOLoader
|
|
||||||
.align 2
|
|
||||||
mPendSV_FIFOLoader:
|
|
||||||
|
|
||||||
/* FIFO选择 */
|
|
||||||
la a2, m_fifo_lock
|
|
||||||
lb a3, (a2)
|
|
||||||
beqz a3, 1f
|
|
||||||
la a1, mPendSV_FIFO_0
|
|
||||||
j 2f
|
|
||||||
1: la a1, mPendSV_FIFO_1
|
|
||||||
/* 计数溢出 */
|
|
||||||
2:
|
|
||||||
#if (0) // 正常情况下计数器难以溢出,默认关闭防护以提高装载效率。
|
|
||||||
lw a2, (a1)
|
|
||||||
li a3, 0x80000000
|
|
||||||
bltu a3, a2, 4f
|
|
||||||
#endif
|
|
||||||
/* FIFO计数 */
|
|
||||||
/* 0、关闭总中断(嵌套方式)*/
|
|
||||||
#if (MCUCFG_PENDSVFIFO_MUTEX == 0)
|
|
||||||
csrr a3, mstatus
|
|
||||||
csrc mstatus, 0x8
|
|
||||||
fence.i
|
|
||||||
lw a2, (a1)
|
|
||||||
addi a2, a2, 1
|
|
||||||
sw a2, (a1)
|
|
||||||
csrw mstatus, a3
|
|
||||||
/* 1、[lr][sc]指令 */
|
|
||||||
#elif (MCUCFG_PENDSVFIFO_MUTEX == 1)
|
|
||||||
3: lr.w a2, (a1)
|
|
||||||
addi a2, a2, 1
|
|
||||||
sc.w a3, a2, (a1)
|
|
||||||
bnez a3, 3b
|
|
||||||
/* 2、[amoadd]指令 */
|
|
||||||
#elif (MCUCFG_PENDSVFIFO_MUTEX == 2)
|
|
||||||
li a3, 1
|
|
||||||
amoadd.w a2, a3, (a1)
|
|
||||||
addi a2, a2, 1
|
|
||||||
#endif
|
|
||||||
/* FIFO溢出 */
|
|
||||||
li a3, SYSCFG_PENDSVFIFO_DEPTH
|
|
||||||
bltu a3, a2, 4f
|
|
||||||
/* FIFO装载 */
|
|
||||||
slli a2, a2, 2
|
|
||||||
add a1, a1, a2
|
|
||||||
sw a0, (a1)
|
|
||||||
|
|
||||||
4: ret
|
|
||||||
|
|
||||||
#endif
|
|
||||||
Reference in New Issue
Block a user