Mark
c2db4e94a6
proc: fix gs/fs-related bug in exception handler
...
1. %rip -> %rsp (misspelt a register name, damn)
2. Rename swapgs_if_needed to iret_swapgs_if_needed for clarification
3. Add iret_swapgs_if_needed before iret from exception handler
2020-10-18 23:48:27 +03:00
Mark
877a5f455d
fs/ext2: fix uninitialized var compiler warnings
2020-10-18 23:46:39 +03:00
Mark
7292260209
proc: fixup TSS.RSP0 on signal return
2020-10-18 20:20:18 +03:00
Mark
b512d3d83c
proc: fix missing include user/signal.h
2020-10-16 15:18:45 +03:00
Mark
6a58d983a1
user: add kernel instrumentation syscall
2020-10-16 15:18:44 +03:00
Mark
f407f10c51
user: move stack_t and ucontext to signal.h
2020-10-16 15:18:44 +03:00
Mark
36c080a8ac
user: add errnos needed for libstdc++-v3 build
2020-10-16 15:18:44 +03:00
Mark
d7a3ed3ff5
SMP works?
2020-10-04 15:48:11 +03:00
Mark
ff8f319d8c
src: split process and thread source files
2020-09-27 12:31:46 +03:00
Mark
f263bfb63f
boot: use yboot2-proto instead of yboot2 itself
2020-09-27 12:31:21 +03:00
Mark
6fe45d96bf
boot: remove yboot2
2020-09-27 11:56:13 +03:00
Mark
0394b17779
usb/hid: fix backspace key for usbkbd
2020-09-26 12:27:10 +03:00
Mark
a0a79fa7f5
Update yboot2
2020-09-20 20:33:34 +03:00
Mark
02136a28b5
boot: use multiboot2 symbol table
2020-09-20 13:49:18 +03:00
Mark
1dea3c9e43
video: ugly hack to vastly speedup the console
2020-09-19 17:19:53 +03:00
Mark
f9eb40dbfb
cpu: properly reload segment registers after lgdt
2020-09-19 17:18:39 +03:00
Mark
5f7b6e2cee
debug: Revert to old debug method
2020-09-18 14:23:20 +03:00
Mark
f3ab428d86
boot: remove unnecessary while(1);
2020-09-18 14:22:55 +03:00
Mark
0227400824
io/ahci: disable AHCI driver (broken on Ryzen build)
2020-09-18 14:22:26 +03:00
Mark
90e5d243be
irq: fix I/O APIC problem for Ryzen systems
2020-09-18 14:21:55 +03:00
Mark
bb5ff71a79
con: Add early vesa fbcon
2020-09-18 13:22:38 +03:00
Mark
7438ee768f
Use yboot2 (My new rust-based EFI loader)
2020-09-17 23:53:56 +03:00
Mark
fa743391a4
Remove old yboot
2020-09-17 23:43:24 +03:00
Mark
e91101d79e
Bump yboot version
2020-09-08 23:56:36 +03:00
Mark
53625fce71
boot: move yboot data to C struct
2020-09-08 23:54:58 +03:00
Mark
ab3b3afcc5
boot: fix (?) memory corruption problems with EFI
2020-09-06 20:46:27 +03:00
Mark
559e1156f1
boot: extract yboot initrd pointer
2020-09-05 02:19:39 +03:00
Mark
c3f23032f0
boot: yboot protocol change: memory map
...
Memory map is now a part of boot protocol structure.
The change was caused by UEFI placing this boot structure
(as part of yboot's data section) very high in physical memory,
above kernel's mapped 4GiB range, so kernel had no way of
accessing it. It's not the best solution, but will work for sure.
2020-09-05 02:08:52 +03:00
Mark
fb7e385a05
mman: (fixme?) hack to prevent memory corruption
2020-09-05 00:56:28 +03:00
Mark
7d3a0d58dc
boot: add support for yboot protocol
2020-09-04 01:36:04 +03:00
Mark
0d39253c1e
boot: get RSDP address from multiboot2
2020-09-01 23:47:55 +03:00
Mark
158c181c54
mman: allow CoW to fork pages when accessing from kernel
2020-09-01 23:47:03 +03:00
Mark
2ff4dca8c4
acpi: add a way to early define RSDP location
2020-09-01 23:46:18 +03:00
Mark
d91a9114c7
fs: add readlink() feature to per-process links
2020-09-01 19:19:26 +03:00
Mark
d83b93075c
fs: add umask to vfs_ioctx
2020-09-01 18:07:19 +03:00
Mark
074862b9ee
api/io: readlinkat
2020-08-30 12:44:22 +03:00
Mark
e0f0087ccc
mman: rewrite physical memory manager
...
Better protection of reserved memory regions,
merged "pool" allocation functions into main
memory manager
2020-08-23 22:59:29 +03:00
Mark
76ee873cb4
ext2: add lseek and L2 read support
2020-08-23 13:26:24 +03:00
Mark
b6e47c5154
Use off_t for struct stat st_size
2020-08-23 13:23:53 +03:00
Mark
d6f40d482a
Reenable MSI handler
2020-08-23 13:22:56 +03:00
Mark
4f1ff91e17
Add dumb module unloading
2020-08-20 17:29:43 +03:00
Mark
8ced5eb98d
Simplify headers a bit
2020-08-11 17:00:14 +03:00
Mark
887ffb7e53
Symbol tables, references to other mods, dependency checks
2020-08-11 01:32:03 +03:00
Mark
4ae2adb6df
(Proof-of-concept) module support
2020-08-10 23:56:45 +03:00
Mark
b40a1692ba
Remove old module loading code
2020-08-10 01:31:07 +03:00
Mark
66bb54d8cd
Fix user headers (time_t)
2020-08-09 15:32:08 +03:00
Mark
44a3dc21b4
ext2: add (kind of) unlink() for ext2
...
"kind of" == directories aren't resized and overall
space handling is crappy
2020-08-09 01:53:22 +03:00
Mark
ffc05b30c4
ext2: use slab cache for inode structs
2020-08-08 01:06:06 +03:00
Mark
d032356a89
ext2: node creation, mkdir()/creat()
2020-08-08 00:59:27 +03:00
Mark
68727654d0
ext2: block alloc/free, write up to L1 size
2020-08-07 17:24:05 +03:00