sparc: Resolve conflict between sparc v9 and M7 on usage of bit 9 of TTE
authorKhalid Aziz <khalid.aziz@oracle.com>
Wed, 27 May 2015 16:00:46 +0000 (10:00 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 1 Jun 2015 05:15:01 +0000 (22:15 -0700)
commit494e5b6faeda1d1e830a13e10b3c7bc323f35d97
tree612e28b6b6678d133d960b9241401aa0e8ddc98d
parentf0c1a1173773a56d500f1814893e63f97580f76a
sparc: Resolve conflict between sparc v9 and M7 on usage of bit 9 of TTE

sparc: Resolve conflict between sparc v9 and M7 on usage of bit 9 of TTE

Bit 9 of TTE is CV (Cacheable in V-cache) on sparc v9 processor while
the same bit 9 is MCDE (Memory Corruption Detection Enable) on M7
processor. This creates a conflicting usage of the same bit. Kernel
sets TTE.cv bit on all pages for sun4v architecture which works well
for sparc v9 but enables memory corruption detection on M7 processor
which is not the intent. This patch adds code to determine if kernel
is running on M7 processor and takes steps to not enable memory
corruption detection in TTE erroneously.

Signed-off-by: Khalid Aziz <khalid.aziz@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/pgtable_64.h
arch/sparc/include/asm/trap_block.h
arch/sparc/kernel/entry.h
arch/sparc/kernel/setup_64.c
arch/sparc/kernel/vmlinux.lds.S
arch/sparc/mm/init_64.c