diff options
Diffstat (limited to 'pk/sbi_impl.c')
-rw-r--r-- | pk/sbi_impl.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/pk/sbi_impl.c b/pk/sbi_impl.c new file mode 100644 index 0000000..03a56bc --- /dev/null +++ b/pk/sbi_impl.c @@ -0,0 +1,23 @@ +#include "pk.h" +#include "vm.h" +#include "frontend.h" +#include "sbi.h" +#include "mcall.h" +#include <errno.h> + +#define sbi_printk(str, ...) ({ \ + char buf[1024]; /* XXX */ \ + sprintk(buf, str, __VA_ARGS__); \ + for (size_t i = 0; buf[i]; i++) \ + do_mcall(MCALL_CONSOLE_PUTCHAR, buf[i]); }) + +uintptr_t __sbi_query_memory(uintptr_t id, memory_block_info *p) +{ + if (id == 0) { + p->base = current.first_free_paddr; + p->size = mem_size - p->base; + return 0; + } + + return -1; +} |