115 Commits

Author SHA1 Message Date
alnyan 2272bc55f1 all: wrap vesa feature in ifdef 2021-04-30 01:15:42 +03:00
Mark ba92882f6c ***: throw away disasm again 2020-11-09 13:18:11 +02:00
Mark ebb9e012d6 proc: CoW should work for pages with 2+ refs 2020-11-01 14:33:09 +02:00
Mark a971e0f15e ***: import code from audasm repo 2020-10-20 10:42:12 +03:00
Mark 593ffd4e0c binfmt/elf: switch to phdrs instead of (incorrect) shdrs loader 2020-10-19 15:58:46 +03:00
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 6a58d983a1 user: add kernel instrumentation syscall 2020-10-16 15:18:44 +03:00
Mark d7a3ed3ff5 SMP works? 2020-10-04 15:48:11 +03:00
Mark f263bfb63f boot: use yboot2-proto instead of yboot2 itself 2020-09-27 12:31:21 +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 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 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 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 d6f40d482a Reenable MSI handler 2020-08-23 13:22:56 +03:00
Mark 887ffb7e53 Symbol tables, references to other mods, dependency checks 2020-08-11 01:32:03 +03:00
Mark d25e672139 Change debug_trace signature for more safety 2020-08-07 12:04:03 +03:00
Mark 83b1d9a281 Add setsid(2) syscall 2020-07-31 15:27:18 +03:00
Mark bca93a50fd Add /lib/ld execution for dynamic binaries 2020-07-30 00:55:35 +03:00
Mark d7f6fcec69 Add serial ttys 2020-07-29 18:54:00 +03:00
Mark ee85365bbc Add sched_yield(2) 2020-07-28 14:52:31 +03:00
Mark da48c168ea Only compile "heap_trace" when trace is enabled 2020-07-28 14:52:07 +03:00
Mark 60a3e05f24 Fix ICANON (lflag) and add more key handling to PS/2 2020-07-28 14:51:33 +03:00
Mark c485c4db84 truncate(2)/ftruncate(2) 2020-07-27 00:15:27 +03:00
Mark 8d9891319c unlinkat(2) 2020-07-27 00:01:38 +03:00
Mark 276d77cd7c Add mkdirat(2) 2020-07-26 23:22:16 +03:00
Mark 040b94499c faccessat and fstatat 2020-07-26 23:02:13 +03:00
Mark 26df7ce9aa open(2) superseded by openat(2) 2020-07-26 21:47:38 +03:00
Mark 7a26c595e4 Add exception signals, fix stack misalignment on userspace entry 2020-07-26 21:00:36 +03:00
Mark dfe1531c56 Add level argument to debug_backtrace() 2020-07-24 14:35:47 +03:00
Mark 72837f9b90 A cleaner initrd fs implementation 2020-07-24 00:04:02 +03:00
Mark 1314eafb3d Replace \b with \0177 as erase character 2020-07-23 17:51:13 +03:00
Mark 92acffb13b Add getppid(2) 2020-07-22 23:13:29 +03:00
Mark becf8eec74 Cleanup headers a bit 2020-07-21 16:22:00 +03:00
Mark 17c826f99a More critical invalid syscall 2020-07-21 16:21:14 +03:00
Mark fd0ec4150f Add ENABLE_NET and ENABLE_UNIX options 2020-07-11 23:31:41 +03:00