summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/outercache.h
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-03-16 17:38:08 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-05-30 00:48:39 +0100
commit8abd259f657d5742f96ffd46ed65feb11c44b1fb (patch)
tree76bf882d836625f95f150c53382c41401e09f49d /arch/arm/include/asm/outercache.h
parentc0fe18ba30a62854490b1ac0f7a02145d84153f5 (diff)
ARM: l2c: provide generic hook to intercept writes to secure registers
When Linux is running in the non-secure world, any write to a secure L2C register will generate an abort. Platforms normally have to call firmware to work around this. Provide a hook for them to intercept any L2C secure register write. l2c_write_sec() avoids writes to secure registers which are already set to the appropriate value, thus avoiding the overhead of needlessly calling into the secure monitor. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include/asm/outercache.h')
-rw-r--r--arch/arm/include/asm/outercache.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
index e96f194bf3d4..864afe2114d3 100644
--- a/arch/arm/include/asm/outercache.h
+++ b/arch/arm/include/asm/outercache.h
@@ -32,8 +32,11 @@ struct outer_cache_fns {
#ifdef CONFIG_OUTER_CACHE_SYNC
void (*sync)(void);
#endif
- void (*set_debug)(unsigned long);
void (*resume)(void);
+
+ /* This is an ARM L2C thing */
+ void (*set_debug)(unsigned long);
+ void (*write_sec)(unsigned long, unsigned);
};
extern struct outer_cache_fns outer_cache;