banan-os/kernel/include/kernel
Bananymous 8af390e0f6 Kernel: Big commit. Rewrite ELF loading code
We now load ELF files to VirtualRanges instead of using kmalloc.
We have only a fixed 1 MiB kmalloc for big allocations and this
allows loading files even when they don't fit in there.

This caused me to rewrite the whole ELF loading process since the
loaded ELF is not in memory mapped by every process.

Virtual ranges allow you to zero out the memory and to copy into
them from arbitary byte buffers.
2023-06-09 00:37:43 +03:00
..
FS Kernel: Inode/Device detection is done with overridden bool functions 2023-06-03 13:28:15 +03:00
Input Kernel: Device dev and rdev number is done more properly 2023-04-03 11:43:16 +03:00
Memory Kernel: Big commit. Rewrite ELF loading code 2023-06-09 00:37:43 +03:00
Storage Kernel: Inode/Device detection is done with overridden bool functions 2023-06-03 13:28:15 +03:00
Terminal Kernel: TTY now supports CSI s and u 2023-06-05 18:19:13 +03:00
ACPI.h Kernel: Map all ACPI tables on initialization 2023-04-18 10:18:15 +03:00
APIC.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Arch.h Kernel: Add bareboness fork() function 2023-05-28 18:08:49 +03:00
Attributes.h Kernel: Initial work on new scheduler with queues 2023-03-08 02:41:44 +02:00
CPUID.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
CriticalScope.h Kernel: Create CriticalScope and fix kmalloc 2023-03-08 13:55:53 +02:00
Debug.h Kernel: d{print,warn,error}ln(...) now has a spinlock 2023-04-22 17:58:51 +03:00
Device.h Kernel: Inode/Device detection is done with overridden bool functions 2023-06-03 13:28:15 +03:00
DeviceManager.h Kernel: Inode/Device detection is done with overridden bool functions 2023-06-03 13:28:15 +03:00
Errors.h Kernel: ATAController will fail to initialize in native mode 2023-04-19 17:29:36 +03:00
Font.h BAN: Modify Span constructors to keep constness correctly 2023-03-23 14:26:03 +02:00
GDT.h Kernel: TSS stack can be set after initialization 2023-04-25 14:48:12 +03:00
IDT.h Kernel: I have no idea what this commit does 2023-01-26 02:55:37 +02:00
IO.h Kernel: Add IO functions inl, outl, and ins{b,w,l} to read into buffer 2023-02-24 12:39:38 +02:00
InterruptController.h Kernel: Create CriticalScope and fix kmalloc 2023-03-08 13:55:53 +02:00
LockGuard.h All: Move to c++20 2023-02-09 23:05:26 +02:00
PCI.h Kernel: PCI devices now report their prog_if 2023-04-19 16:43:05 +03:00
PIC.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
PIT.h Kernel: PIT now has very barebones sleep 2023-02-16 17:53:25 +02:00
Panic.h Kernel: Panic wont print stacktrace if it has already paniced 2023-04-18 10:18:15 +03:00
Process.h Kernel: Big commit. Rewrite ELF loading code 2023-06-09 00:37:43 +03:00
RTC.h Kernel/BAN: move unix time conversion to BAN and add stat to Shell 2023-03-27 00:49:58 +03:00
Scheduler.h Kernel: MMU::get() is now MMU::kernel 2023-05-28 16:18:18 +03:00
Semaphore.h Kernel: ATA now uses irqs instead of polling 2023-04-03 00:03:38 +03:00
Serial.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Shell.h Kernel: Add partial support for shell 2023-04-05 01:30:58 +03:00
SpinLock.h Kernel: Make RecursiveSpinLock thread safe 2023-05-29 19:38:09 +03:00
Syscall.h LibC: Rewrite all the headers. 2023-05-26 22:31:21 +03:00
Thread.h Kernel: Implement Process::exec() 2023-05-31 20:56:29 +03:00
kprint.h Kernel: Start work on making tty a file 2023-04-05 00:56:09 +03:00
multiboot.h BAN: Formatter now uses perfect forwarding on its arguments 2023-03-08 21:31:26 +02:00