banan-os/kernel/include/kernel
Bananymous 1c78671078 Kernel: Rework all signal code
Signal handling code was way too complex. Now everything is
simplified and there is no need for ThreadBlockers.

Only complication that this patch includes is that blocking syscalls
have to manually be made interruptable by signal. There might be some
clever solution to combat this is make this happen automatically.
2023-12-06 13:02:17 +02:00
..
API All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
Device Kernel: Implement mmaping for framebuffer device 2023-11-28 23:51:56 +02:00
FS Kernel: Make Ext2 filesystem use BlockDevice instead of Partition 2023-11-21 15:20:24 +02:00
Input Kernel: Make PS/2 keyboard wait until interrupts are enabled 2023-11-07 15:58:50 +02:00
Memory Kernel/LibC: Implement very basic msync 2023-11-22 22:44:06 +02:00
Networking Kernel: PCI checks if ethernet device is E1000 before initialization 2023-10-16 01:44:54 +03:00
Storage Kernel: Add common {read,write}_blocks() api to BlockDevice 2023-11-21 15:19:07 +02:00
Terminal Kernel: Delete the now obsolete VesaTerminalDriver 2023-11-22 21:59:11 +02:00
Timer Kernel: Add Timer::ns_since_boot() 2023-10-12 21:16:39 +03:00
ACPI.h Kernel: Allow getting ACPI headers with same signature 2023-10-13 11:24:21 +03:00
APIC.h Kernel: Rework interrupt mechanism 2023-10-05 18:53:45 +03:00
Arch.h Kernel: Add LAI as a dependency 2023-09-22 17:20:35 +03:00
Attributes.h Kernel: add NEVER_INLINE and make Interruptable not constructable 2023-10-13 16:17:27 +03:00
BananBootloader.h Bootloader: Implement VESA video mode query and pass it to kernel 2023-11-17 22:45:35 +02:00
BootInfo.h Kernel: Don't use multiboot2 explicitly. Parse it to common structure 2023-11-17 18:54:59 +02:00
CPUID.h All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
Credentials.h Kernel: Add syscalls for set{,e,re}{uid,gid} 2023-06-11 22:37:00 +03:00
CriticalScope.h All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
Debug.h Kernel: Add constexpr conditional debug prints 2023-09-22 17:20:35 +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: Add helper for checking whether segment is from userspace 2023-12-06 12:57:13 +02:00
IDT.h Kernel: Rework interrupt mechanism 2023-10-05 18:53:45 +03: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: add NEVER_INLINE and make Interruptable not constructable 2023-10-13 16:17:27 +03:00
InterruptStack.h Kernel: Syscalls now get the interrupt stack 2023-07-21 11:04:16 +03:00
LockGuard.h All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
MMIO.h Kernel: Implement basic MMIO functions 2023-08-04 15:12:29 +03:00
OpenFileDescriptorSet.h Kernel: Rewrite all read/write functions to use BAN::ByteSpan 2023-10-24 11:56:00 +03:00
PCI.h Kernel: Fix PCI bugs 2023-10-16 16:50:49 +03:00
PIC.h Kernel: Rework interrupt mechanism 2023-10-05 18:53:45 +03:00
Panic.h Kernel: panic takes arguments as rvalue references 2023-10-30 16:22:02 +02:00
Process.h Kernel: Remove unnecessary raise syscall 2023-12-06 13:00:45 +02:00
Scheduler.h Kernel: Separate scheduler execution and stack loading 2023-10-13 16:17:27 +03:00
Semaphore.h Kernel: remove Semaphore::is_blocked 2023-07-24 22:23:13 +03:00
SpinLock.h Kernel: Locks allow locking after locker is invalid 2023-07-27 18:52:51 +03:00
Syscall.h LibC: Rewrite all the headers. 2023-05-26 22:31:21 +03:00
Thread.h Kernel: Rework all signal code 2023-12-06 13:02:17 +02:00
kprint.h Kernel: Start work on making tty a file 2023-04-05 00:56:09 +03:00
multiboot2.h Kernel: Don't use multiboot2 explicitly. Parse it to common structure 2023-11-17 18:54:59 +02:00