Commit Graph

622 Commits

Author SHA1 Message Date
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
Mark 658cbf2609 Update defconfig 2020-08-07 13:02:29 +03:00
Mark d0af6bbee5 Move confign to defconfig 2020-08-07 13:01:24 +03:00
Mark 236f4e5bf5 Cleanup kernel options a bit 2020-08-07 12:53:58 +03:00
Mark 8a21e8bf75 Add (pretty PoC) shared memory primitives 2020-08-07 12:05:58 +03:00
Mark d25e672139 Change debug_trace signature for more safety 2020-08-07 12:04:03 +03:00
Mark 2b095c9b76 ICANON is a lflag! 2020-08-05 01:58:52 +03:00
Mark 9b4d3b2f7a Add atoi() 2020-08-05 01:58:40 +03:00
Mark 894c2de44c Support for select() on Unix sockets 2020-08-05 01:58:21 +03:00
Mark 3cea8101fd Add mknod to ramfs 2020-08-05 01:57:50 +03:00
Mark 029e25dbbe (For now) enable unix sockets/net/display 2020-08-05 01:57:24 +03:00
Mark 415fd613a2 Add framebuffer devices to /dev and mmap() for them 2020-08-05 01:54:13 +03:00
Mark 25f0a0987f Add ability to set debug levels from sysfs 2020-08-05 00:41:32 +03:00
Mark dcc09d00c2 Allow use of MAP_FIXED flag to specify mem ranges 2020-08-02 00:44:48 +03:00