43 Commits

Author SHA1 Message Date
Mark ba92882f6c ***: throw away disasm again 2020-11-09 13:18:11 +02:00
Mark a971e0f15e ***: import code from audasm repo 2020-10-20 10:42:12 +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 f263bfb63f boot: use yboot2-proto instead of yboot2 itself 2020-09-27 12:31:21 +03:00
Mark 1dea3c9e43 video: ugly hack to vastly speedup the console 2020-09-19 17:19:53 +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 7d3a0d58dc boot: add support for yboot protocol 2020-09-04 01:36:04 +03:00
Mark 2ff4dca8c4 acpi: add a way to early define RSDP location 2020-09-01 23:46:18 +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 d7f6fcec69 Add serial ttys 2020-07-29 18:54:00 +03:00
Mark f22591ad93 Move to cmake build system 2020-07-11 22:41:23 +03:00
Mark cdc61fc168 Increase heap size for thinkpad ACPI 2020-07-05 18:55:35 +03:00
Mark 137604d84f Add support for text-mode console 2020-06-25 16:53:08 +03:00
Mark dd36f0decf (Maybe) better console subsystem 2020-06-18 16:32:01 +03:00
Mark 1f10370b87 Add (hacky) environ handling 2020-06-14 23:31:40 +03:00
Mark 6d7a3c9756 Re-enable VESA driver 2020-06-11 19:58:01 +03:00
Mark 92d2e572ae Full support for Multiboot2 booting, remove legacy loader 2020-05-26 22:24:15 +03:00
Mark 8f3f600fa4 Add slab allocator for objects < 512B 2020-04-08 12:45:03 +03:00
Mark 3621a567a8 Move amd64_* memory functions to mm_ namespace 2020-04-07 15:13:37 +03:00
Mark b40d495e4e Add non-MSI IRQ functionality to PCI 2020-03-19 15:31:58 +02:00
Mark 98ac8c8379 Fix optimization issues - improperly clobbered registers and
optimized-out regions
2020-02-07 16:52:13 +02:00
Mark 4878a0b06e Proper FPU init, fxsave/fxrstor for threads 2020-02-07 15:02:06 +02:00
Mark 41ae3d7aab Fix ring reader ignoring signals and unqueuing threads twice 2020-02-05 13:28:11 +02:00
Mark 33ad8e3ee3 Fix scheduler lock not being released when handling signals 2020-02-04 23:37:57 +02:00
Mark d9595c7f62 Change project structure 2020-02-04 12:45:15 +02:00
Mark 789a3ee1a3 [amd64] Move arch/amd64 -> sys/amd64 2019-09-23 11:40:44 +03:00
Mark f6c29e3414 [amd64] Implement kernelspace mm_space_t cloning 2019-09-22 12:06:59 +03:00
Mark 5c7e918460 Proper kernel [kidle] thread 2019-09-20 23:07:20 +03:00
Mark edfac823c7 [amd64] Userspace TSS/multithreading 2019-09-20 21:12:13 +03:00
Mark b097abd8c2 [amd64] Kernelspace thread preemption 2019-09-20 13:43:58 +03:00
Mark becf1ccc54 [amd64] amd64 vmalloc/vmfree, slight changes to map.c 2019-09-19 18:52:15 +03:00
Mark 61f9ebbdae Add sys/types.h impl 2019-09-18 23:26:47 +03:00
Mark fe71e36814 [amd64] Use cross-compiler toolchain instead 2019-09-18 23:22:09 +03:00
Mark 07d158f2a6 [doc] Docs on heap 2019-09-18 16:23:11 +03:00
Mark b24297d248 [amd64] Add kernel heap 2019-09-18 15:34:59 +03:00
Mark a5c71af69c [amd64] Get memory map/GRUB info from loader 2019-09-17 16:37:03 +03:00
Mark ec6005054d [amd64] added HPET implementation 2019-09-17 14:38:17 +03:00
Mark c659189a76 [acpi] Add support for ACPI FADT/HPET location 2019-09-16 16:10:09 +03:00
Mark 51e0ac1374 [amd64] timer configuration 2019-09-16 13:57:53 +03:00
Mark fb396e0010 Added mm_describe 2019-09-16 13:20:59 +03:00
Mark 256171f69a Restructure source files 2019-09-16 12:40:00 +03:00