Matheus
85bd0c0412
pipes: initial implementation
2022-10-10 10:46:27 -03:00
Matheus
bbf33c1f55
keyboard: /dev/keyboard
2022-09-30 20:18:06 -03:00
Matheus
a30c79d951
termios: stub
2022-09-29 18:51:51 -03:00
Matheus
91a1781ecb
syscalls: ioctl
2022-09-29 18:04:07 -03:00
Matheus
943e7abf80
vfs: getdirent
2022-09-24 17:13:03 -03:00
Matheus
ad8ec070be
hashtable: get entry by offset
2022-09-24 17:12:31 -03:00
Matheus
1599890ce9
devman: isseekable()
2022-09-24 14:54:26 -03:00
Matheus
ad768d0392
pseudodevices: initial null, zero and full implementations
2022-09-24 00:45:51 -03:00
Matheus
67c9a04d58
fd: change allocation to add a lowest fd option
2022-09-23 19:37:40 -03:00
Matheus
8f2089f912
fd: duplicate and max_fd
2022-09-23 00:25:31 -03:00
Matheus
7fc34a2e66
keyboard: continue the implementation; add shifting support
2022-09-22 14:37:27 -03:00
Matheus
ddb224c3c7
scheduler: properly open init cwd and root, sched_dequeue()
2022-09-20 17:05:46 -03:00
Matheus
c637995d52
syscalls: waitpid
2022-09-20 10:44:37 -03:00
Matheus
3c3dfc8f39
vmm: address space forking
2022-09-19 18:42:05 -03:00
Matheus
2ab048c322
scheduler: pid allocation, thread queueing function and a few fixes
2022-09-19 18:41:25 -03:00
Matheus
ce217ea8d8
fd: table cloning func
2022-09-19 18:37:21 -03:00
Matheus
41d6e7230e
fd: new abstraction
2022-09-18 16:21:45 -03:00
Matheus
2848544ff0
scheduler: a bunch of fixes and a few changes
...
transferred memory context from proc to thread, fixed bugs relating to blocking, made getnext() wait till something is ready to run
2022-09-09 18:18:22 -03:00
Matheus
c91e3cd12d
ps2kbd: initial implementation
2022-09-08 18:06:17 -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
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
56bee8be77
VFS: dot entries
2022-08-28 16:28:11 -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
b3b5981f7a
isatty syscall
2022-08-20 12:47:23 -03:00
Matheus
f04d4b5a31
page allocator for alloc()
2022-08-19 22:11:06 -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
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
Matheus
ab2bd69481
semaphores
2022-08-12 16:35:27 -03:00
Matheus
c565bc006f
apic ipis, scheduler stub, crappy and slow tlb shootdown
2022-08-09 23:53:39 -03:00
Matheus
b2d8e5a166
devman initial implementation
2022-08-07 17:53:31 -03:00
Matheus
7ec69a219c
devfs initial implementation
2022-08-07 17:33:49 -03:00
Matheus
bdc19f90ef
vfs and tmpfs read
2022-08-07 13:13:42 -03:00
Matheus
dee3fe16db
initialise the APs
2022-08-06 16:33:14 -03:00
Matheus
fa1b35bf18
basic apic + fix some stupid issues
...
created an initial stub implementation of the apic driver, added the madt to acpi, fixed an issue with the strncmp, made the pmm set only free pages rather than used ones
2022-08-05 23:33:54 -03:00