550W Document
550W, a high-end OS
plic.c 文件参考
#include <common/types.h>
#include <drivers/plic/plic.h>
#include <drivers/virtio/virtio.h>
#include <os/ioremap.h>
#include <os/smp.h>
plic.c 的引用(Include)关系图:

宏定义

#define PLIC   0x0c000000L
 
#define PLIC_PRIORITY   (plic_base + 0x0)
 
#define PLIC_PENDING   (plic_base + 0x1000)
 
#define PLIC_MENABLE(hart)   (plic_base + 0x2000 + (hart)*0x100)
 
#define PLIC_SENABLE(hart)   (plic_base + 0x2080 + (hart)*0x100)
 
#define PLIC_MPRIORITY(hart)   (plic_base + 0x200000 + (hart)*0x2000)
 
#define PLIC_SPRIORITY(hart)   (plic_base + 0x201000 + (hart)*0x2000)
 
#define PLIC_MCLAIM(hart)   (plic_base + 0x200004 + (hart)*0x2000)
 
#define PLIC_SCLAIM(hart)   (plic_base + 0x201004 + (hart)*0x2000)
 

函数

void d_plic_init (void)
 
void d_plic_init_hart (void)
 
int d_plic_claim (void)
 
void d_plic_complete (int irq)
 

变量

uintptr_t plic_base
 

宏定义说明

◆ PLIC

#define PLIC   0x0c000000L

◆ PLIC_MCLAIM

#define PLIC_MCLAIM (   hart)    (plic_base + 0x200004 + (hart)*0x2000)

◆ PLIC_MENABLE

#define PLIC_MENABLE (   hart)    (plic_base + 0x2000 + (hart)*0x100)

◆ PLIC_MPRIORITY

#define PLIC_MPRIORITY (   hart)    (plic_base + 0x200000 + (hart)*0x2000)

◆ PLIC_PENDING

#define PLIC_PENDING   (plic_base + 0x1000)

◆ PLIC_PRIORITY

#define PLIC_PRIORITY   (plic_base + 0x0)

◆ PLIC_SCLAIM

#define PLIC_SCLAIM (   hart)    (plic_base + 0x201004 + (hart)*0x2000)

◆ PLIC_SENABLE

#define PLIC_SENABLE (   hart)    (plic_base + 0x2080 + (hart)*0x100)

◆ PLIC_SPRIORITY

#define PLIC_SPRIORITY (   hart)    (plic_base + 0x201000 + (hart)*0x2000)

函数说明

◆ d_plic_claim()

int d_plic_claim ( void  )

◆ d_plic_complete()

void d_plic_complete ( int  irq)

◆ d_plic_init()

void d_plic_init ( void  )

◆ d_plic_init_hart()

void d_plic_init_hart ( void  )

变量说明

◆ plic_base

uintptr_t plic_base