Age | Commit message (Collapse) | Author |
|
Add the mostly finished physical memory allocator and expose its
functions to the paging system.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add an implmentation of strcpy. This function is used in several places
in the kernel to copy strings between memory addresses.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Clean up everything in the i386 arch directory. This code has been in
dire need of refactoring for a long while. All the inline assembly
functions and the data structures related to the architecture should be
placed into their own header file. Now the scheduler can access
registers and ISRs without having to deal with arch-specific code.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
Add a static variable to the panic function that should lock all other
CPUs.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
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>
|
|
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>
|
|
Add more functions to the string library to process buffers and strings.
Signed-off-by: Danny Holman <dholman@gymli.org>
|
|
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>
|
|
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>
|
|
Create files that add IDT support for i386.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
Add a set of routines that setup the x86's global descriptor table.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
Add a 'k' prefix to the kernel versions of the printf family.
|
|
Add a function in the serial interface that writes an entire string to
the serial line.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
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>
|
|
Keep const pointers const when casting from void to char.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
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>
|
|
Add support for serial communication in the i386 architecture.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
Finish implementing the functions from string.h in string.c.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
Implement a basic printf function using primitives from the TTY library.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
Add the main initialiazation functions within the main kernel directory.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|
|
Add implementations for functions declared in string.h.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
|