Added code to support getting interrupts from the PIC. Can now get some data from the keyboard, however, it's not quite working yet.

This commit is contained in:
2020-08-06 22:36:39 -05:00
parent db1a68188f
commit 49efafe173
15 changed files with 278 additions and 39 deletions
+1 -1
View File
@@ -16,6 +16,6 @@ struct idt_ptr
} __attribute__((packed));
void install_idt(void);
void idt_set_gate(struct idt_entry*, unsigned long, unsigned short, unsigned char);
void idt_set_gate(unsigned char, unsigned long, unsigned short, unsigned char);
void load_idt(struct idt_ptr*);
#endif
+21
View File
@@ -0,0 +1,21 @@
#ifndef IRQ_H
#define IRQ_H
extern void irq0();
extern void irq1();
extern void irq2();
extern void irq3();
extern void irq4();
extern void irq5();
extern void irq6();
extern void irq7();
extern void irq8();
extern void irq9();
extern void irq10();
extern void irq11();
extern void irq12();
extern void irq13();
extern void irq14();
extern void irq15();
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef KB_H
#define KB_H
void handle_key_press(void);
void init_kb(void);
#endif
+1
View File
@@ -1,4 +1,5 @@
#ifndef KERNEL_H
#define KERNEL_H
void kmain();
void kb_c();
#endif
+7
View File
@@ -0,0 +1,7 @@
#ifndef PIC_H
#define PIC_H
void pic_acknowledge(unsigned int);
void setup_pics(void);
#endif
+1
View File
@@ -4,4 +4,5 @@ void draw_string(char*, unsigned char, unsigned char);
int strlen(char*);
void clear_screen(void);
void print_banner(void);
char* int_to_string(unsigned int, int);
#endif