banan-os/kernel/include/kernel
Bananymous 76f48f095c Kernel: Rewrite a lot of ext2 code
This commit consists of multiple big changes

1. blocks for inodes are now allocated on demand
  - reading from non allocated block will just return zeroes
  - writing to non allocated block allocates it

2. code doesn't really use raw pointers anymore
  - all casts to uint32_t or structures are now replaced with
    spans. either as<T> or as_span<T> which both are bounds
	checked

3. code doesn't depend on random macros for accessing indirect blocks
  - i added some recursive functions which take care of this :)
2023-10-28 22:13:28 +03: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 vaddr/paddr conversion functions to DMARegion 2023-10-12 15:20:05 +03: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 wont print stacktrace if it has already paniced 2023-04-18 10:18:15 +03: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: Add physical memory info to /proc/{pid}/meminfo 2023-09-30 22:11:45 +03: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