Commit Graph

416 Commits

Author SHA1 Message Date
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
Matheus c8dc4ae76b ps2kbd: assume it exists 2022-09-13 20:30:29 -03:00
Matheus 5e92b8cabd mmu: add pause instruction while waiting for other cpus to invalidate page 2022-09-13 20:28:28 -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 3e539b83f9 mmu: make sure a few constants are 64 bit 2022-09-11 22:23:04 -03:00
Matheus f423acaedd x86_64 isr: don't rely on the value of rbp 2022-09-11 14:41:02 -03:00
Matheus 1000482a7e Makefile: more ways to run astral 2022-09-11 14:40:31 -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 6c681a71d6 mmu: invalidate on flags change 2022-09-11 12:52:59 -03:00
Matheus 51a36c6c12 syscalls: libclog: made it use the console interface 2022-09-09 18:19:43 -03:00
Matheus 42b119d624 consoledev: keyboard input and better sync 2022-09-09 18:19:23 -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 511c249b13 ps2kbd: fix arguments to keyboard_packet 2022-09-09 18:14:44 -03:00
Matheus 417c46c040 spinlock: try and acquire func 2022-09-09 18:14:14 -03:00
Matheus b8c3a7aebc interrupts: halt 2022-09-09 18:13:57 -03:00