50 Commits

Author SHA1 Message Date
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 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 d7a3ed3ff5 SMP works? 2020-10-04 15:48:11 +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 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 7d3a0d58dc boot: add support for yboot protocol 2020-09-04 01:36:04 +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 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 d7f6fcec69 Add serial ttys 2020-07-29 18:54:00 +03:00
Mark 60a3e05f24 Fix ICANON (lflag) and add more key handling to PS/2 2020-07-28 14:51:33 +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 1314eafb3d Replace \b with \0177 as erase character 2020-07-23 17:51:13 +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 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
Mark 5cc98cf104 Add acpi event output via char device 2020-07-07 21:25:48 +03:00
Mark ecf4262646 Separate notions of "thread" and "process" 2020-07-05 23:16:10 +03:00
Mark dbf4f57913 Use hardware-provided cursor on text-mode displays 2020-07-03 11:19:24 +03:00
Mark 4408de84a5 Weird 2020-07-02 12:48:22 +03:00
Mark 137604d84f Add support for text-mode console 2020-06-25 16:53:08 +03:00
Mark 55b2e665fd Port back CSI handling and cursor blink 2020-06-19 16:40:50 +03:00
Mark dd36f0decf (Maybe) better console subsystem 2020-06-18 16:32:01 +03:00
Mark bc36220152 Remove old console code 2020-06-18 10:54:55 +03:00
Mark 6ebf440b60 Fix invalid CR3 loading on execve() when timer ticks 2020-06-12 11:12:01 +03:00
Mark 6d7a3c9756 Re-enable VESA driver 2020-06-11 19:58:01 +03:00
Mark d28442d51e Fix SIGUSRn signal numbers, add debug shortcut 2020-05-29 14:28:12 +03:00
Mark 927e639d3a Add support for shared anonymous mappings 2020-04-13 12:28:22 +03:00
Mark b4f0f3214a PoC copy-on-write, likely leaky 2020-04-11 18:16:29 +03:00
Mark 522a5cc9d6 Add select() on sockets 2020-03-31 11:30:26 +03:00
Mark 55d2efda8e Reworked how waiting/select()ing FDs works 2020-03-30 18:08:23 +03:00
Mark ad002ee580 ps2aux: Add left button down/up event 2020-03-27 22:50:50 +02:00
Mark b3cf46f194 Add video ioctls and mmap 2020-03-27 16:55:52 +02:00
Mark b40d495e4e Add non-MSI IRQ functionality to PCI 2020-03-19 15:31:58 +02:00
Mark 0ac3074399 Optional debug cycles 2020-02-28 11:58:00 +02:00
Mark 7dd452b239 Uncomment removed code 2020-02-05 13:46:23 +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 3542b73f1a SMP kinda works, fixed malloc race condition
Damn, I totally need to review SMP safety
2020-02-04 14:16:16 +02:00
Mark d9595c7f62 Change project structure 2020-02-04 12:45:15 +02:00