banan-os/kernel/include/kernel
Bananymous 3bac19e518 Kernel: Add fast page to page table
Add "fast page" to KERNEL_OFFSET. This is always present in page
tables and only requires changing the page table entry to map. This
requires no interrupts since it should only be for very operations
like memcpy.

I used to map all temporary mappings to vaddr 0, but this is much
better. C++ standard always says that nullptr access is undefined
and this gets rid of it.

Fixed some bugs I found along the way
2023-10-30 19:02:09 +02:00
..
API All: Clear lines with only whitspace in them 2023-09-10 00:31:42 +03:00
Device Kernel: Rewrite all read/write functions to use BAN::ByteSpan 2023-10-24 11:56:00 +03:00
FS Kernel: Rewrite a lot of ext2 code 2023-10-28 22:13:28 +03:00
Input Kernel: Rewrite all read/write functions to use BAN::ByteSpan 2023-10-24 11:56:00 +03:00
Memory Kernel: Add fast page to page table 2023-10-30 19:02:09 +02:00
Networking Kernel: PCI checks if ethernet device is E1000 before initialization 2023-10-16 01:44:54 +03:00
Storage Kernel: Add timeout to ACHI commands 2023-10-24 11:56:25 +03:00
Terminal Kernel: Rewrite all read/write functions to use BAN::ByteSpan 2023-10-24 11:56:00 +03: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
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: TSS stack can be set after initialization 2023-04-25 14:48:12 +03: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/LibC: Add syscall and wrapper for unlink 2023-10-25 21:45:04 +03: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: Fix stack OOB detection 2023-10-30 12:17:08 +02:00
kprint.h Kernel: Start work on making tty a file 2023-04-05 00:56:09 +03:00
multiboot2.h Kernel: Start using multiboot2 instead of multiboot 2023-10-17 01:06:24 +03:00