arm64: mdscr_el1: avoid exposing DCC to userspace
authorWill Deacon <will.deacon@arm.com>
Thu, 20 Aug 2015 10:47:13 +0000 (11:47 +0100)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 1 Feb 2016 17:22:03 +0000 (12:22 -0500)
[ Upstream commit d8d23fa0f27f3b2942a7bbc7378c7735324ed519 ]

We don't want to expose the DCC to userspace, particularly as there is
a kernel console driver for it.

This patch resets mdscr_el1 to disable userspace access to the DCC
registers on the cold boot path.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/arm64/mm/proc.S

index cdd754e..d2c2e3b 100644 (file)
@@ -202,7 +202,8 @@ ENTRY(__cpu_setup)
 
        mov     x0, #3 << 20
        msr     cpacr_el1, x0                   // Enable FP/ASIMD
-       msr     mdscr_el1, xzr                  // Reset mdscr_el1
+       mov     x0, #1 << 12                    // Reset mdscr_el1 and disable
+       msr     mdscr_el1, x0                   // access to the DCC from EL0
        /*
         * Memory region attributes for LPAE:
         *