summaryrefslogtreecommitdiff
path: root/kernel/console.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/console.c')
-rw-r--r--kernel/console.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/console.c b/kernel/console.c
index 87a83ff..2b1ed3c 100644
--- a/kernel/console.c
+++ b/kernel/console.c
@@ -27,6 +27,8 @@
//
// send one character to the uart.
+// called by printf, and to echo input characters,
+// but not from write().
//
void
consputc(int c)
@@ -40,9 +42,9 @@ consputc(int c)
if(c == BACKSPACE){
// if the user typed backspace, overwrite with a space.
- uartputc('\b'); uartputc(' '); uartputc('\b');
+ uartputc_sync('\b'); uartputc_sync(' '); uartputc_sync('\b');
} else {
- uartputc(c);
+ uartputc_sync(c);
}
}
@@ -70,11 +72,11 @@ consolewrite(int user_src, uint64 src, int n)
char c;
if(either_copyin(&c, user_src, src+i, 1) == -1)
break;
- consputc(c);
+ uartputc(c);
}
release(&cons.lock);
- return n;
+ return i;
}
//