sortix-mirror/sortix
Jonas 'Sortie' Termansen 7d39906acc Added support for saving FPU registers upon context switch.
This code uses the cr0 task switched bit to disable the FPU upon task
switch, which allows the kernel to delay copying the registers until
another task starts using them. Or better yet, if no other thread actually
uses the registers, then it won't need to do any copying at all!
2012-09-08 18:45:52 +02:00
..
fs Thread secured initfs. 2012-08-04 18:35:23 +02:00
include/sortix Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
kb Thread secured the keyboard driver. 2012-08-04 18:35:23 +02:00
x64 Added support for floating point numbers. 2012-09-08 18:45:52 +02:00
x86 Added support for floating point numbers. 2012-09-08 18:45:52 +02:00
x86-family Added support for saving FPU registers upon context switch. 2012-09-08 18:45:52 +02:00
.gitignore Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
Makefile Added support for saving FPU registers upon context switch. 2012-09-08 18:45:52 +02:00
ata.cpp Thread secured ATA driver. 2012-08-04 18:35:22 +02:00
ata.h Thread secured ATA driver. 2012-08-04 18:35:22 +02:00
bga.cpp Wrote a driver for the Bochs VBE Extensions (BGA). 2012-07-30 19:03:48 +02:00
bga.h Wrote a driver for the Bochs VBE Extensions (BGA). 2012-07-30 19:03:48 +02:00
calltrace.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
calltrace.h make CALLTRACE=1 to enable printing primitive calltraces upon panic. 2012-03-02 14:08:25 +01:00
com.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
com.h Thread secured the COM driver. 2012-08-04 18:35:22 +02:00
cpu.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
descriptors.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
descriptors.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
device.cpp Thread secured the kernel device class. 2012-08-04 18:35:23 +02:00
device.h Thread secured the kernel device class. 2012-08-04 18:35:23 +02:00
directory.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
directory.h Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
elf.cpp Refactored the internal kernel memory management API. 2012-07-06 17:18:07 +02:00
elf.h Program loader now sets the correct program segment type. 2011-12-16 15:33:12 +01:00
end.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
filesystem.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
filesystem.h Unified constants from sortix/filesystem.h and <fcntl.h> in <sortix/fcntl.h>. 2012-02-23 13:15:40 +01:00
initrd.cpp Added warning in case the laws of logic changes. 2012-08-04 18:35:23 +02:00
initrd.h Implemented a new initrd format with better inode support. 2012-07-02 17:40:52 +02:00
interlock.cpp Added a library of functions to simulate atomic operations on memory. 2012-08-04 18:35:23 +02:00
interrupt.cpp Added support for saving FPU registers upon context switch. 2012-09-08 18:45:52 +02:00
interrupt.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
io.cpp sortix/io.cpp is now ready for new system call semantics. 2012-08-04 18:35:23 +02:00
io.h Added pipe(2), write(2), and read(2). 2011-11-16 21:21:38 +01:00
kernel.cpp Added support for saving FPU registers upon context switch. 2012-09-08 18:45:52 +02:00
kernelinfo.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
kernelinfo.h Added kernelinfo(2), which reads a kernel information string. 2012-03-07 18:04:59 +01:00
keyboard.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
keyboard.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
kthread.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
lfbtextbuffer.cpp Added a text buffer that works with graphical linear frame buffers. 2012-07-30 19:02:05 +02:00
lfbtextbuffer.h Added a text buffer that works with graphical linear frame buffers. 2012-07-30 19:02:05 +02:00
linebuffer.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
linebuffer.h Added a class for handling terminal linebuffering. 2012-02-10 13:28:28 +01:00
log.cpp Added tcgetwinsize(2) for determining terminal resolution. 2012-07-24 18:43:34 +02:00
logterminal.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
logterminal.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
memorymanagement.cpp Refactored the internal kernel memory management API. 2012-07-06 17:18:07 +02:00
mount.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
mount.h Mount-points are now handled properly within the kernel. 2011-11-21 19:39:13 +01:00
multiboot.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
panic.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
pci.cpp Refactored the PCI code to become a library of utility functions. 2012-07-29 23:45:54 +02:00
pipe.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
pipe.h Thread secured pipe class. 2012-08-04 18:35:23 +02:00
process.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
process.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
refcount.cpp Thread secured refcount class. 2012-08-04 18:35:23 +02:00
scheduler.cpp Added support for saving FPU registers upon context switch. 2012-09-08 18:45:52 +02:00
scheduler.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
serialterminal.cpp The console can now be rendered to any text buffer. 2012-07-24 14:48:14 +02:00
serialterminal.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
signal.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
signal.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
sound.cpp Thread secured the sound driver. 2012-08-04 18:35:23 +02:00
sound.h Thread secured the sound driver. 2012-08-04 18:35:23 +02:00
stream.h Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
syscall.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
syscall.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
terminal.cpp Added tcgetwinsize(2) for determining terminal resolution. 2012-07-24 18:43:34 +02:00
terminal.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
textbuffer.cpp The console can now be rendered to any text buffer. 2012-07-24 14:48:14 +02:00
textterminal.cpp Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
textterminal.h Multithreaded kernel and improvement of signal handling. 2012-09-08 18:45:41 +02:00
thread.cpp Added support for saving FPU registers upon context switch. 2012-09-08 18:45:52 +02:00
thread.h Added support for saving FPU registers upon context switch. 2012-09-08 18:45:52 +02:00
time.cpp The PIC can now be deprogrammed and reprogrammed. 2012-05-26 14:00:24 +02:00
time.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
uart.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
uart.h Removed deprecated VGA API and moved it to /dev/vga. 2011-11-25 13:38:31 +01:00
utf8.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
utf8.h Added a simple utf8 encoder in the kernel. 2012-01-22 00:56:58 +01:00
vga.cpp The VGA font is now available as /dev/vga. 2012-08-01 13:07:47 +02:00
vga.h Updated vga code to newer coding conventions. 2012-07-23 00:05:31 +02:00
vgatextbuffer.cpp Fixed VGA text buffer rendering non-ascii text incorrectly. 2012-07-30 18:56:47 +02:00
vgatextbuffer.h The console can now be rendered to any text buffer. 2012-07-24 14:48:14 +02:00
video.cpp Hack: ReadParamString supports "STOP" because of stdarg bug. 2012-08-04 18:35:22 +02:00
worker.cpp Added a kernel worker thread for use when the kernel goes multithreaded. 2012-08-04 18:35:23 +02:00