summaryrefslogtreecommitdiff
path: root/sys/arch/mvmeppc/stand/libbug/putchar.c
blob: 9a15bfb6b3f1e9aef1995948e8a2e2b206f4169e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*	$OpenBSD: putchar.c,v 1.1 2001/06/26 21:58:05 smurph Exp $ */

/*
 * putchar: easier to do this with outstr than to add more macros to
 * handle byte passing on the stack
 */

#include <sys/types.h>
#include <machine/prom.h>

#include "stand.h"
#include "libbug.h"

void
putchar(c)
	int c;
{
	char ca;
	ca = (char)c & 0xFF;
	if (ca == '\n')
		putchar('\r');
	
	asm  volatile ("mr 3, %0" :: "r" (ca));
	MVMEPROM_CALL(MVMEPROM_OUTCHR);
}