Kernel messages infrastructure
[akaros.git] / kern / arch / sparc / console.c
index e466b2f..3350158 100644 (file)
@@ -1,4 +1,4 @@
-#include <arch/frontend.h>
+#include <frontend.h>
 #include <pmap.h>
 
 void
@@ -11,7 +11,7 @@ cons_init(void)
 void
 cputbuf(const char*COUNT(len) buf, int len)
 {
-       frontend_syscall(0,RAMP_SYSCALL_write,1,PADDR((int32_t)buf),len);
+       frontend_syscall(0,APPSERVER_SYSCALL_write,1,PADDR((int32_t)buf),len,0,0);
 }
 
 // Low-level console I/O
@@ -42,8 +42,11 @@ int
 cons_getc()
 {
        char ch;
-       int32_t ret = frontend_syscall(0,RAMP_SYSCALL_read,0,(int32_t)&ch,1);
-       return ret < 0 ? 0 : ch;
+       uintptr_t paddr = PADDR((uintptr_t)&ch);
+       int32_t ret = frontend_syscall(0,APPSERVER_SYSCALL_read,0,paddr,1,0,0);
+       if(ch == 0x7F)
+               ch = '\b';
+       return ret <= 0 ? 0 : ch;
        //int ret = sys_nbgetch();
        //return ret < 0 ? 0 : ret;
 }