Thread (137 messages) 137 messages, 15 authors, 2014-04-07
STALE4445d

[PATCH 41/75] ARM: l2c: provide generic hook to intercept writes to secure registers

From: Russell King - ARM Linux <hidden>
Date: 2014-03-28 21:00:31

On Fri, Mar 28, 2014 at 03:51:58PM -0500, Josh Cartwright wrote:
On Fri, Mar 28, 2014 at 03:17:56PM +0000, Russell King wrote:
quoted
@@ -60,13 +60,30 @@ static inline void l2c_wait_mask(void __iomem *reg, unsigned long mask)
 }
 
 /*
+ * By default, we write directly to secure registers.  Platforms must
+ * override this if they are running non-secure.
+ */
+static void l2c_write_sec(unsigned long val, void __iomem *base, unsigned reg)
+{
+	if (val == readl_relaxed(base + reg))
+		return;
+	if (outer_cache.write_sec)
+		outer_cache.write_sec(val, reg);
+	else
+		writel_relaxed(val, base + reg);
+}
+
+/*
[..]
quoted
@@ -97,7 +114,7 @@ static void l2c_enable(void __iomem *base, u32 aux, unsigned num_lock)
 
 	/* Only write the aux register if it needs changing */
 	if (readl_relaxed(base + L2X0_AUX_CTRL) != aux)
It looks like this conditional can be dropped, since l2c_write_sec is
just going to perform the same check.
Yea, I changed l2c_write_sec() today because wanted to add it to a couple
of other places and didn't check the existing users.  Good catch.  Thanks.

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help