Commit Graph

186 Commits

Author SHA1 Message Date
Matheus f7fa05acbf syscalls: fcntl stub 2022-09-23 00:26:15 -03:00
Matheus 0ab154b051 syscalls: getpid 2022-09-23 00:26:03 -03:00
Matheus 284def91d3 syscalls: dup and dup2 2022-09-23 00:25:48 -03:00
Matheus 8f2089f912 fd: duplicate and max_fd 2022-09-23 00:25:31 -03:00
Matheus 4f470fd023 open: handle O_CREAT flag 2022-09-22 20:02:21 -03:00
Matheus b23d4f7c5b mlibc port: libc logs go to stderr now 2022-09-22 14:52:39 -03:00
Matheus 7fc34a2e66 keyboard: continue the implementation; add shifting support 2022-09-22 14:37:27 -03:00
Matheus 1147937837 syscalls: make isatty act like posix expects 2022-09-22 14:36:55 -03:00
Matheus 76df387199 jinx: fix stupid bug in stat 2022-09-21 19:47:06 -03:00
Matheus a247137823 jinx: update mlibc to 3.0.0-rc1 2022-09-21 17:05:13 -03:00
Matheus 190a57c313 lseek: return current position on SEEK_CUR offset 0 2022-09-21 16:33:10 -03:00
Matheus ec67d3fe27 syscalls: isatty: act more like mlibc expects 2022-09-21 16:32:44 -03:00
Matheus 0b27133826 scheduler: actually run /sbin/init now 2022-09-20 20:29:16 -03:00
Matheus 4b939dcaab init: initial implementation 2022-09-20 20:28:58 -03:00
Matheus 0b7a55361d jinx: update mlibc port to include new system calls 2022-09-20 17:43:13 -03:00
Matheus 9ee87d97af Makefile: kclean target 2022-09-20 17:15:38 -03:00
Matheus 5e2059c284 fd: bugfixes
- add an extra check
- properly set the fd entry in the table to 0 in a refcount > 0 free
- only close the fd node if there's an open node
2022-09-20 17:13:37 -03:00
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 fe3a5b1a53 mlibc port: update sysdeps to have the new syscalls 2022-09-20 09:30:25 -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 cd78bcff92 fd: fix table cloning 2022-09-19 22:51:37 -03:00
Matheus d7491ac8d8 jinx: add coreutils port 2022-09-19 20:53:47 -03:00
Matheus ae72a8c938 syscalls: assemble and pass a context to fork 2022-09-19 18:42:48 -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 ce217ea8d8 fd: table cloning func 2022-09-19 18:37:21 -03:00
Matheus 0d63bfcc0e panic: don't trace non-kernel addresses and disable interrupts on panic 2022-09-19 18:36:23 -03:00
Matheus 3f18b6e392 isr: add the same ss fix as in the push 2022-09-19 18:35:14 -03:00
Matheus 55b911fcd3 arch: regs: add abstractions to manipulate errno and return regs 2022-09-19 18:34:45 -03:00
Matheus 16753bf16d mmu: fix a lower half strcpy and add ismapped() 2022-09-19 18:33:52 -03:00
Matheus 6d9672158f ist: fix struct 2022-09-19 18:32:50 -03:00
Matheus 6c959ef878 cpu: make timer irq use ist1 2022-09-19 18:32:28 -03:00
Matheus 41d6e7230e fd: new abstraction 2022-09-18 16:21:45 -03:00
Matheus 73a8584a72 Makefile: add a rebuildkernel target 2022-09-17 21:54:02 -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 8c621a9333 consoledev: fix deadlock 2022-09-17 21:50:52 -03:00
Matheus 3c32cc456b made temporary tty act more normal 2022-09-17 19:27:02 -03:00
Matheus ce8efad5d6 Makefile: make test targets not depend on the kernel file anymore 2022-09-15 18:24:35 -03:00
Matheus 989ef51437 build: add a distro-files folder that is copied into the sysroot 2022-09-15 18:23:02 -03:00
Matheus 0fa750223d makefile: fix initrd not being built 2022-09-15 18:09:39 -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 9e1ae1ff36 smp: use alloc instead of pmm_hhdmalloc to allocate ap cls 2022-09-13 20:31:20 -03:00