Commit Graph

111 Commits

Author SHA1 Message Date
Mark 533bc8567a Add linked list structure 2020-02-05 11:38:13 +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
Mark b60ae9eebd Backport VESA driver 2020-02-03 13:43:02 +02:00
Mark 51d27f5f8c Add GCC/binutils patches 2020-02-03 15:22:46 +02:00
Mark 32f51f53f0 Backport USB driver + UHCI 2020-02-03 13:40:03 +02:00
Mark 68a7241a87 reboot() system call 2020-02-03 13:10:46 +02:00
Mark fbdb44b71d Backport ext2 2020-02-03 12:56:53 +02:00
Mark 14805828b5 Backport sysfs and random 2020-02-03 12:39:53 +02:00
Mark 0571a7f12a Bring back more previously available syscalls 2020-02-01 21:11:47 +02:00
Mark 0df6daa87f Restructure source files 2020-01-31 22:57:38 +02:00
Mark 4e845d5d5e Backport more old code 2020-01-31 22:18:29 +02:00
Mark cf9c511ff3 Added I/O syscalls (read/write) and ring reading 2020-01-31 11:44:47 +02:00
Mark 69fd9cb6ce Add vfs to it 2020-01-30 20:10:07 +02:00
Mark cbb39f9d77 Add basic userspace binary execution (ported from older kernel) 2020-01-30 17:29:40 +02:00
Mark e718112e72 Move files a bit, add sys_exit 2020-01-30 15:43:41 +02:00
Mark 8f7d5071e6 Userspace fork seems to work 2020-01-30 14:32:08 +02:00
Mark 6e9de43a17 Testing sched 2020-01-30 12:00:25 +02:00
Mark 48764261ba Nuke most of the non-essential sources 2020-01-29 22:40:44 +02:00
Mark 3a277167a2 Add CPUID instruction support, NX bit for page tables 2020-01-29 22:24:51 +02:00
Mark fe78d497f4 I hate you 2020-01-29 14:24:05 +02:00
Mark 41ac897360 Nuke it all 2020-01-29 14:07:09 +02:00
Mark a221a2a561 Nuke old scheduling code, begin all threads anew 2020-01-28 15:41:33 +02:00
Mark 8ef26b4450 Reenable UHCI driver 2020-01-27 21:56:49 +02:00
Mark 7920c4dba1 IPI functions for cross-processor messaging, panic now halts the whole
system
2020-01-27 16:22:21 +02:00
Mark bfe2999b8a Add snprintf for sysfs buffer writing 2020-01-27 12:59:02 +02:00
Mark 2cc9c6ef07 Remove unused commented-out lines 2020-01-27 11:48:01 +02:00
Mark 4e99ad39ca Include "+SMP" in version string when built with SMP support 2020-01-27 11:45:34 +02:00
Mark 49a2f60c24 Add AHCI SATA write and ext2 file reading 2020-01-26 19:50:46 +02:00
Mark 84d02993d4 Add a simple sysfs implementation 2020-01-25 23:04:55 +02:00
Mark 6a8f09a9d9 Organize source files, make USB stuff optional 2020-01-25 02:32:44 +02:00
Mark 0ab205579f Fix queue handling in UHCI driver, add USB keyboard support 2020-01-25 01:27:00 +02:00
Mark 016037659a USB: Add device enumeration and UHCI (ugly) support
Most of the idea for UHCI controller queue handling is
shamelessly stolen from https://github.com/pdoane/osdev, except
the way of handling queue heads and allocating them is very
simplified.
2020-01-24 17:40:28 +02:00
Mark e5b1674748 New AHCI driver, SATA/SATAPI support for reading (+ SATA writing) 2020-01-23 16:27:20 +02:00
Mark 28aa749956 Get rid of old AHCI/IDE drivers 2020-01-22 15:38:56 +02:00
Mark f648cd2b94 Get rid of old ext2 2020-01-22 15:36:58 +02:00
Mark 89b7b86fbb Add options to configure kernel cmdline 2020-01-22 13:35:50 +02:00
Mark 0105aa8002 Proper line discipline for TTYs and simple line discipline for chardevs 2020-01-21 17:08:31 +02:00
Mark beecf5e2b3 Add an option for controlling debugging cycles 2020-01-21 00:09:22 +02:00
Mark 5d316c0691 Add caps lock handling (ps/2) 2020-01-20 17:08:58 +02:00
Mark 5d3e884b66 Basic job control with process groups. setuid bit support 2020-01-20 15:39:57 +02:00
Mark f2ad1e69eb Fixed broken signal handling 2020-01-15 22:07:11 +02:00
Mark 86cd5446cd Set system boot time properly, fix gettimeofday 2020-01-15 17:00:24 +02:00
Mark 8682e51c66 Add version reporting when booting 2020-01-15 11:46:26 +02:00
Mark 63bd9a2b35 Add open/truncate/read/write operations + file access 2020-01-13 14:38:16 +02:00
Mark 8b0fe62240 Add read/write syscalls again 2020-01-12 22:59:13 +02:00
Mark d0784e5f4b Userspace init executes again, fixed missing FXSAVE zone in threads 2020-01-12 22:17:15 +02:00
Mark fa399280fd Add find() and link resolution to VFS 2020-01-12 12:57:31 +02:00
Mark 2e795d2ebf Minimal working vfs refactor 2020-01-10 15:37:54 +02:00
Mark 565f67188a Remove old VFS implementation 2020-01-10 14:09:45 +02:00