blob: b48738c6dd3366c49f298d45fdd17c292f3df1c0 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * Written by Cort Dougan to replace the version originally used
3 * by Paul Mackerras, which came from NetBSD and thus had copyright
4 * conflicts with Linux.
5 *
6 * This file makes liberal use of the standard linux utility
7 * routines to reduce the size of the binary. We assume we can
8 * trust some parts of Linux inside the debugger.
9 * -- Cort (cort@cs.nmt.edu)
10 *
11 * Copyright (C) 1999 Cort Dougan.
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version
16 * 2 of the License, or (at your option) any later version.
17 */
18
19#include <linux/kernel.h>
20#include <linux/string.h>
Paul Mackerrasf78541d2005-10-28 22:53:37 +100021#include <linux/module.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070022#include <stdarg.h>
23#include "nonstdio.h"
24
25extern int xmon_write(void *, void *, int);
26
Paul Mackerrasf78541d2005-10-28 22:53:37 +100027void xmon_vfprintf(void *f, const char *fmt, va_list ap)
Linus Torvalds1da177e2005-04-16 15:20:36 -070028{
29 static char xmon_buf[2048];
30 int n;
31
32 n = vsprintf(xmon_buf, fmt, ap);
33 xmon_write(f, xmon_buf, n);
34}
35
Paul Mackerrasf78541d2005-10-28 22:53:37 +100036void xmon_printf(const char *fmt, ...)
Linus Torvalds1da177e2005-04-16 15:20:36 -070037{
38 va_list ap;
39
40 va_start(ap, fmt);
41 xmon_vfprintf(stdout, fmt, ap);
42 va_end(ap);
43}
Paul Mackerrasf78541d2005-10-28 22:53:37 +100044EXPORT_SYMBOL(xmon_printf);
Linus Torvalds1da177e2005-04-16 15:20:36 -070045
Paul Mackerrasf78541d2005-10-28 22:53:37 +100046void xmon_fprintf(void *f, const char *fmt, ...)
Linus Torvalds1da177e2005-04-16 15:20:36 -070047{
48 va_list ap;
49
50 va_start(ap, fmt);
51 xmon_vfprintf(f, fmt, ap);
52 va_end(ap);
53}
54