On Fri, Jun 19, 2015 at 11:08:54PM +0100, Timur Tabi wrote:
From: Abhimanyu Kapur <abhimany@xxxxxxxxxxxxxx>
Add support for debug communications channel based
hvc console for arm64 cpus.
I still think we should be disabling userspace access to the DCC if the
kernel is using it as its console.
+ * A call to __dcc_getchar() or __dcc_putchar() is typically followed by
+ * a call to __dcc_getstatus(). We want to make sure that the CPU does
+ * not speculative read the DCC status before executing the read or write
+ * instruction. That's what the ISBs are for.
+ *
+ * The 'volatile' ensures that the compiler does not cache the status bits,
+ * and instead reads the DCC register every time.
+ */
Missing header guards.
+#include <asm/barrier.h>
+
+static inline u32 __dcc_getstatus(void)
+{
+ u32 __ret;
+
+ asm volatile("mrs %0, mdccsr_el0" : "=r" (__ret)
+ : : "cc");
You don't need the "cc" clobber.