Commit Graph

78 Commits

Author SHA1 Message Date
Matheus 4581b460ff syscalls: exit 2022-09-20 17:07:58 -03:00
Matheus ddb224c3c7 scheduler: properly open init cwd and root, sched_dequeue() 2022-09-20 17:05:46 -03:00
Matheus d4655a2f6c syscalls: no longer have invalid state after execve error 2022-09-20 17:00:30 -03:00
Matheus 44b6b26eb8 syscalls: properly free the fd on an open failure 2022-09-20 16:59:40 -03:00
Matheus 5f9aba07b2 syscalls: fix waitpid's behaviour 2022-09-20 16:58:59 -03:00
Matheus c637995d52 syscalls: waitpid 2022-09-20 10:44:37 -03:00
Matheus 681d1a0e75 syscalls: execve 2022-09-19 22:52:11 -03:00
Matheus 511a5639cc scheduler: close init node 2022-09-19 22:51:55 -03:00
Matheus 3668fa2a39 syscalls: fork 2022-09-19 18:42:19 -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 41d6e7230e fd: new abstraction 2022-09-18 16:21:45 -03:00
Matheus 4bc9a3788f scheduler: don't use the state THREAD_STATE_WAITING anymore 2022-09-17 21:53:09 -03:00
Matheus e3f827896c timer: don't die at a few specific edge cases anymore 2022-09-17 21:51:44 -03:00
Matheus fa37e32ed9 build: use jinx in the build system
now uses jinx to build a cross toolchain, mlibc, bash and the kernel. also made scheduler temporarily run /usr/bin/bash instead of /sbin/init
2022-09-15 17:47:05 -03:00
Matheus e7517468c7 syscalls: fstat 2022-09-12 10:48:19 -03:00
Matheus 4111cf8489 mmu: fix page invalidation on flag change 2022-09-12 10:22:25 -03:00
Matheus c04fd71e1e Revert last commit 2022-09-12 09:57:45 -03:00
Matheus 625eab5526 scheduler: fix to an extremely weird bug 2022-09-11 22:25:32 -03:00
Matheus 81f414f7c0 elf: fixed silly issues 2022-09-11 22:23:26 -03:00
Matheus 0e70f0a7fa scheduler: remove debugging code 2022-09-11 12:54:08 -03:00
Matheus b3f0ca7cd6 vmm: properly release lock on request failure 2022-09-11 12:53:41 -03:00
Matheus 51a36c6c12 syscalls: libclog: made it use the console interface 2022-09-09 18:19:43 -03:00
Matheus 001f387363 vmm: update thread ctx on context change 2022-09-09 18:18:47 -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 2586acc14f keyboard: stub 2022-09-07 16:11:24 -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 1bef1e3dee syscalls: stat: make return values sane and fix check 2022-08-29 00:22:22 -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 06e91be62e syscalls: read: seek on read 2022-08-27 20:29:25 -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 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 1ed7aafa46 properly zero memory on demand paging and mmap 2022-08-20 00:01:54 -03:00
Matheus fc7986e5be close syscall 2022-08-19 22:54:07 -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 0984a6458d fix several issues relating to elf and registers and add mmap 2022-08-18 17:53:09 -03:00