Commit Graph

149 Commits

Author SHA1 Message Date
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 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 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 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 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
Matheus 72bc0fabc1 x86_64 context: fix gs not being swapped properly 2022-09-09 18:13:45 -03:00
Matheus c91e3cd12d ps2kbd: initial implementation 2022-09-08 18:06:17 -03:00
Matheus d63b9512e7 apic: add option to mask or not legacy irqs 2022-09-08 17:57:41 -03:00
Matheus a319c1ebcc IO: fix missing headers 2022-09-08 17:14:14 -03:00
Matheus f643cddd05 APIC: legacy irq stuff 2022-09-08 17:13:51 -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 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