sortix-mirror/sortix
Jonas 'Sortie' Termansen 6367a2352e Added sforkr(2) that controls the child registers as well.
sfork(2) now calls sforkr(2) with the current registers.

This will prove useful in creating threads, where user-space now can fully
control what state the child will start in. This is unlike the Linux clone
system call that accepts a pointer to the child stack; this is more powerful
and somehow simpler. Note that this will create a rather raw thread; no
thread initization has been done by the standard thread API (when it is
implemented), so this feature shouldn't be used by programmers unless they
know what they are doing.

fork(2) now calls sfork(2) directly. Also removed fork(2) and sfork(2) from
the kernel as they are done using sforkr(2) now. So technically they aren't
system calls right now, but that could always change.
2012-04-05 23:00:47 +02:00
..
fs Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
include/sortix Added sforkr(2) that controls the child registers as well. 2012-04-05 23:00:47 +02:00
kb Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
x64 execve(2) now pushes envp to the new stack and sets up registers. 2012-04-04 01:49:14 +02:00
x86 execve(2) now pushes envp to the new stack and sets up registers. 2012-04-04 01:49:14 +02:00
x86-family Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
.gitignore Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
ata.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
ata.h Implemented a simple ATA PIO Mode driver that can read and write. 2012-01-08 14:20:39 +01: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 Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
com.h Added a new COM Port driver. 2012-03-17 15:48:42 +01:00
cpu.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01: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 Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
device.h Refactored the system to use the new Terminal interface. 2012-01-22 16:48:57 +01: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 all the sortix headers into a include directory. 2012-03-22 00:52:29 +01: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
event.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
event.h Added protection against running terminated threads. 2012-02-10 13:27:11 +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 Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
initrd.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
interrupt.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
interrupt.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
io.cpp Added stubs for pread(2) and pwrite(2). 2012-03-24 15:23:07 +01:00
io.h Added pipe(2), write(2), and read(2). 2011-11-16 21:21:38 +01:00
kernel.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01: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
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 Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
logterminal.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
logterminal.h Implemented a terminal that reads from keyboard and writes to kernel log. 2012-02-10 13:28:28 +01:00
Makefile Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01: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 Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
pci.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
pci.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
pipe.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
pipe.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
process.cpp Added sforkr(2) that controls the child registers as well. 2012-04-05 23:00:47 +02:00
process.h execve(2) now pushes envp to the new stack and sets up registers. 2012-04-04 01:49:14 +02:00
refcount.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
refcount.h Added a way for discover refcount of Refcounted classes. 2012-03-21 16:20:41 +01:00
scheduler.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
scheduler.h Added the _exit() system call. 2011-11-05 20:19:36 +01:00
serialterminal.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
serialterminal.h VGA now sort-of works under serial-connections. 2011-12-05 21:44:14 +01:00
signal.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
signal.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
sound.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
sound.h Ported kernel to new syscall API and started cleaning up the old one. 2011-10-27 00:20:28 +02:00
stream.h Made Device::IsType 'const', because it is. 2012-01-18 01:11:17 +01:00
syscall.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
syscall.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
terminal.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
terminal.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
thread.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
thread.h Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
time.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01: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 Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
vga.h Removed deprecated VGA API and moved it to /dev/vga. 2011-11-25 13:38:31 +01:00
vgaterminal.cpp Refactored all the sortix headers into a include directory. 2012-03-22 00:52:29 +01:00
vgaterminal.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00