Added timer ISR
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
#include "isr.h"
|
#include "isr.h"
|
||||||
#include "stdio.h"
|
#include "stdio.h"
|
||||||
|
#include "apic.h"
|
||||||
|
|
||||||
__attribute__ ((interrupt))
|
__attribute__ ((interrupt))
|
||||||
void isr_division_by_zero(void* frame)
|
void isr_division_by_zero(void* frame)
|
||||||
@@ -25,6 +26,13 @@ void isr_double_fault(void* frame, unsigned int error)
|
|||||||
asm("hlt");
|
asm("hlt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__attribute__ ((interrupt))
|
||||||
|
void isr_timer(void* frame)
|
||||||
|
{
|
||||||
|
printf("Timer tick.\n");
|
||||||
|
apic_eoi();
|
||||||
|
}
|
||||||
|
|
||||||
__attribute__ ((naked))
|
__attribute__ ((naked))
|
||||||
void isr_ap_start(void* frame)
|
void isr_ap_start(void* frame)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,6 +12,9 @@ void isr_page_fault(void* frame, unsigned int error);
|
|||||||
__attribute__ ((interrupt))
|
__attribute__ ((interrupt))
|
||||||
void isr_double_fault(void* frame, unsigned int error);
|
void isr_double_fault(void* frame, unsigned int error);
|
||||||
|
|
||||||
|
__attribute__ ((interrupt))
|
||||||
|
void isr_timer(void* frame);
|
||||||
|
|
||||||
__attribute__ ((naked))
|
__attribute__ ((naked))
|
||||||
void isr_ap_start(void* frame);
|
void isr_ap_start(void* frame);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user