#include <irq/i8259a.h>
#include <io.h>
#include <stdint.h>
+#include <time/i8254.h>
+
+unsigned int ticks = 0;
typedef uint32_t uword_t;
__attribute__((interrupt))
void double_fault(struct abort_frame *frame)
{
- *(volatile char *) (0xb8000) = ":";
- *(volatile char *) (0xb8002) = "(";
+ *(volatile uint32_t *) (0xb8000) = 0xcf28cf3a;
+halt:
asm volatile ("cli; hlt");
- while(1);
+ goto halt;
}
+
+__attribute__((interrupt))
+void timer_tick(struct interrupt_frame *frame)
+{
+ pic_send_eoi(0);
+ ticks++;
+}