550W Document
550W, a high-end OS
irq.h 文件参考
#include <common/types.h>
#include <os/pcb.h>
irq.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

宏定义

#define PLIC_NR_IRQS   32
 
#define PLIC_NR_CTXS   4
 
#define TIMER_INTERVAL   150000
 

类型定义

typedef void(* handler_t) (regs_context_t *, uint64_t, uint64_t, uint64_t)
 

枚举

enum  IrqCode {
  IRQC_U_SOFT = 0 , IRQC_S_SOFT = 1 , IRQC_M_SOFT = 3 , IRQC_U_TIMER = 4 ,
  IRQC_S_TIMER = 5 , IRQC_M_TIMER = 7 , IRQC_U_EXT = 8 , IRQC_S_EXT = 9 ,
  IRQC_M_EXT = 11 , IRQC_COUNT
}
 
enum  ExcCode {
  EXCC_INST_MISALIGNED = 0 , EXCC_INST_ACCESS = 1 , EXCC_BREAKPOINT = 3 , EXCC_LOAD_ACCESS = 5 ,
  EXCC_STORE_ACCESS = 7 , EXCC_SYSCALL = 8 , EXCC_INST_PAGE_FAULT = 12 , EXCC_LOAD_PAGE_FAULT = 13 ,
  EXCC_STORE_PAGE_FAULT = 15 , EXCC_COUNT
}
 
enum  IrqExtCode { IRQC_EXT_VIRTIO_BLK_IEQ = 1 , IRQC_EXT_COUNT }
 

函数

void k_init_syscall (void)
 
void k_init_exception ()
 
void setup_exception ()
 
void enable_interrupt ()
 
void disable_interrupt ()
 
void enable_software_interrupt ()
 
void disable_software_interrupt ()
 
void enable_timer_interrupt ()
 
void disable_timer_interrupt ()
 
void enable_external_interrupt ()
 
void disable_external_interrupt ()
 
void wfi ()
 

宏定义说明

◆ PLIC_NR_CTXS

#define PLIC_NR_CTXS   4

◆ PLIC_NR_IRQS

#define PLIC_NR_IRQS   32

◆ TIMER_INTERVAL

#define TIMER_INTERVAL   150000

类型定义说明

◆ handler_t

typedef void(* handler_t) (regs_context_t *, uint64_t, uint64_t, uint64_t)

枚举类型说明

◆ ExcCode

enum ExcCode
枚举值
EXCC_INST_MISALIGNED 
EXCC_INST_ACCESS 
EXCC_BREAKPOINT 
EXCC_LOAD_ACCESS 
EXCC_STORE_ACCESS 
EXCC_SYSCALL 
EXCC_INST_PAGE_FAULT 
EXCC_LOAD_PAGE_FAULT 
EXCC_STORE_PAGE_FAULT 
EXCC_COUNT 

◆ IrqCode

enum IrqCode
枚举值
IRQC_U_SOFT 
IRQC_S_SOFT 
IRQC_M_SOFT 
IRQC_U_TIMER 
IRQC_S_TIMER 
IRQC_M_TIMER 
IRQC_U_EXT 
IRQC_S_EXT 
IRQC_M_EXT 
IRQC_COUNT 

◆ IrqExtCode

enum IrqExtCode
枚举值
IRQC_EXT_VIRTIO_BLK_IEQ 
IRQC_EXT_COUNT 

函数说明

◆ disable_external_interrupt()

void disable_external_interrupt ( )

◆ disable_interrupt()

void disable_interrupt ( )

◆ disable_software_interrupt()

void disable_software_interrupt ( )

◆ disable_timer_interrupt()

void disable_timer_interrupt ( )

◆ enable_external_interrupt()

void enable_external_interrupt ( )

◆ enable_interrupt()

void enable_interrupt ( )

◆ enable_software_interrupt()

void enable_software_interrupt ( )

◆ enable_timer_interrupt()

void enable_timer_interrupt ( )

◆ k_init_exception()

void k_init_exception ( )

◆ k_init_syscall()

void k_init_syscall ( void  )

◆ setup_exception()

void setup_exception ( )

◆ wfi()

void wfi ( )