This source file includes following definitions.
- printk
1
2
3
4
5
6
7
8
9
10
11
12 #include <stdarg.h>
13 #include <stddef.h>
14
15 #include <linux/kernel.h>
16
17 static char buf[1024];
18
19 extern int vsprintf(char * buf, const char * fmt, va_list args);
20
21 int printk(const char *fmt, ...)
22 {
23 va_list args;
24 int i;
25
26 va_start(args, fmt);
27 i=vsprintf(buf,fmt,args);
28 va_end(args);
29 __asm__("push %%fs\n\t"
30 "push %%ds\n\t"
31 "pop %%fs\n\t"
32 "pushl %0\n\t"
33 "pushl $_buf\n\t"
34 "pushl $0\n\t"
35 "call _tty_write\n\t"
36 "addl $8,%%esp\n\t"
37 "popl %0\n\t"
38 "pop %%fs"
39 ::"r" (i):"ax","cx","dx");
40 return i;
41 }