From 75bbd1ecfac34ed20f88234872f66d7f670da4d2 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Fri, 26 Mar 2021 15:19:30 -0700 Subject: pk: support printk before file init --- pk/console.c | 4 +++- pk/file.h | 3 --- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pk/console.c b/pk/console.c index 3d3edae..90742d1 100644 --- a/pk/console.c +++ b/pk/console.c @@ -4,6 +4,7 @@ #include "mmap.h" #include "file.h" #include "frontend.h" +#include "bits.h" #include #include @@ -11,7 +12,8 @@ static void vprintk(const char* s, va_list vl) { char out[256]; // XXX int res = vsnprintf(out, sizeof(out), s, vl); - file_write(stderr, out, res < sizeof(out) ? res : sizeof(out)); + int size = MIN(res, sizeof(out)); + frontend_syscall(SYS_write, 2, kva2pa(out), size, 0, 0, 0, 0); } void printk(const char* s, ...) diff --git a/pk/file.h b/pk/file.h index 2dd7798..7386026 100644 --- a/pk/file.h +++ b/pk/file.h @@ -14,9 +14,6 @@ typedef struct file } file_t; extern file_t files[]; -#define stdin (files + 0) -#define stdout (files + 1) -#define stderr (files + 2) file_t* file_get(int fd); file_t* file_open(const char* fn, int flags, int mode); -- cgit v1.1