blob: 34881d47c55649df19a0d4bb03da0159f9ccc9d8 [file] [log] [blame]
#include <arch/console.h>
#include <atomic.h>
#include <kmalloc.h>
#include <monitor.h>
#include <pmap.h>
#include <process.h>
#include <smp.h>
int cons_get_any_char(void)
{
assert(0);
}
void cons_init()
{
mtpcr(PCR_SR, mfpcr(PCR_SR) | (1 << (IRQ_HOST + SR_IM_SHIFT)));
while (mtpcr(PCR_TOHOST, 0x01L << 56))
;
}
// `High'-level console I/O. Used by readline and cprintf.
void cputbuf(const char *str, int len)
{
for (int i = 0; i < len; i++)
cputchar(str[i]);
}
void poll_keyboard()
{
}
// Low-level console I/O
void cputchar(int c)
{
while (mtpcr(PCR_TOHOST, 0x0101000000000000 | (unsigned char)c))
;
}
int getchar(void)
{
char c = 'x';
#warning "implement me"
/* maybe do a qio read */
return c;
}
int iscons(int fdnum)
{
// used by readline
return 1;
}