Commit Graph

108 Commits

Author SHA1 Message Date
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
Mark f22591ad93 Move to cmake build system 2020-07-11 22:41:23 +03:00
Mark 25537eeab8 Fix: prevent double queueing of the same thread 2020-07-11 17:50:16 +03:00
Mark 801df710d2 Unclutter debug 2020-07-11 01:20:13 +03:00
Mark f08fcd77da Use struct list_head to link thread in a process 2020-07-10 17:01:24 +03:00
Mark 6ae176d516 Add sigaltstack() syscall 2020-07-10 13:41:15 +03:00
Mark d054c1c16d More detailed process info in exception handler 2020-07-10 13:40:22 +03:00
Mark 4df8f39f78 Fix improper interruption of sleep 2020-07-08 13:29:52 +03:00