summaryrefslogtreecommitdiff
path: root/kernel
AgeCommit message (Collapse)Author
2024-02-16kernel: panic: add a variable that locks other CPUsDanny Holman
Add a static variable to the panic function that should lock all other CPUs. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-02-16kernel: mem: kmalloc should not call page allocationDanny Holman
Strip the code calling for the memory manager to allocate pages to kmalloc. The function should just return a raw pointer while a page fault will allocate the required memory. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-02-16kernel: add a panic functionDanny Holman
Add a panic function that stops the current CPU and prints an error message into the ring buffer. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-02-16kernel: string: add more functions to string libraryDanny Holman
Add more functions to the string library to process buffers and strings. Signed-off-by: Danny Holman <dholman@gymli.org>
2024-02-16kernel: make kprintf print to a ring bufferDanny Holman
The function kprintf should print to an internal ringbuffer instead of directly to the framebuffer. This reduces dependence on the existence of a framebuffer in the first place. Signed-off-by: Danny Holman <dholman@gymli.org>
2023-11-26kernel: mem: add a simple kmalloc implementationDanny Holman
Add a simple implementation of kmalloc. This system only works on x86-based processors at the time of commit. Signed-off-by: Danny Holman <dholman@gymli.org>
2021-08-30i386: create idt.c and isr.sDanny Holman
Create files that add IDT support for i386. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-07-24arch: i386: add GDT setup routinesDanny Holman
Add a set of routines that setup the x86's global descriptor table. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-07-20io: prefix a 'k' to print functionsDanny Holman
Add a 'k' prefix to the kernel versions of the printf family.
2021-01-20serial: add serial_writestring as a functionDanny Holman
Add a function in the serial interface that writes an entire string to the serial line. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-20kernel: iterate over string with indexDanny Holman
Iterate over a formatted string with an index and strlen instead of using a non-const pointer. The latter method may result in unsafe memory conditions. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-20kernel: maintain const on stringsDanny Holman
Keep const pointers const when casting from void to char. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-20serial: don't declare serial_init as staticDanny Holman
The function serial_init should not be declared as static. This function could change under a different architecture and should be defined with the target architecture. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-20i386: add serial port supportDanny Holman
Add support for serial communication in the i386 architecture. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-18kernel: finish implementing string functionsDanny Holman
Finish implementing the functions from string.h in string.c. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-17kernel: implement a basic printf functionDanny Holman
Implement a basic printf function using primitives from the TTY library. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-17kernel: add main initialization functionsDanny Holman
Add the main initialiazation functions within the main kernel directory. Signed-off-by: Danny Holman <dholman@gymli.xyz>
2021-01-17kernel: add string.h implementationsDanny Holman
Add implementations for functions declared in string.h. Signed-off-by: Danny Holman <dholman@gymli.xyz>