Added: new boot.S, serial out for Xeon Phi
[barrelfish] / kernel / include / arch / k1om / kputchar.h
1 /**
2  * \file
3  * \brief A struct for all shared data between the kernels
4  */
5
6 /*
7  * Copyright (c) 2008, 2010, ETH Zurich/
8  * All rights reserved.
9  *
10  * This file is distributed under the terms in the attached LICENSE file.
11  * If you do not find this file, copies can be found by writing to:
12  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
13  */
14
15
16 #include <arch/x86/conio.h>
17 #include <serial.h>
18 #include <arch/x86/global.h>
19
20 #define kprintf_begin()  acquire_spinlock(&global->locks.print)
21 #define kprintf_end()    release_spinlock(&global->locks.print)
22
23
24 #if 0
25 static void delay(uint64_t ticks)
26 {
27     uint64_t start = rdtsc();
28     while (rdtsc() < start + ticks) {}
29 }
30 #endif
31
32 /* send all output to both VGA console and serial port, for now */
33 static inline int
34 kputchar(int c)
35 {
36 #ifndef __scc__
37     if (c == '\n') {
38         serial_console_putchar('\r');
39         //delay(200000000);
40     }
41
42     conio_putchar(c);
43 #endif
44     serial_console_putchar(c);
45     return c;
46 }