cleanup
This commit is contained in:
@@ -21,8 +21,6 @@ typedef struct {
|
|||||||
|
|
||||||
static idtr_t idtr;
|
static idtr_t idtr;
|
||||||
|
|
||||||
//void idt_init(void);
|
|
||||||
//void idt_set_descriptor(uint8_t vector, void* isr, uint8_t flags);
|
|
||||||
void idt_set_descriptor(uint8 vector, uint32 isr, uint8_t flags);
|
void idt_set_descriptor(uint8 vector, uint32 isr, uint8_t flags);
|
||||||
void idt_set();
|
void idt_set();
|
||||||
|
|
||||||
|
|||||||
@@ -1,26 +1,11 @@
|
|||||||
#include "../include/idt.h"
|
#include "../include/idt.h"
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
//IDT_MAX_DESCRIPTORS = 256
|
|
||||||
static bool vectors[sizeof(idt)];
|
static bool vectors[sizeof(idt)];
|
||||||
|
|
||||||
extern void* isr_stub_table[];
|
extern void* isr_stub_table[];
|
||||||
|
|
||||||
#define KERNEL_CS 0x08
|
#define KERNEL_CS 0x08
|
||||||
|
|
||||||
|
|
||||||
/*void idt_init() {
|
|
||||||
idtr.base = (uintptr_t)&idt[0];
|
|
||||||
idtr.limit = (uint16_t)sizeof(idt_entry_t) * sizeof(idt) - 1;
|
|
||||||
|
|
||||||
for (uint8_t vector = 0; vector < 32; vector++) {
|
|
||||||
idt_set_descriptor(vector, isr_stub_table[vector], 0x8E);
|
|
||||||
vectors[vector] = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
__asm__ volatile ("lidt %0" : : "m"(idtr)); // load the new IDT
|
|
||||||
__asm__ volatile ("sti"); // set the interrupt flag
|
|
||||||
}*/
|
|
||||||
|
|
||||||
void idt_set() {
|
void idt_set() {
|
||||||
idtr.base = (uint32) &idt;
|
idtr.base = (uint32) &idt;
|
||||||
idtr.limit = sizeof(idt) * sizeof(idt_entry_t) - 1;
|
idtr.limit = sizeof(idt) * sizeof(idt_entry_t) - 1;
|
||||||
@@ -28,7 +13,6 @@ void idt_set() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//void idt_set_descriptor(uint8_t vector, void* isr, uint8_t flags)
|
|
||||||
void idt_set_descriptor(uint8_t vector, uint32 isr, uint8_t flags) {
|
void idt_set_descriptor(uint8_t vector, uint32 isr, uint8_t flags) {
|
||||||
idt_entry_t* descriptor = &idt[vector];
|
idt_entry_t* descriptor = &idt[vector];
|
||||||
|
|
||||||
|
|||||||
@@ -4,17 +4,6 @@
|
|||||||
#include "../include/stdio.h"
|
#include "../include/stdio.h"
|
||||||
#include "../include/utils.h"
|
#include "../include/utils.h"
|
||||||
|
|
||||||
/* Check if the compiler thinks you are targeting the wrong operating system. */
|
|
||||||
/*#if defined(__linux__)
|
|
||||||
#error "You are not using a cross-compiler, you will most certainly run into trouble"
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
/* This tutorial will only work for the 32-bit ix86 targets. */
|
|
||||||
/*#if !defined(__i386__)
|
|
||||||
#error "This tutorial needs to be compiled with a ix86-elf compiler"
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
void kmain()
|
void kmain()
|
||||||
{
|
{
|
||||||
terminal_initialize();
|
terminal_initialize();
|
||||||
|
|||||||
@@ -44,11 +44,6 @@ void terminal_putentryat(char c, uint8_t color, size_t x, size_t y)
|
|||||||
|
|
||||||
void terminal_putchar(char c)
|
void terminal_putchar(char c)
|
||||||
{
|
{
|
||||||
/*if(c == '\n')
|
|
||||||
{
|
|
||||||
terminal_column = 0;
|
|
||||||
terminal_row++;
|
|
||||||
}*/
|
|
||||||
if(c != '\n')
|
if(c != '\n')
|
||||||
terminal_putentryat(c, terminal_color, terminal_column, terminal_row);
|
terminal_putentryat(c, terminal_color, terminal_column, terminal_row);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user