Commit Graph

113 Commits

Author SHA1 Message Date
Matheus a319c1ebcc IO: fix missing headers 2022-09-08 17:14:14 -03:00
Matheus f643cddd05 APIC: legacy irq stuff 2022-09-08 17:13:51 -03:00
Matheus 2586acc14f keyboard: stub 2022-09-07 16:11:24 -03:00
Matheus 2f691d8051 ringbuffers: initial implementation 2022-09-07 15:00:45 -03:00
Matheus ad182d3872 events: finish implementation 2022-09-04 18:01:09 -03:00
Matheus 4c0ee7179e scheduler: yield 2022-09-04 17:40:53 -03:00
Matheus 20249b07b2 Events: stub 2022-09-04 14:44:12 -03:00
Matheus 2f8c8fc8e3 ELF: don't change the cpu context 2022-09-04 14:42:59 -03:00
Matheus 5127ce9217 x86_64 syscalls: enable interrupts after loading sane state 2022-09-03 13:13:07 -03:00
Matheus 33e6f26415 interrupts: disable and enable abstraction 2022-09-02 12:06:41 -03:00
Matheus e99142e3ea Makefile: make sure iso folder exists 2022-08-29 00:25:54 -03:00
Matheus 1bef1e3dee syscalls: stat: make return values sane and fix check 2022-08-29 00:22:22 -03:00
Matheus cd8b9ae1e6 vfs: break traversal at separator only filename 2022-08-29 00:21:56 -03:00
Matheus 13a6618041 ELF: make sure stack is always 16 byte aligned 2022-08-28 23:52:17 -03:00
Matheus 3066fdbb4f syscalls: stat: add another case that returns EFAULT 2022-08-28 22:44:37 -03:00
Matheus 56bee8be77 VFS: dot entries 2022-08-28 16:28:11 -03:00
Matheus 54d9c3d809 vfs: very basic locking 2022-08-27 21:12:50 -03:00
Matheus a40cda2b50 idt: have interrupts be disabled before swapgs 2022-08-27 21:05:03 -03:00
Matheus 06e91be62e syscalls: read: seek on read 2022-08-27 20:29:25 -03:00
Matheus 6d4439ee2f tmpfs: set error to 0 on read 2022-08-27 20:28:09 -03:00
Matheus edba446ba4 ELF: refactor loader 2022-08-27 20:27:14 -03:00
Matheus 023937809d bugfixes, change types.h to be linux abi, stat system call 2022-08-23 19:44:18 -03:00
Matheus 9c6ce452f8 /dev/console 2022-08-20 15:15:10 -03:00
Matheus f7e5b5ba67 proper limine terminal interface 2022-08-20 14:16:26 -03:00
Matheus df9977b7db make pagealloc zero memory 2022-08-20 13:26:31 -03:00
Matheus bd94ce8134 write system call 2022-08-20 13:01:26 -03:00
Matheus b3b5981f7a isatty syscall 2022-08-20 12:47:23 -03:00
Matheus fce640c0f9 sse support 2022-08-20 11:58:05 -03:00
Matheus 1ed7aafa46 properly zero memory on demand paging and mmap 2022-08-20 00:01:54 -03:00
Matheus c9762db4cc fix errorless exception handling 2022-08-19 22:54:22 -03:00
Matheus fc7986e5be close syscall 2022-08-19 22:54:07 -03:00
Matheus 9e3f0b5c3f arch_ctl fsbase 2022-08-19 22:53:08 -03:00
Matheus f04d4b5a31 page allocator for alloc() 2022-08-19 22:11:06 -03:00
Matheus af3e62d37c syscall_mmap() bugfix
it wasn't accepting mappings with MAP_FIXED flags
2022-08-19 20:33:44 -03:00
Matheus d8d5f44d8e lseek syscall 2022-08-19 20:26:37 -03:00
Matheus 6350621f7d read syscall 2022-08-19 20:07:59 -03:00
Matheus 098b2f5691 open syscall 2022-08-19 20:03:38 -03:00
Matheus 1d3405ba10 file decriptors 2022-08-19 18:01:32 -03:00
Matheus 4de0ff2556 gettid syscall, fix issues with vmm and mmap syscall 2022-08-18 22:12:51 -03:00
Matheus da99da2b36 arch_ctl syscall
it controls architecture specific things such as the GSBASE in x86_64
2022-08-18 20:42:03 -03:00
Matheus 0984a6458d fix several issues relating to elf and registers and add mmap 2022-08-18 17:53:09 -03:00
Matheus fc6d0000c5 added auxv to elf stack setup
the needed ones for rtdl; AT_NULL, AT_PHDR, AT_ENTRY, AT_PHNUM, AT_PHENT
2022-08-16 22:06:18 -03:00
Matheus df2e7b1c34 fix stupid bugs
strcmp was funky, added a few guard checks to hashtable, added error printing to initrd and fixed swapgs (again) in isr.asm
2022-08-16 20:37:45 -03:00
Matheus 7a540ca1e1 fix elf stack issues and interrupt gsbase stuff 2022-08-16 19:12:16 -03:00
Matheus 432e85b837 system calls 2022-08-15 21:52:57 -03:00
Matheus 21e6a0ad1a enable syscall instructions 2022-08-15 13:50:46 -03:00
Matheus 261d7d3743 elf loading and userland 2022-08-14 20:19:38 -03:00
Matheus 33a516a611 user thread/process and elf loader stub 2022-08-13 23:16:34 -03:00
Matheus e7f4245c6d kernel threads
kernel threads and preemptive multitasking
2022-08-13 15:26:12 -03:00
Matheus ac5339453b per cpu timer queue 2022-08-12 22:11:59 -03:00