New repo setup

This commit is contained in:
2024-05-28 14:26:46 -05:00
commit 9ee197f57b
97 changed files with 11047 additions and 0 deletions

31
src/devices/timer.cpp Normal file
View File

@@ -0,0 +1,31 @@
#include "timer.h"
#include "kernel.h"
#include "util/log.h"
volatile unsigned int *const kernel::devices::SystemTimer::registers = (unsigned int *)0xFFFFFF803F003000;
kernel::devices::SystemTimer::SystemTimer()
{
this->delta = 50;
reset();
}
kernel::devices::SystemTimer::SystemTimer(unsigned int delta)
{
this->delta = delta;
reset();
}
void kernel::devices::SystemTimer::handleInterrupt(int src)
{
reset();
// kernelLog(LogLevel::DEBUG, "Timer interrupt: %i", registers[CLO]);
kernel::kernel.switchTask();
}
void kernel::devices::SystemTimer::reset()
{
unsigned int currentTime = registers[CLO];
registers[C1] = currentTime + (delta * 1000);
registers[CS] = 0xF;
}