OSDN Git Service

target/hppa: Always return EXCP_DMAR for protection id trap
authorNick Hudson <skrll@netbsd.org>
Tue, 23 Apr 2019 06:36:21 +0000 (07:36 +0100)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 29 Apr 2019 21:43:39 +0000 (14:43 -0700)
The EXCP_DMP trap is considered legacy.

"In PA-RISC 1.1 (Second Edition) and later revisions, processors must use
traps 26, 27,and 28 which provide equivalent functionality"

Signed-off-by: Nick Hudson <skrll@netbsd.org>
Message-Id: <20190423063621.8203-3-nick.hudson@gmx.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/hppa/mem_helper.c

index c9b57d0..77fb544 100644 (file)
@@ -154,8 +154,7 @@ int hppa_get_physical_address(CPUHPPAState *env, vaddr addr, int mmu_idx,
 
     if (unlikely(!(prot & type))) {
         /* The access isn't allowed -- Inst/Data Memory Protection Fault.  */
-        ret = (type & PAGE_EXEC ? EXCP_IMP :
-               prot & PAGE_READ ? EXCP_DMP : EXCP_DMAR);
+        ret = (type & PAGE_EXEC) ? EXCP_IMP : EXCP_DMAR;
         goto egress;
     }