using of the correct data types
=> avoids some conflicts on other architectures
This commit is contained in:
parent
8c9504a87f
commit
5290cd0002
1 changed files with 33 additions and 33 deletions
|
@ -91,69 +91,69 @@ void isrs_install(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
idt_set_gate(0, (unsigned)isr0, KERNEL_CODE_SELECTOR,
|
idt_set_gate(0, (size_t)isr0, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(1, (unsigned)isr1, KERNEL_CODE_SELECTOR,
|
idt_set_gate(1, (size_t)isr1, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(2, (unsigned)isr2, KERNEL_CODE_SELECTOR,
|
idt_set_gate(2, (size_t)isr2, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(3, (unsigned)isr3, KERNEL_CODE_SELECTOR,
|
idt_set_gate(3, (size_t)isr3, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(4, (unsigned)isr4, KERNEL_CODE_SELECTOR,
|
idt_set_gate(4, (size_t)isr4, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(5, (unsigned)isr5, KERNEL_CODE_SELECTOR,
|
idt_set_gate(5, (size_t)isr5, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(6, (unsigned)isr6, KERNEL_CODE_SELECTOR,
|
idt_set_gate(6, (size_t)isr6, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(7, (unsigned)isr7, KERNEL_CODE_SELECTOR,
|
idt_set_gate(7, (size_t)isr7, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(8, (unsigned)isr8, KERNEL_CODE_SELECTOR,
|
idt_set_gate(8, (size_t)isr8, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(9, (unsigned)isr9, KERNEL_CODE_SELECTOR,
|
idt_set_gate(9, (size_t)isr9, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(10, (unsigned)isr10, KERNEL_CODE_SELECTOR,
|
idt_set_gate(10, (size_t)isr10, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(11, (unsigned)isr11, KERNEL_CODE_SELECTOR,
|
idt_set_gate(11, (size_t)isr11, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(12, (unsigned)isr12, KERNEL_CODE_SELECTOR,
|
idt_set_gate(12, (size_t)isr12, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(13, (unsigned)isr13, KERNEL_CODE_SELECTOR,
|
idt_set_gate(13, (size_t)isr13, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(14, (unsigned)isr14, KERNEL_CODE_SELECTOR,
|
idt_set_gate(14, (size_t)isr14, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(15, (unsigned)isr15, KERNEL_CODE_SELECTOR,
|
idt_set_gate(15, (size_t)isr15, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(16, (unsigned)isr16, KERNEL_CODE_SELECTOR,
|
idt_set_gate(16, (size_t)isr16, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(17, (unsigned)isr17, KERNEL_CODE_SELECTOR,
|
idt_set_gate(17, (size_t)isr17, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(18, (unsigned)isr18, KERNEL_CODE_SELECTOR,
|
idt_set_gate(18, (size_t)isr18, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(19, (unsigned)isr19, KERNEL_CODE_SELECTOR,
|
idt_set_gate(19, (size_t)isr19, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(20, (unsigned)isr20, KERNEL_CODE_SELECTOR,
|
idt_set_gate(20, (size_t)isr20, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(21, (unsigned)isr21, KERNEL_CODE_SELECTOR,
|
idt_set_gate(21, (size_t)isr21, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(22, (unsigned)isr22, KERNEL_CODE_SELECTOR,
|
idt_set_gate(22, (size_t)isr22, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(23, (unsigned)isr23, KERNEL_CODE_SELECTOR,
|
idt_set_gate(23, (size_t)isr23, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(24, (unsigned)isr24, KERNEL_CODE_SELECTOR,
|
idt_set_gate(24, (size_t)isr24, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(25, (unsigned)isr25, KERNEL_CODE_SELECTOR,
|
idt_set_gate(25, (size_t)isr25, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(26, (unsigned)isr26, KERNEL_CODE_SELECTOR,
|
idt_set_gate(26, (size_t)isr26, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(27, (unsigned)isr27, KERNEL_CODE_SELECTOR,
|
idt_set_gate(27, (size_t)isr27, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(28, (unsigned)isr28, KERNEL_CODE_SELECTOR,
|
idt_set_gate(28, (size_t)isr28, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(29, (unsigned)isr29, KERNEL_CODE_SELECTOR,
|
idt_set_gate(29, (size_t)isr29, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(30, (unsigned)isr30, KERNEL_CODE_SELECTOR,
|
idt_set_gate(30, (size_t)isr30, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
idt_set_gate(31, (unsigned)isr31, KERNEL_CODE_SELECTOR,
|
idt_set_gate(31, (size_t)isr31, KERNEL_CODE_SELECTOR,
|
||||||
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
IDT_FLAG_PRESENT|IDT_FLAG_RING0|IDT_FLAG_32BIT|IDT_FLAG_INTTRAP);
|
||||||
|
|
||||||
// install the default handler
|
// install the default handler
|
||||||
|
@ -235,7 +235,7 @@ static void fault_handler(struct state *s)
|
||||||
/* Now, we signalize that we have handled the interrupt */
|
/* Now, we signalize that we have handled the interrupt */
|
||||||
if (apic_is_enabled())
|
if (apic_is_enabled())
|
||||||
apic_eoi();
|
apic_eoi();
|
||||||
else
|
else
|
||||||
outportb(0x20, 0x20);
|
outportb(0x20, 0x20);
|
||||||
|
|
||||||
irq_enable();
|
irq_enable();
|
||||||
|
|
Loading…
Add table
Reference in a new issue