Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/m68k/sun3/prom/printf.c
10818 views
1
/*
2
* printf.c: Internal prom library printf facility.
3
*
4
* Copyright (C) 1995 David S. Miller ([email protected])
5
*/
6
7
/* This routine is internal to the prom library, no one else should know
8
* about or use it! It's simple and smelly anyway....
9
*/
10
11
#include <linux/kernel.h>
12
13
#include <asm/openprom.h>
14
#include <asm/oplib.h>
15
16
#ifdef CONFIG_KGDB
17
extern int kgdb_initialized;
18
#endif
19
20
static char ppbuf[1024];
21
22
void
23
prom_printf(char *fmt, ...)
24
{
25
va_list args;
26
char ch, *bptr;
27
int i;
28
29
va_start(args, fmt);
30
31
#ifdef CONFIG_KGDB
32
ppbuf[0] = 'O';
33
i = vsprintf(ppbuf + 1, fmt, args) + 1;
34
#else
35
i = vsprintf(ppbuf, fmt, args);
36
#endif
37
38
bptr = ppbuf;
39
40
#ifdef CONFIG_KGDB
41
if (kgdb_initialized) {
42
printk("kgdb_initialized = %d\n", kgdb_initialized);
43
putpacket(bptr, 1);
44
} else
45
#else
46
while((ch = *(bptr++)) != 0) {
47
if(ch == '\n')
48
prom_putchar('\r');
49
50
prom_putchar(ch);
51
}
52
#endif
53
va_end(args);
54
return;
55
}
56
57