Commit Graph

  • 5e23fc4f5c SIGINT from tty, process groups and waitpid() Mark 2020-02-02 13:41:40 +02:00
  • 6adf9468a4 Make kill() return 0 if sig == 0 and pid is valid Mark 2020-02-01 22:14:56 +02:00
  • d6ffd57afa Interruptible nanosleep() Mark 2020-02-01 22:08:05 +02:00
  • 0571a7f12a Bring back more previously available syscalls Mark 2020-02-01 21:11:47 +02:00
  • b23098c8f2 Add a bunch of headers (stubs) for compat, add getpid() Mark 2020-02-01 00:05:41 +02:00
  • 6089df1556 Global thread list, proper kill() implementation, proper signal entry in sched Mark 2020-01-31 23:35:46 +02:00
  • 0df6daa87f Restructure source files Mark 2020-01-31 22:57:38 +02:00
  • 4e845d5d5e Backport more old code Mark 2020-01-31 22:18:29 +02:00
  • 93c8fc0b77 Make sigenter-stored RSP per-thread attribute Mark 2020-01-31 17:25:04 +02:00
  • f00b5127b9 Cleanup a bit Mark 2020-01-31 17:20:30 +02:00
  • cb24171e79 Signal entry/exit works (crude) Mark 2020-01-31 16:34:17 +02:00
  • a5ce69c077 Restore RSP0 properly on syscall exit Mark 2020-01-31 15:20:49 +02:00
  • cf9c511ff3 Added I/O syscalls (read/write) and ring reading Mark 2020-01-31 11:44:47 +02:00
  • 6c9949c2af Thread hierarchy, debugging cycles Mark 2020-01-31 10:42:37 +02:00
  • 69fd9cb6ce Add vfs to it Mark 2020-01-30 20:10:07 +02:00
  • 5e7dd1f4ed Add sleep, fix NX bit appearing in addresses Mark 2020-01-30 18:10:54 +02:00
  • f7b337ecd5 Prettify syscalls Mark 2020-01-30 17:41:33 +02:00
  • cbb39f9d77 Add basic userspace binary execution (ported from older kernel) Mark 2020-01-30 17:29:40 +02:00
  • f262f9ab6d Remove magic offsets, make thread_current an attribute of cpu Mark 2020-01-30 15:55:19 +02:00
  • e76f30b6bc Remove testing tasks Mark 2020-01-30 15:45:54 +02:00
  • e718112e72 Move files a bit, add sys_exit Mark 2020-01-30 15:43:41 +02:00
  • df4eeefc8f Userspace exec() Mark 2020-01-30 15:16:13 +02:00
  • 3b4c461c85 Merge thread_init Mark 2020-01-30 14:51:57 +02:00
  • 8f7d5071e6 Userspace fork seems to work Mark 2020-01-30 14:32:08 +02:00
  • 1e631fc03a Well, seems to work Mark 2020-01-30 13:24:00 +02:00
  • fd374087b0 Thread queueing/unqueuing Mark 2020-01-30 12:40:58 +02:00
  • 603a8064a3 Thread timer-based preemption Mark 2020-01-30 12:07:15 +02:00
  • 6e9de43a17 Testing sched Mark 2020-01-30 12:00:25 +02:00
  • 48764261ba Nuke most of the non-essential sources Mark 2020-01-29 22:40:44 +02:00
  • 3a277167a2 Add CPUID instruction support, NX bit for page tables Mark 2020-01-29 22:24:51 +02:00
  • bccd620eec Add symbol table handling and debug backtrace Mark 2020-01-29 20:12:52 +02:00
  • 977ca16f82 Remove magic flags and numbers from mm code Mark 2020-01-29 16:34:00 +02:00
  • ce7e924535 Fancy error dumps Mark 2020-01-29 15:05:51 +02:00
  • fe78d497f4 I hate you Mark 2020-01-29 14:24:05 +02:00
  • 41ac897360 Nuke it all Mark 2020-01-29 14:07:09 +02:00
  • a221a2a561 Nuke old scheduling code, begin all threads anew Mark 2020-01-28 15:41:33 +02:00
  • 043c4e7eff Allow IRQs during early initialization Mark 2020-01-28 12:22:17 +02:00
  • 8ef26b4450 Reenable UHCI driver Mark 2020-01-27 21:56:49 +02:00
  • 6309d77901 Add support for MSIs Mark 2020-01-27 21:42:49 +02:00
  • 6a95990b68 Some basic framework for PCI(e) enumeration Mark 2020-01-27 17:53:57 +02:00
  • 7920c4dba1 IPI functions for cross-processor messaging, panic now halts the whole system Mark 2020-01-27 16:22:21 +02:00
  • 7da9097db8 Nuke old PCI code Mark 2020-01-27 13:35:57 +02:00
  • 6740da33c3 Add file modes to sysfs, add stat() to sysfs Mark 2020-01-27 13:12:12 +02:00
  • bfe2999b8a Add snprintf for sysfs buffer writing Mark 2020-01-27 12:59:02 +02:00
  • c28da05558 ext2 chmod() and chown() Mark 2020-01-27 12:11:55 +02:00
  • 2cc9c6ef07 Remove unused commented-out lines Mark 2020-01-27 11:48:01 +02:00
  • 4e99ad39ca Include "+SMP" in version string when built with SMP support Mark 2020-01-27 11:45:34 +02:00
  • 78e07114b5 Make IDTs per-CPU in SMP, fix SMP problem with APs starting scheduling too early Mark 2020-01-27 11:40:23 +02:00
  • 83880b82d7 ext2 stat() Mark 2020-01-27 10:14:56 +02:00
  • 071c37fce9 Remove .access() vnode operation as UID:GID/mode are stored directly in the vnode itself Mark 2020-01-26 21:06:43 +02:00
  • 0e66f05cad ext2 opendir()/readdir() Mark 2020-01-26 21:04:46 +02:00
  • 49a2f60c24 Add AHCI SATA write and ext2 file reading Mark 2020-01-26 19:50:46 +02:00
  • 5f9e6a3774 Add a bunch of stuff to sysfs Mark 2020-01-26 00:32:23 +02:00
  • 84d02993d4 Add a simple sysfs implementation Mark 2020-01-25 23:04:55 +02:00
  • cefa6455ad Dump more info about devices Mark 2020-01-25 19:02:12 +02:00
  • 6a8f09a9d9 Organize source files, make USB stuff optional Mark 2020-01-25 02:32:44 +02:00
  • 5ff24ec6df Fix PS/2 keyboard input Mark 2020-01-25 01:37:45 +02:00
  • 0ab205579f Fix queue handling in UHCI driver, add USB keyboard support Mark 2020-01-25 01:27:00 +02:00
  • 016037659a USB: Add device enumeration and UHCI (ugly) support Mark 2020-01-24 17:40:28 +02:00
  • e5b1674748 New AHCI driver, SATA/SATAPI support for reading (+ SATA writing) Mark 2020-01-23 16:27:20 +02:00
  • 28aa749956 Get rid of old AHCI/IDE drivers Mark 2020-01-22 15:38:56 +02:00
  • f648cd2b94 Get rid of old ext2 Mark 2020-01-22 15:36:58 +02:00
  • 92fe570c38 Make kernel debug levels configurable Mark 2020-01-22 15:31:57 +02:00
  • dad41847e3 Add ttyS0 Mark 2020-01-22 15:01:37 +02:00
  • 89b7b86fbb Add options to configure kernel cmdline Mark 2020-01-22 13:35:50 +02:00
  • 89330bddd1 Fix console not compiling without VESA Mark 2020-01-22 12:28:56 +02:00
  • b65bf12eb1 Sketchy mmap() and ioctl()s for fbdev, allow mapping VESA fbdev Mark 2020-01-21 19:17:27 +02:00
  • 0105aa8002 Proper line discipline for TTYs and simple line discipline for chardevs Mark 2020-01-21 17:08:31 +02:00
  • beecf5e2b3 Add an option for controlling debugging cycles Mark 2020-01-21 00:09:22 +02:00
  • 5f5f315a4b PS/2 Mouse support (3-button), testing chardev Mark 2020-01-20 23:24:16 +02:00
  • 5d316c0691 Add caps lock handling (ps/2) Mark 2020-01-20 17:08:58 +02:00
  • 7d962ff208 Remove __isatty() system call Mark 2020-01-20 16:58:14 +02:00
  • f6c8c2b941 Add ^D (broken a bit, but kind of works) and TIOCGWINSZ Mark 2020-01-20 16:57:05 +02:00
  • 5d3e884b66 Basic job control with process groups. setuid bit support Mark 2020-01-20 15:39:57 +02:00
  • 6bd26ca5b6 Fix minor allocations problems with ext2, add PS/2 keys Mark 2020-01-20 00:53:59 +02:00
  • 27442d612f Add shebang parsing Mark 2020-01-19 17:54:01 +02:00
  • f8937685cd Update demo0.png Mark 2020-01-17 22:58:08 +02:00
  • a58859aad1 Automatically assign thread names when running execve() Mark 2020-01-17 22:57:06 +02:00
  • 940d678575 Fix blinking space (should've been a character underneath cursor) Mark 2020-01-17 22:52:25 +02:00
  • 020eb544a9 Automatic filesystem guessing when mounting Mark 2020-01-17 16:02:57 +02:00
  • 1bfe68946e Fix cursor character remaining at old position after moving in VESA console Mark 2020-01-17 14:04:03 +02:00
  • 9626452ef7 Add mtime/ctime/atime support with system time Mark 2020-01-17 13:58:41 +02:00
  • 2d6b461d0f Disallow opening dirs without O_DIRECTORY and vice versa Mark 2020-01-17 13:24:41 +02:00
  • fdde790665 Add some escape sequences to ps2 keyboard translation Mark 2020-01-17 13:20:13 +02:00
  • c1bd980264 select() syscall for character device reads Mark 2020-01-17 12:53:56 +02:00
  • 4584b22585 Add timer value in debug console output Mark 2020-01-17 12:15:23 +02:00
  • 45877916c9 Fix leaking directory file descriptors Mark 2020-01-16 17:04:27 +02:00
  • 100fc00e18 Fix VESA framebuffer scrolling Mark 2020-01-16 16:55:39 +02:00
  • 6374b0b231 Make tarfs writable in-memory Mark 2020-01-16 16:19:41 +02:00
  • 97db4331b4 Add a way to handle illegal system call and segmentation faults in signal handlers Mark 2020-01-16 14:04:14 +02:00
  • 1e597e0ac4 umount() system call Mark 2020-01-15 22:36:29 +02:00
  • f2ad1e69eb Fixed broken signal handling Mark 2020-01-15 22:07:11 +02:00
  • 05e10db0e2 Add "uname" system call Mark 2020-01-15 17:16:03 +02:00
  • 86cd5446cd Set system boot time properly, fix gettimeofday Mark 2020-01-15 17:00:24 +02:00
  • bf9bef247a Better support for L1 indirection in ext2 driver Mark 2020-01-15 14:03:45 +02:00
  • b7c8ce1d2b Clean comments up, merge ext2 inode block index code Mark 2020-01-15 13:05:53 +02:00
  • 8682e51c66 Add version reporting when booting Mark 2020-01-15 11:46:26 +02:00
  • 12b2df3570 Fix header a bit for POSIX compat Mark 2020-01-14 17:38:03 +02:00
  • c1e98f4590 Add script to install necessary kernel headers Mark 2020-01-14 17:18:38 +02:00
  • 9b00ad3bff Add lseek system call Mark 2020-01-14 16:20:44 +02:00