summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2011-04-06 15:29:28 -0500
committerPatrick Williams <iawillia@us.ibm.com>2011-04-06 15:29:28 -0500
commit7c7a61ad865942fd1e39f4b15d020d9e0454613e (patch)
tree3d490d05c5ae0b23cdc87028b9cff1029c0c4763 /src/kernel
parent596ea665bcc5b5953cfd1fc67584ef7934f7fc5c (diff)
downloadtalos-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.C6
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;
}
OpenPOWER on IntegriCloud