diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2010-05-18 15:55:03 -0500 |
|---|---|---|
| committer | Patrick Williams <iawillia@us.ibm.com> | 2010-05-18 15:55:03 -0500 |
| commit | cf138201c24fdc83ee7835b65cce67e7d7a85e70 (patch) | |
| tree | 16650f82ac519ff60bc9100b4e90868463bd987d /src/kernel/console.C | |
| parent | 9ea98f274e18a3407ce109a331553e1c910274d9 (diff) | |
| download | talos-hostboot-cf138201c24fdc83ee7835b65cce67e7d7a85e70.tar.gz talos-hostboot-cf138201c24fdc83ee7835b65cce67e7d7a85e70.zip | |
Create simple console.
Diffstat (limited to 'src/kernel/console.C')
| -rw-r--r-- | src/kernel/console.C | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/kernel/console.C b/src/kernel/console.C new file mode 100644 index 000000000..a2ad0ffe2 --- /dev/null +++ b/src/kernel/console.C @@ -0,0 +1,28 @@ +#include <util/singleton.H> +#include <kernel/console.H> + +static char kernel_printk_buffer[Console::BUFFER_SIZE]; + +Console::Console() : iv_pos(0), iv_buffer(kernel_printk_buffer) +{ + memset(iv_buffer, '\0', Console::BUFFER_SIZE); +} + +int Console::putc(int c) +{ + if (BUFFER_SIZE > iv_pos) + { + iv_buffer[iv_pos] = c; + iv_pos++; + } +} + +void printk(const char* str) +{ + Console& console = Singleton<Console>::instance(); + while('\0' != *str) + { + console.putc(*str); + str++; + } +} |

