Commit Graph

141 Commits

Author SHA1 Message Date
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
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
Matheus 2f8c8fc8e3 ELF: don't change the cpu context 2022-09-04 14:42:59 -03:00
Matheus 5127ce9217 x86_64 syscalls: enable interrupts after loading sane state 2022-09-03 13:13:07 -03:00
Matheus 33e6f26415 interrupts: disable and enable abstraction 2022-09-02 12:06:41 -03:00
Matheus e99142e3ea Makefile: make sure iso folder exists 2022-08-29 00:25:54 -03:00
Matheus 1bef1e3dee syscalls: stat: make return values sane and fix check 2022-08-29 00:22:22 -03:00
Matheus cd8b9ae1e6 vfs: break traversal at separator only filename 2022-08-29 00:21:56 -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 56bee8be77 VFS: dot entries 2022-08-28 16:28:11 -03:00
Matheus 54d9c3d809 vfs: very basic locking 2022-08-27 21:12:50 -03:00
Matheus a40cda2b50 idt: have interrupts be disabled before swapgs 2022-08-27 21:05:03 -03:00
Matheus 06e91be62e syscalls: read: seek on read 2022-08-27 20:29:25 -03:00
Matheus 6d4439ee2f tmpfs: set error to 0 on read 2022-08-27 20:28:09 -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