Commit Graph

327 Commits

Author SHA1 Message Date
Mark f7b337ecd5 Prettify syscalls 2020-01-30 17:41:33 +02:00
Mark cbb39f9d77 Add basic userspace binary execution (ported from older kernel) 2020-01-30 17:29:40 +02:00
Mark f262f9ab6d Remove magic offsets, make thread_current an attribute of cpu 2020-01-30 15:55:19 +02:00
Mark e76f30b6bc Remove testing tasks 2020-01-30 15:45:54 +02:00
Mark e718112e72 Move files a bit, add sys_exit 2020-01-30 15:43:41 +02:00
Mark df4eeefc8f Userspace exec() 2020-01-30 15:16:13 +02:00
Mark 3b4c461c85 Merge thread_init 2020-01-30 14:51:57 +02:00
Mark 8f7d5071e6 Userspace fork seems to work 2020-01-30 14:32:08 +02:00
Mark 1e631fc03a Well, seems to work 2020-01-30 13:24:00 +02:00
Mark fd374087b0 Thread queueing/unqueuing 2020-01-30 12:40:58 +02:00
Mark 603a8064a3 Thread timer-based preemption 2020-01-30 12:07:15 +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 bccd620eec Add symbol table handling and debug backtrace 2020-01-29 20:12:52 +02:00
Mark 977ca16f82 Remove magic flags and numbers from mm code 2020-01-29 16:34:00 +02:00
Mark ce7e924535 Fancy error dumps 2020-01-29 15:05: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 043c4e7eff Allow IRQs during early initialization 2020-01-28 12:22:17 +02:00
Mark 8ef26b4450 Reenable UHCI driver 2020-01-27 21:56:49 +02:00
Mark 6309d77901 Add support for MSIs 2020-01-27 21:42:49 +02:00
Mark 6a95990b68 Some basic framework for PCI(e) enumeration 2020-01-27 17:53:57 +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 7da9097db8 Nuke old PCI code 2020-01-27 13:35:57 +02:00
Mark 6740da33c3 Add file modes to sysfs, add stat() to sysfs 2020-01-27 13:12:12 +02:00
Mark bfe2999b8a Add snprintf for sysfs buffer writing 2020-01-27 12:59:02 +02:00
Mark c28da05558 ext2 chmod() and chown() 2020-01-27 12:11:55 +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 78e07114b5 Make IDTs per-CPU in SMP, fix SMP problem with APs starting scheduling
too early
2020-01-27 11:40:23 +02:00
Mark 83880b82d7 ext2 stat() 2020-01-27 10:14:56 +02:00
Mark 071c37fce9 Remove .access() vnode operation as UID:GID/mode are stored directly in
the vnode itself
2020-01-26 21:06:43 +02:00
Mark 0e66f05cad ext2 opendir()/readdir() 2020-01-26 21:04:46 +02:00
Mark 49a2f60c24 Add AHCI SATA write and ext2 file reading 2020-01-26 19:50:46 +02:00
Mark 5f9e6a3774 Add a bunch of stuff to sysfs 2020-01-26 00:32:23 +02:00
Mark 84d02993d4 Add a simple sysfs implementation 2020-01-25 23:04:55 +02:00
Mark cefa6455ad Dump more info about devices 2020-01-25 19:02:12 +02:00
Mark 6a8f09a9d9 Organize source files, make USB stuff optional 2020-01-25 02:32:44 +02:00
Mark 5ff24ec6df Fix PS/2 keyboard input 2020-01-25 01:37:45 +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 92fe570c38 Make kernel debug levels configurable 2020-01-22 15:31:57 +02:00
Mark dad41847e3 Add ttyS0 2020-01-22 15:01:37 +02:00
Mark 89b7b86fbb Add options to configure kernel cmdline 2020-01-22 13:35:50 +02:00
Mark 89330bddd1 Fix console not compiling without VESA 2020-01-22 12:28:56 +02:00