Commit Graph

67 Commits

Author SHA1 Message Date
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