Files
xiuos/Ubiquitous/XiZi_AIoT/hardkernel/abstraction/interrupt.c
2022-12-19 16:33:25 +08:00

45 lines
718 B
C
Executable File

extern void _svcall(uintptr_t* contex);
x_base __attribute__((naked)) DisableLocalInterrupt()
{
}
void __attribute__((naked)) EnableLocalInterrupt(x_base level)
{
}
int32 ArchEnableHwIrq(uint32_t irq_num)
{
return EOK;
}
int32 ArchDisableHwIrq(uint32_t irq_num)
{
return EOK;
}
extern void KTaskOsAssignAfterIrq(void *context);
void IsrEntry()
{
uint32_t ipsr;
// __asm__ volatile("MRS %0, IPSR" : "=r"(ipsr));
isrManager.done->incCounter();
isrManager.done->handleIrq(ipsr);
KTaskOsAssignAfterIrq(NONE);
isrManager.done->decCounter();
}
uintptr_t *Svcall(unsigned int ipsr, uintptr_t* contex )
{
#ifdef TASK_ISOLATION
_svcall(contex);
#endif
return contex;
}