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
Matheus
ab2bd69481
semaphores
2022-08-12 16:35:27 -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
1a2486cadd
scheduler timer
...
abstraction of a timer that is local to each cpu and is used for scheduling
2022-08-07 12:50:17 -03:00
Matheus
50243cc540
fix stupid pmm glitch and compilation failure
2022-08-07 00:36:50 -03:00
Matheus
c94368bbc9
initial hpet support
...
for now only a few wait functions are supported
2022-08-06 23:57:10 -03:00
Matheus
a69310a03c
PCI enumeration
2022-08-06 21:34:52 -03:00
Matheus
dee3fe16db
initialise the APs
2022-08-06 16:33:14 -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
Matheus
592133af39
ACPI tables support
...
Added parsing for the (X)RSDT and RSDP, as well as table searching.
2022-08-05 17:27:14 -03:00
Matheus
28710b6aa8
Fix a few issues
...
Panics in a few ISRs did not include registers. Removed a dot in panic string. Fixed an issue that would cause the system to page fault inside the vmm_dealwithrequest() function.
2022-08-04 19:28:20 -03:00
Matheus
947f4b4a06
initrd stub
2022-08-03 23:38:56 -03:00
Matheus
2419b2e9e0
vfs filesystem mounting
2022-08-02 22:14:32 -03:00
Matheus
151235694d
VFS stub
2022-07-30 22:51:07 -03:00
Matheus
f8d0c13520
hashtables
2022-07-29 18:27:50 -03:00
Matheus
61d1e17599
Initial slab implementation
2022-07-29 14:42:06 -03:00
Matheus
a316d054f5
Unify the arch_regs structs
...
I was doing something stupid and keeping a separate version for the cpu registers. oh well, I fixed it now
2022-07-29 09:40:49 -03:00
Matheus
c4a9e3a3fe
remove TODO comment
2022-07-27 22:27:12 -03:00
Matheus
0f1222dd6d
move spinlock.h
...
the implementation is more arch specific than anything. it has been placed under arch/include
2022-07-27 22:17:24 -03:00
Matheus
7bdacfbd7a
add an ist to the bsp's gdt
2022-07-27 22:08:16 -03:00
Matheus
98bffdc753
remove TODO comment
2022-07-27 22:06:36 -03:00
Matheus
b8b620bf1f
uncomment code
...
it was commented for debugging and I forgot to uncomment it
2022-07-27 22:04:44 -03:00