Пример #1
0
Файл: isrs.c Проект: temoto/k411
void HalIsrInstall(void)
{
	HalSetIDTGate(0, (uint32_t) HalIsr0, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(1, (uint32_t) HalIsr1, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(2, (uint32_t) HalIsr2, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(3, (uint32_t) HalIsr3, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(4, (uint32_t) HalIsr4, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(5, (uint32_t) HalIsr5, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(6, (uint32_t) HalIsr6, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(7, (uint32_t) HalIsr7, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(8, (uint32_t) HalIsr8, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(9, (uint32_t) HalIsr9, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(10, (uint32_t) HalIsr10, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(11, (uint32_t) HalIsr11, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(12, (uint32_t) HalIsr12, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(13, (uint32_t) HalIsr13, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(14, (uint32_t) HalIsr14, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(15, (uint32_t) HalIsr15, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(16, (uint32_t) HalIsr16, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(17, (uint32_t) HalIsr17, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(18, (uint32_t) HalIsr18, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(19, (uint32_t) HalIsr19, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(20, (uint32_t) HalIsr20, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(21, (uint32_t) HalIsr21, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(22, (uint32_t) HalIsr22, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(23, (uint32_t) HalIsr23, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(24, (uint32_t) HalIsr24, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(25, (uint32_t) HalIsr25, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(26, (uint32_t) HalIsr26, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(27, (uint32_t) HalIsr27, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(28, (uint32_t) HalIsr28, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(29, (uint32_t) HalIsr29, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(30, (uint32_t) HalIsr30, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(31, (uint32_t) HalIsr31, 0x8, 0, 0, IDT_INTR32);
}
Пример #2
0
void HalInitializeSyscalls()
{
	// Register our syscall handler.
	HalSetIDTGate(SYSCALL_INTERRUPT, (uint32_t) HalIsrSyscall, 0x08, 0x8E, 0, IDT_INTR32);
}
Пример #3
0
Файл: irqs.c Проект: danopia/dux
/* We first remap the interrupt controllers, and then we install
*  the appropriate ISRs to the correct entries in the IDT. This
*  is just like installing the exception handlers */
void HalIrqInstall(void)
{
	HalIrqRemap();

	HalSetIDTGate(32, (uint32_t) HalIrq0, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(33, (uint32_t) HalIrq1, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(34, (uint32_t) HalIrq2, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(35, (uint32_t) HalIrq3, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(36, (uint32_t) HalIrq4, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(37, (uint32_t) HalIrq5, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(38, (uint32_t) HalIrq6, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(39, (uint32_t) HalIrq7, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(40, (uint32_t) HalIrq8, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(41, (uint32_t) HalIrq9, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(42, (uint32_t) HalIrq10, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(43, (uint32_t) HalIrq11, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(44, (uint32_t) HalIrq12, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(45, (uint32_t) HalIrq13, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(46, (uint32_t) HalIrq14, 0x8, 0, 0, IDT_INTR32);
	HalSetIDTGate(47, (uint32_t) HalIrq15, 0x8, 0, 0, IDT_INTR32);
}