start implementing APIC utils

This commit is contained in:
2025-08-29 18:35:22 +03:00
parent 9e21167bd3
commit fb8dd43dd3
9 changed files with 176 additions and 15 deletions
+13
View File
@@ -0,0 +1,13 @@
#include "../include/utils.h"
#include <stdint.h>
#include <stdbool.h>
extern bool lapic_enabled;
bool check_apic();
void enable_apic();
void lapic_write(uint32_t reg_offset, uint32_t value);
uint32_t lapic_read(uint32_t reg_offset);
void lapic_eoi();
+2
View File
@@ -4,6 +4,8 @@
#include "../include/utils.h"
void pic_remap(int offset1, int offset2);
void pic_disable(void);
void pic_end_int(uint8_t irq);
void pic_apply_masks();
#endif
+6
View File
@@ -11,6 +11,12 @@ void get_fancy_datetime();
void get_datetime(uint16_t *year, uint8_t *month, uint8_t *day, uint8_t *hour, uint8_t *minute, uint8_t *second);
uint32_t fat32_datetime(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second);
//got these from osdev.org
void cpuid(int code, uint32_t *a, uint32_t *d);
bool cpuHasMSR();
void cpuGetMSR(uint32_t msr, uint32_t *lo, uint32_t *hi);
void cpuSetMSR(uint32_t msr, uint32_t lo, uint32_t hi);
#define inb inportb
#define outb outportb