banan-os/kernel/include/kernel
Bananymous dc2a455395 Kernel: Optimize processes' memory management
Memory regions are now stored in a sorted array. This allows O(nlogn)
lookup for address validation instead of the old linear lookup.

Now inserting new regions is also O(nlogn) instead of the old constant
time, but lookups are **much** more frequent
2025-11-17 05:26:07 +02:00
..
ACPI Kernel: Add missing ACPI resource header 2025-08-19 16:23:30 +03:00
Audio Kernel: Don't stop audio processing after each entry in AC97 2025-08-07 16:43:05 +03:00
Device Kernel: Expose boot framebuffer device 2025-10-28 05:50:19 +02:00
FS Kernel/LibC: Implement {recv,send}msg as syscalls 2025-11-10 01:40:33 +02:00
Input Kernel: Look for PS/2 devices in the ACPI namespace 2025-08-15 17:02:15 +03:00
Lock Kernel: Allow relockign mutex even when holding a spinlock 2025-06-28 19:40:54 +03:00
Memory Kernel: Implement proper memory region splitting 2025-11-13 04:20:53 +02:00
Networking Kernel: Implement connect for UDP socket 2025-11-17 05:26:07 +02:00
Storage Kernel: Make F11 drop disk cache 2025-08-31 00:36:59 +03:00
Terminal Kernel/LibC: Rework TIOC{G,S}WINSZ more linux like 2025-06-28 19:40:54 +03:00
Timer Kernel: Fix system timer disabling 2025-07-16 20:02:04 +03:00
USB Kernel: Add support for absolute position mouse 2025-07-19 18:00:39 +03:00
APIC.h Kernel: Add API to reserve GSI instead of irq 2025-04-01 23:09:30 +03:00
Arch.h Kernel: Replace i386 with i686 2024-03-26 02:48:26 +02:00
Attributes.h Kernel: add NEVER_INLINE and make Interruptable not constructable 2023-10-13 16:17:27 +03:00
BananBootloader.h Kernel: Add support for text mode terminal 2025-04-18 02:45:06 +03:00
BootInfo.h Kernel: Don't ignore modules passed with multiboot2 2025-07-02 00:17:42 +03:00
CPUID.h Kernel: Add CPUID check for 1 GiB page support 2024-10-14 11:38:03 +03:00
Credentials.h Kernel/LibC: Implement {get,set,init}groups 2025-08-10 19:57:31 +03:00
Debug.h Kernel: Show QR code with panic logs on kernel panic 2025-10-28 05:50:19 +02:00
ELF.h Kernel/LibC: Implement chroot 2025-08-11 14:07:37 +03:00
Epoll.h BuildSystem: binutils1.39->1.44, gcc12.2.0->15.1.0 2025-06-19 19:00:50 +03:00
Errors.h Kernel: Add support for ATA CHS addressing and cleanup code 2024-11-19 20:39:32 +02:00
GDT.h Kernel/LibC: Replace SYS_{GET,SET}_TLS with SYS_{SET,GET}_{FS,GS}BASE 2025-11-13 04:20:53 +02:00
IDT.h Kernel: Add custom stack to double fault handler 2025-07-02 23:14:52 +03:00
IO.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
InterruptController.h Kernel: Implement API for sending IPIs for only one processor 2024-07-21 17:30:59 +03:00
InterruptStack.h Kernel: Rewrite the whole scheduler and re-architecture SMP handling 2024-07-22 00:33:50 +03:00
Interruptable.h Kernel: Fix interrupt system 2024-09-27 15:31:31 +03:00
MMIO.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
OpenFileDescriptorSet.h Kernel: Implement fd passing with SCM_RIGTHS 2025-11-12 00:06:36 +02:00
PCI.h Kernel: Implement PCI interrupt routing 2025-04-01 23:09:30 +03:00
PIC.h Kernel: Force PCI irq line usage when not using APIC 2024-07-23 09:08:00 +03:00
Panic.h Kernel: Show QR code with panic logs on kernel panic 2025-10-28 05:50:19 +02:00
Process.h Kernel: Optimize processes' memory management 2025-11-17 05:26:07 +02:00
Processor.h Kernel/LibC: Replace SYS_{GET,SET}_TLS with SYS_{SET,GET}_{FS,GS}BASE 2025-11-13 04:20:53 +02:00
ProcessorID.h Kernel: Make thread unblocking O(1) 2024-07-24 00:31:01 +03:00
RSDP.h Kernel: Parse RSDP from multiboot headers if exists 2024-01-26 00:49:42 +02:00
Random.h Kernel: Fix Random.h includes 2025-05-13 10:16:21 +03:00
Scheduler.h Kernel: Rewrite ThreadBlocker 2025-07-02 00:17:42 +03:00
SchedulerQueueNode.h Kernel: Rewrite ThreadBlocker 2025-07-02 00:17:42 +03:00
Syscall.h BuildSystem: binutils1.39->1.44, gcc12.2.0->15.1.0 2025-06-19 19:00:50 +03:00
Thread.h Kernel/LibC: Replace SYS_{GET,SET}_TLS with SYS_{SET,GET}_{FS,GS}BASE 2025-11-13 04:20:53 +02:00
ThreadBlocker.h Kernel: Rewrite ThreadBlocker 2025-07-02 00:17:42 +03:00
kprint.h Kernel: Start work on making tty a file 2023-04-05 00:56:09 +03:00
multiboot.h Kernel: Add missing multiboot.h 2025-08-05 17:12:26 +03:00
multiboot2.h Kernel: Don't ignore modules passed with multiboot2 2025-07-02 00:17:42 +03:00