From 234fba56bc6dde84c9a6a57e539676fa55b0ff76 Mon Sep 17 00:00:00 2001 From: Chuan Zhu Date: Wed, 26 Jul 2017 17:40:36 +0100 Subject: arch-arm: Fix incorrect assumptions in ELIs64 The state of EL1 wasn't determined correctly when running in secure mode if virtualisation was enabled. This changset updates the implementation to match the canonical behavior from the ARM ARM. Change-Id: I7ed6f5c003617773603f678667aac069d73b6f62 Reviewed-by: Andreas Sandberg Reviewed-on: https://gem5-review.googlesource.com/7141 Maintainer: Andreas Sandberg Reviewed-by: Nikos Nikoleris --- src/arch/arm/utility.hh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/arch/arm/utility.hh') diff --git a/src/arch/arm/utility.hh b/src/arch/arm/utility.hh index 640ba70d2..622fd1282 100644 --- a/src/arch/arm/utility.hh +++ b/src/arch/arm/utility.hh @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012-2013, 2016 ARM Limited + * Copyright (c) 2010, 2012-2013, 2016-2017 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -157,6 +157,8 @@ currEL(ThreadContext *tc) return (ExceptionLevel) (uint8_t) cpsr.el; } +bool ELIs32(ThreadContext *tc, ExceptionLevel el); + bool ELIs64(ThreadContext *tc, ExceptionLevel el); bool isBigEndian64(ThreadContext *tc); -- cgit v1.2.3