Beispiel #1
0
void
prom_printf(char *fmt, ...)
{
	va_list args;
	char ch, *bptr;
	int i;

	va_start(args, fmt);

#ifdef CONFIG_KGDB
	ppbuf[0] = 'O';
	i = vsprintf(ppbuf + 1, fmt, args) + 1;
#else
	i = vsprintf(ppbuf, fmt, args);
#endif

	bptr = ppbuf;

#ifdef CONFIG_KGDB
	if (kgdb_initialized) {
		printk("kgdb_initialized = %d\n", kgdb_initialized);
		putpacket(bptr, 1);
	} else
#else
	while((ch = *(bptr++)) != 0) {
		if(ch == '\n')
			prom_putchar('\r');

		prom_putchar(ch);
	}
#endif
	va_end(args);
	return;
}
Beispiel #2
0
char *
cons_gets(char *buf, int n)
{
	char *lp;
	char *limit;
	int c;

	lp = buf;
	limit = &buf[n - 1];
	for (;;) {
		c = cons_getchar() & 0177;
		switch (c) {
		case '\n':
		case '\r':
			*lp = '\0';
			return (buf);
		case '\b':
			if (lp > buf)
				lp--;
			continue;
		case 'u'&037:			/* ^U */
			lp = buf;
			prom_putchar('\r');
			prom_putchar('\n');
			continue;
		case 0:
			continue;
		default:
			if (lp < limit)
				*lp++ = (char)c;
			else
				prom_putchar('\a');	/* bell */
		}
	}
}
Beispiel #3
0
static void early_console_write(struct console *con, const char *s, unsigned n)
{
	while (n-- && *s) {
		if (*s == '\n')
			prom_putchar('\r');
		prom_putchar(*s);
		s++;
	}
}
Beispiel #4
0
static void prom_console_write(struct console *co, const char *s,
			       unsigned count)
{
	/* Do each character */
	while (count--) {
		if (*s == '\n')
			prom_putchar('\r');
		prom_putchar(*s++);
	}
}
Beispiel #5
0
void
prom_write(const char *buf, unsigned int n)
{
	char ch;

	while (n != 0) {
		--n;
		if ((ch = *buf++) == '\n')
			prom_putchar('\r');
		prom_putchar(ch);
	}
}
Beispiel #6
0
void
prom_printf(char *fmt, ...)
{
	va_list args;
	char ch, *bptr, *last;
	int i;

	va_start(args, fmt);
	i = vsprintf(ppbuf, fmt, args);

	bptr = ppbuf;
	last = ppbuf;

	while((ch = *(bptr++)) != 0) {
		if(ch == '\n') {
			if (last < bptr - 1)
				prom_puts (last, bptr - 1 - last);
			prom_putchar('\r');
			last = bptr - 1;
		}
	}
	if (last < bptr - 1)
		prom_puts (last, bptr - 1 - last);
	va_end(args);
	return;
}
Beispiel #7
0
void prom_printf(char *fmt, ...)
{
	va_list args;
	char ppbuf[1024];
	char *bptr;

	va_start(args, fmt);
	vsprintf(ppbuf, fmt, args);

	bptr = ppbuf;

	while (*bptr != 0) {
		if (*bptr == '\n')
			prom_putchar('\r');

		prom_putchar(*bptr++);
	}
	va_end(args);
}
ssize_t
kmdb_prom_obp_writer(caddr_t buf, size_t len)
{
	int i;

	for (i = 0; i < len; i++)
		prom_putchar(*buf++);

	return (len);
}
Beispiel #9
0
int
cons_getchar(void)
{
	register int c;

	while ((c = prom_mayget()) == -1)
		;
	if (c == '\r') {
		prom_putchar(c);
		c = '\n';
	}
	if (c == 0177 || c == '\b') {
		prom_putchar('\b');
		prom_putchar(' ');
		c = '\b';
	}
	prom_putchar(c);
	return (c);
}
Beispiel #10
0
void prom_printf(char *fmt, ...)
{
	va_list args;
	char ch, *bptr;
	int i;

	va_start(args, fmt);
	i = vsprintf(ppbuf, fmt, args);

	bptr = ppbuf;

	while((ch = *(bptr++)) != 0) {
		if(ch == '\n')
			prom_putchar('\r');

		prom_putchar(ch);
	}
	va_end(args);
	return;
}
void prom_printf(char *fmt, ...)
{
	va_list		args;
	int 		i;
	char 		buf[PROM_PRINT_BUF_SIZE];

	va_start(args, fmt);
	vsprintf(buf, fmt, args);

	for(i= 0; i < PROM_PRINT_BUF_SIZE; i++)
	{
		if(!buf[i])
			break;
		
		if (buf[i]== '\n')
			prom_putchar('\r');

		prom_putchar(buf[i]);
	}
	
	va_end(args);
}
Beispiel #12
0
void
prom_printf(const char * fmt, ...)
{
	va_list args;
	int l;
	char *p, *buf_end;

	va_start(args, fmt);
	l = vsprintf(buf, fmt, args);
	va_end(args);
	buf_end = buf + l;

	for(p = buf; p < buf_end; p++)
		prom_putchar(*p);
}
Beispiel #13
0
void prom_printf(const char * fmt, ...)
{
	va_list args;
	int l;
	char *p, *buf_end;
	char buf[1024];	

	va_start(args, fmt);
	/* FIXME - hopefully i < sizeof(buf) */
	l = vsprintf(buf, fmt, args); 
	va_end(args);
	buf_end = buf + l;
	
	for (p = buf; p < buf_end; p++)
		prom_putchar(*p);
}
Beispiel #14
0
static void printlabel (char *label, int defflag)
{
     int len = strlen (label);
     char a = ' ';

     if (!printl_count)
	  prom_printf ("\n");
     switch (defflag) {
	  case 1:  a='*'; break;
	  case 2:  a='&'; break;
	  default: a=' '; break;
     }
     prom_printf ("%c %s", a, label);
     while (len++ < 25)
	  prom_putchar (' ');
     printl_count++;
     if (printl_count == 3)
	  printl_count = 0;
}
void
prom_writestr(const char *s, size_t n)
{
	while (n-- != 0)
		prom_putchar(*s++);
}
Beispiel #16
0
/*
 * PROM console output putchar.
 */
static void
prom_cnputc(dev_t dev, int c)
{

	prom_putchar(c);
}
/*ARGSUSED*/
int
prom_mayput(char c)
{
	prom_putchar(c);
	return (1);
}