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 |
|