WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
los_hwi_pri.h 文件参考
#include "los_hwi.h"
#include "los_spinlock.h"
los_hwi_pri.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  tagHwiHandleForm
 
struct  HwiStatus
 
struct  HwiControllerOps
 
struct  tagBhwork
 

宏定义

#define HWI_LOCK(state)   LOS_SpinLockSave(NULL, &(state))
 
#define HWI_UNLOCK(state)   LOS_SpinUnlockRestore(NULL, (state))
 
#define OS_HWI_INVALID_IRQ   0xFFFFFFFF
 
#define OS_HWI_UNSUPPORTED_STATUS   0xFFFFFFFF
 
#define HWI_IS_REGISTED(num)   OsIntIsRegisted(num)
 

类型定义

typedef struct tagHwiHandleForm HwiHandleInfo
 
typedef struct tagBhwork HwiBhworkItem
 

函数

UINT32 OsHwiInit (VOID)
 
size_t OsIrqNestingCntGet (VOID)
 
VOID OsIrqNestingCntSet (size_t val)
 
VOID OsIntEntry (VOID)
 
STATIC INLINE HwiHandleInfoOsGetHwiForm (UINT32 hwiNum)
 
STATIC INLINE UINT32 OsIntNumGet (VOID)
 
STATIC INLINE BOOL OsIntIsRegisted (UINT32 num)
 
STATIC INLINE HWI_ARG_T OsIntGetPara (UINT32 num)
 
STATIC INLINE CHAROsIntVersionGet (VOID)
 
VOID OsIntHandle (UINT32 hwiNum, HwiHandleInfo *handleForm)
 
STATIC INLINE VOID OsHwiControllerReg (const HwiControllerOps *ops)
 

变量

const HwiControllerOpsg_hwiOps
 

宏定义说明

◆ HWI_IS_REGISTED

#define HWI_IS_REGISTED (   num)    OsIntIsRegisted(num)

◆ HWI_LOCK

#define HWI_LOCK (   state)    LOS_SpinLockSave(NULL, &(state))

◆ HWI_UNLOCK

#define HWI_UNLOCK (   state)    LOS_SpinUnlockRestore(NULL, (state))

◆ OS_HWI_INVALID_IRQ

#define OS_HWI_INVALID_IRQ   0xFFFFFFFF

◆ OS_HWI_UNSUPPORTED_STATUS

#define OS_HWI_UNSUPPORTED_STATUS   0xFFFFFFFF

This represents that the status of interrupt is not supported.

类型定义说明

◆ HwiBhworkItem

typedef struct tagBhwork HwiBhworkItem

◆ HwiHandleInfo

函数说明

◆ OsGetHwiForm()

STATIC INLINE HwiHandleInfo * OsGetHwiForm ( UINT32  hwiNum)

◆ OsHwiControllerReg()

STATIC INLINE VOID OsHwiControllerReg ( const HwiControllerOps ops)

When interrupting the controller driver initialization, controller-related operations need to be implemented and registered;Because the function pointer is not judged in the abstraction layer, all function members defined in HwiControllerOps need to be registered. If this function is not supported, you can call the LOS_Panic interface in the implementation of the stub function to report an error in time.

◆ OsHwiInit()

UINT32 OsHwiInit ( VOID  )
extern

◆ OsIntEntry()

VOID OsIntEntry ( VOID  )
extern

OS Interrupt entry, called by assembly code in dispatch.S. The unified entrance of external interrupt is taken over by the kernel. The handleIrq hook function MUST be registered in the interrupt controller driver layer, otherwise it will not respond. eg: Used for arm(cortex-a/r)/arm64.

◆ OsIntGetPara()

STATIC INLINE HWI_ARG_T OsIntGetPara ( UINT32  num)

◆ OsIntHandle()

VOID OsIntHandle ( UINT32  hwiNum,
HwiHandleInfo handleForm 
)
extern

If the interrupt is in the scenario where the kernel does not take over, the interrupt controller driver layer realizes the general entry ISR and passes the hwiNum and handleForm to this interface. eg: Used for arm(cortex-m),xtensa,riscv.

◆ OsIntIsRegisted()

STATIC INLINE BOOL OsIntIsRegisted ( UINT32  num)

◆ OsIntNumGet()

STATIC INLINE UINT32 OsIntNumGet ( VOID  )

◆ OsIntVersionGet()

STATIC INLINE CHAR * OsIntVersionGet ( VOID  )

◆ OsIrqNestingCntGet()

size_t OsIrqNestingCntGet ( VOID  )
extern

◆ OsIrqNestingCntSet()

VOID OsIrqNestingCntSet ( size_t  val)
extern

变量说明

◆ g_hwiOps

const HwiControllerOps* g_hwiOps
extern