diff options
Diffstat (limited to 'kernel/printk.c')
| -rw-r--r-- | kernel/printk.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/printk.c b/kernel/printk.c index 51c1a7a..b3c925a 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -12,14 +12,19 @@ void __noreturn __kernel die(const char *const message) ; } -void __kernel printk(const char *const message) +__kernel void printk(const char *const message) { size_t len = strlen(message); if (!len) { return; } - struct sbi_ret ret = sbi_ecall2(DBCN_EXT, DBCN_WRITE, len, (unsigned long)message); + write(message, len); +} + +__kernel void write(const char *const message, size_t n) +{ + struct sbi_ret ret = sbi_ecall2(DBCN_EXT, DBCN_WRITE, n, (unsigned long)message); if (ret.error != SBI_SUCCESS) { die(nullptr); } |
