diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2011-04-06 15:29:28 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2011-04-06 15:29:28 -0500 |
commit | 7c7a61ad865942fd1e39f4b15d020d9e0454613e (patch) | |
tree | 3d490d05c5ae0b23cdc87028b9cff1029c0c4763 /src/kernel | |
parent | 596ea665bcc5b5953cfd1fc67584ef7934f7fc5c (diff) | |
download | talos-hostboot-7c7a61ad865942fd1e39f4b15d020d9e0454613e.tar.gz talos-hostboot-7c7a61ad865942fd1e39f4b15d020d9e0454613e.zip |
Temporary dcbf on printk for VBU.
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/console.C | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/kernel/console.C b/src/kernel/console.C index 6912b8450..373d67c4f 100644 --- a/src/kernel/console.C +++ b/src/kernel/console.C @@ -3,6 +3,7 @@ #include <util/sprintf.H> #include <util/functor.H> #include <stdarg.h> +#include <arch/ppc.H> char kernel_printk_buffer[Console::BUFFER_SIZE]; @@ -19,7 +20,10 @@ int Console::putc(int c) } else if (BUFFER_SIZE > iv_pos) { - iv_buffer[__sync_fetch_and_add(&iv_pos, 1)] = c; + size_t pos = __sync_fetch_and_add(&iv_pos, 1); + iv_buffer[pos] = c; + dcbf(&iv_buffer[pos]); // TODO: This is temporary for VBU since we + // can't read the L3 if data is in L2. } return c; } |