Commit Graph

92 Commits

Author SHA1 Message Date
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 df9977b7db make pagealloc zero memory 2022-08-20 13:26:31 -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 1ed7aafa46 properly zero memory on demand paging and mmap 2022-08-20 00:01:54 -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 f04d4b5a31 page allocator for alloc() 2022-08-19 22:11:06 -03:00
Matheus af3e62d37c syscall_mmap() bugfix
it wasn't accepting mappings with MAP_FIXED flags
2022-08-19 20:33:44 -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 1d3405ba10 file decriptors 2022-08-19 18:01:32 -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 fc6d0000c5 added auxv to elf stack setup
the needed ones for rtdl; AT_NULL, AT_PHDR, AT_ENTRY, AT_PHNUM, AT_PHENT
2022-08-16 22:06:18 -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 7ec69a219c devfs initial implementation 2022-08-07 17:33:49 -03:00
Matheus bdc19f90ef vfs and tmpfs read 2022-08-07 13:13:42 -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 ea8f21fb71 add tmpfs writing, vfs node tree dumping and fix some stupid issues 2022-08-04 20:49:59 -03:00
Matheus 479c51ec52 Initrd parsing and more VFS funcs.
Finished the initrd_parse() function for now and added vfs_open(), vfs_close() and vfs_write()
2022-08-04 19:31:10 -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 6ae75a9e99 create and mkdir funcs
file and directory creation functions for both the vfs and tmpfs
2022-08-03 22:05:11 -03:00
Matheus 2419b2e9e0 vfs filesystem mounting 2022-08-02 22:14:32 -03:00
Matheus 8d90e27f15 hashtable entrycount 2022-08-02 21:44:27 -03:00
Matheus 3653e01505 hashtable_set() 2022-07-31 14:18:13 -03:00
Matheus 151235694d VFS stub 2022-07-30 22:51:07 -03:00