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
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
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
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
50243cc540
fix stupid pmm glitch and compilation failure
2022-08-07 00:36:50 -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