Commit Graph

108 Commits

Author SHA1 Message Date
Matheus f084193f39 syscalls: munmap 2022-10-12 18:42:22 -03:00
Matheus 6483a22952 syscalls: mkdir 2022-10-11 23:33:12 -03:00
Matheus defed64456 mmu: destroy ctx 2022-10-11 23:26:20 -03:00
Matheus ba2ebbc7c1 syscalls: pipe2 2022-10-10 10:46:47 -03:00
Matheus af69128800 mmu: fix deadlock 2022-10-10 10:43:14 -03:00
Matheus eef01078bb syscalls: fstatat 2022-09-30 17:04:18 -03:00
Matheus 89e57f0578 syscalls: chdir 2022-09-30 16:39:19 -03:00
Matheus 91a1781ecb syscalls: ioctl 2022-09-29 18:04:07 -03:00
Matheus f18e099df1 syscalls: getdirent 2022-09-24 17:13:18 -03:00
Matheus 177928d49a framebuffer: initial implementation 2022-09-24 14:55:06 -03:00
Matheus ad768d0392 pseudodevices: initial null, zero and full implementations 2022-09-24 00:45:51 -03:00
Matheus 9cca7891b9 regs: set up mxcsr properly; arch_regs_firsttimesetup() 2022-09-23 21:37:04 -03:00
Matheus bedd2f625e interrupts: simd exception 2022-09-23 21:36:37 -03:00
Matheus 0ececa14b1 syscall: update syscall table with new syscalls 2022-09-23 00:26:37 -03:00
Matheus 7fc34a2e66 keyboard: continue the implementation; add shifting support 2022-09-22 14:37:27 -03:00
Matheus 4581b460ff syscalls: exit 2022-09-20 17:07:58 -03:00
Matheus c637995d52 syscalls: waitpid 2022-09-20 10:44:37 -03:00
Matheus 681d1a0e75 syscalls: execve 2022-09-19 22:52:11 -03:00
Matheus ae72a8c938 syscalls: assemble and pass a context to fork 2022-09-19 18:42:48 -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 e3f827896c timer: don't die at a few specific edge cases anymore 2022-09-17 21:51:44 -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 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 6c681a71d6 mmu: invalidate on flags change 2022-09-11 12:52:59 -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 4c0ee7179e scheduler: yield 2022-09-04 17:40:53 -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 a40cda2b50 idt: have interrupts be disabled before swapgs 2022-08-27 21:05:03 -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