summaryrefslogtreecommitdiff
path: root/src/kernel/task/syscall.cpp
diff options
context:
space:
mode:
authorAlex AUVOLAT <alexis211@gmail.com>2013-07-11 22:38:20 +0200
committerAlex AUVOLAT <alexis211@gmail.com>2013-07-11 22:38:20 +0200
commitd2aebee488b71e6f28b8728e7473b63f412ca897 (patch)
treefbe432590bfcf0b77b189a3db99762fb4f104f39 /src/kernel/task/syscall.cpp
parent78d7ffce4861dea5624ff29ceb39f1643dff8235 (diff)
downloadTCE-std_c_userland.tar.gz
TCE-std_c_userland.zip
Added direct acces to video memory from userland.std_c_userland
Next : same for keyboard ; move VT handling to userland. Consequence : a foreground app has total control over I/O. Next : implement sockets & a userland console multiplexer.
Diffstat (limited to 'src/kernel/task/syscall.cpp')
-rw-r--r--src/kernel/task/syscall.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/kernel/task/syscall.cpp b/src/kernel/task/syscall.cpp
index a3074b8..2e1350e 100644
--- a/src/kernel/task/syscall.cpp
+++ b/src/kernel/task/syscall.cpp
@@ -78,6 +78,10 @@ static void link_sc(registers *r) {
r->eax = link((char*)r->ebx, (char*)r->ecx, r->edx);
}
+static void devcontrol_sc(registers *r) {
+ r->eax = dev_control(r->ebx, (char*)r->ecx);
+}
+
int_callback syscalls[NUMBER_OF_SYSCALLS] = { // This must correspond to common/include/tce/syscalls.h
0, // 0
@@ -109,6 +113,7 @@ int_callback syscalls[NUMBER_OF_SYSCALLS] = { // This must correspond to common
read_sc,
write_sc,
link_sc,
+ devcontrol_sc,
0
};