Commit Graph

286 Commits

Author SHA1 Message Date
Matheus f012085496 syscalls: sigsuspend 2024-09-08 10:57:21 -03:00
Matheus 42cfd8c5a5 kernel: remove old TODOs 2024-09-07 11:49:46 -03:00
Matheus d65c29197d ps2: improvements 2024-09-05 23:13:29 -03:00
Matheus d65bec9c66 {set,get}itimer: fix logging and getitimer 2024-09-05 18:21:27 -03:00
Matheus 5793dda4d9 acpi: /dev/acpi 2024-09-01 21:41:08 -03:00
Matheus 443295e279 kernel: misc changes 2024-09-01 20:38:13 -03:00
8infy db55f99e23 Integrate uACPI & remove own ACPI parsing code
This commit adds uACPI as a submodule and removes all handwritten table
parsing code as well as struct definitions, since they now work via
uACPI. There's also now an ability to shut down by using the power
button.
2024-09-01 23:12:44 +03:00
8infy 6154318ab3 kernel: add a helper to retrieve the bsp CPU
This is useful to be able to e.g. set affinity for the BSP CPU.
2024-09-01 19:37:09 +03:00
8infy 0ecbbff4d1 kernel: initialize pci earlier
There's no reason to initialize PCI so late, and this will be needed
by the following commits.
2024-09-01 19:34:21 +03:00
Matheus fdcda428f9 cred: setuid, setgid, seteuid, setegid and auth check 2024-08-25 16:08:06 -03:00
Matheus 806fa3a333 devfs: take cred struct in devfs_register 2024-08-24 21:51:55 -03:00
Matheus 4d51507953 auth: initial implementation + some filesystem checks 2024-08-24 20:01:01 -03:00
Matheus 679aa1a69d cpu: handle SIGFPE 2024-08-21 23:48:54 -03:00
Matheus ad6fb43623 syscalls: mprotect 2024-08-21 21:34:26 -03:00
Matheus dd75dc2d87 vmm: vmm_changemmuflags 2024-08-21 21:33:29 -03:00
Matheus da9c40b054 cred: setting and getting ids 2024-08-16 20:02:12 -03:00
Matheus b6ed9c1bac syscalls: mknodat 2024-08-11 14:45:10 -03:00
Matheus f6446669b0 hpet: initial 32 bit support 2024-07-27 23:58:09 -03:00
Matheus ec5be70f85 apic: fix i/o apic override gsi 2024-07-27 23:57:41 -03:00
Matheus cbc3fc645e acpi: don't rely on acpi tables being mapped 2024-07-27 23:57:24 -03:00
Matheus e675f1c152 vmm/mmu: be more selective on which parts of the physical memory to map initially 2024-07-27 23:56:38 -03:00
Matheus 4cd2a7b41c ps2: fix real hw 2024-07-11 00:05:42 -03:00
Matheus bb1fe2b4dc ps2kbd: actually enable data reporting 2024-07-10 20:55:46 -03:00
Matheus 82877b1cce ps2mouse: remove non fatal assert 2024-07-10 19:46:02 -03:00
Matheus e06018ee71 smp: zero new processors cpu structs on allocation 2024-07-10 19:45:41 -03:00
Matheus 9f48a87ae8 syscalls: pread and pwrite 2024-06-23 20:21:29 -03:00
Matheus f82b07328a syscalls: ppoll 2024-06-19 21:56:26 -03:00
Matheus e4ec9311e2 syscalls: pause 2024-06-14 17:05:31 -03:00
Matheus 3e82c6a8f0 x86_64: make interrupt entry code smaller 2024-06-12 18:28:08 -03:00
Matheus 797f2c118a x86_64: properly set kernel data segments on syscall/interrupt entry 2024-06-12 18:22:30 -03:00
Matheus 50b4b45d00 kernel: usercopy functions 2024-06-09 19:31:26 -03:00
Matheus b607ca7f4b syscalls: chroot getpeername getsockname socketpair 2024-06-04 22:45:04 -03:00
Matheus 7cad8f53f2 tcp: initial implementation 2024-06-03 22:02:58 -03:00
Matheus 5f7791cd08 syscalls: fchdir, setitimer, getitimer 2024-05-29 11:14:07 -03:00
Matheus c81bdac897 signals: handle SIGBUS, SIGSEGV, SIGILL etc 2024-05-29 11:06:15 -03:00
Matheus 54c01081cc mmu: don't do an nmi 2024-05-27 22:02:45 -03:00
Matheus d2527bee92 context changes and scheduler userspace check fix 2024-05-27 22:00:59 -03:00
Matheus 8d42b80855 smp: nmi ipi support 2024-05-26 20:51:54 -03:00
Matheus 61fa847b65 vfs: support for uncached read/write 2024-05-26 15:31:26 -03:00
Matheus 3bcc3e5585 fixes 2024-05-25 20:35:19 -03:00
Matheus b9071fe59e syscalls: fsync 2024-05-25 12:04:29 -03:00
Matheus 642e245522 syscalls: sync 2024-05-24 22:01:11 -03:00
Matheus 48b7fb4324 vmmcache: initial implementation 2024-05-24 18:03:24 -03:00
Matheus 78492d4b56 handle /etc/hostname, sethostname(2), gethostname(2) and uname(2) 2024-05-22 21:09:17 -03:00
Matheus 1b63e9b436 signals: more general changes 2024-05-17 18:48:57 -03:00
Matheus 7b0cc4c51b initial signal implementation 2024-05-14 15:04:48 -03:00
Matheus 33c8a4d107 pty: initial implementation 2024-05-03 14:03:41 -03:00
Matheus 05049a091f job control: sessions and process groups 2024-05-01 21:42:38 -03:00
Matheus 27d24f3e20 cpu: dont access cpu local storage using rdmsr 2024-04-29 21:26:47 -03:00
Matheus 43b209666f mmu: don't do tlb shootdowns if no other cpus are online 2024-04-29 21:26:13 -03:00