Commit Graph

87 Commits

Author SHA1 Message Date
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
Matheus f7e5b5ba67 proper limine terminal interface 2022-08-20 14:16:26 -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 fce640c0f9 sse support 2022-08-20 11:58:05 -03:00
Matheus c9762db4cc fix errorless exception handling 2022-08-19 22:54:22 -03:00
Matheus fc7986e5be close syscall 2022-08-19 22:54:07 -03:00
Matheus 9e3f0b5c3f arch_ctl fsbase 2022-08-19 22:53:08 -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 4de0ff2556 gettid syscall, fix issues with vmm and mmap syscall 2022-08-18 22:12:51 -03:00
Matheus da99da2b36 arch_ctl syscall
it controls architecture specific things such as the GSBASE in x86_64
2022-08-18 20:42:03 -03:00
Matheus 0984a6458d fix several issues relating to elf and registers and add mmap 2022-08-18 17:53:09 -03:00
Matheus df2e7b1c34 fix stupid bugs
strcmp was funky, added a few guard checks to hashtable, added error printing to initrd and fixed swapgs (again) in isr.asm
2022-08-16 20:37:45 -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 21e6a0ad1a enable syscall instructions 2022-08-15 13:50:46 -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