Commit Graph

72 Commits

Author SHA1 Message Date
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