mmu-hash64: fix Virtual Page Class Key Protection
commit363248e8c92c6331253e2a768884c69183805050
authorCédric Le Goater <clg@fr.ibm.com>
Tue, 4 Feb 2014 17:21:39 +0000 (4 18:21 +0100)
committerAlexander Graf <agraf@suse.de>
Wed, 5 Mar 2014 02:06:25 +0000 (5 03:06 +0100)
tree6fbc93ee17afab3f7efdf6c69dd496169d2fad80
parent0dc083fe10c5cc848f36498b9157a336cbc8c7c1
mmu-hash64: fix Virtual Page Class Key Protection

commit f80872e21c07edd06eb343eeeefc8af404b518a6 (mmu-hash64: Implement
Virtual Page Class Key Protection) added a new page protection
mechanism based on page keys and the AMR register to control access.

The AMR register allows or prohibits reads and/or writes on a page
depending on the control bits associated to the key. A store or a load
is only permitted if the associate bit is 0 (Power ISA), and not 1 as
the code is currently doing. This patch modifies ppc_hash64_amr_prot()
to correct the protection check.

This issue was unvailed by commit ccfb53ed6360cac0d5f6f7915ca9ae7eed866412
(target-ppc: fix Authority Mask Register init value) which changed the
initialisation value of the AMR register to 0.

Signed-off-by: Cédric Le Goater <clg@fr.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
target-ppc/mmu-hash64.c