From fabf3017cfbd37d19563b4cb4c3204f09785397b Mon Sep 17 00:00:00 2001 From: Yatharth Kochar Date: Fri, 23 Sep 2016 10:48:29 +0100 Subject: [PATCH] AArch32: Fix detection of virtualization support The Virtualization field in the ID_PFR1 register has only 2 valid values (0 or 1) but it was incorrectly checked against unrelated value tied to the SPSR register instead. This patch fixes the detection of virtualization support by using the valid values in BL1 context management code. Change-Id: If12592e343770e1da90f0f5fecf0a3376047ac29 --- bl1/aarch32/bl1_context_mgmt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bl1/aarch32/bl1_context_mgmt.c b/bl1/aarch32/bl1_context_mgmt.c index c7d3c12ef..a36909735 100644 --- a/bl1/aarch32/bl1_context_mgmt.c +++ b/bl1/aarch32/bl1_context_mgmt.c @@ -142,7 +142,7 @@ void bl1_prepare_next_image(unsigned int image_id) SPSR_E_LITTLE, DISABLE_ALL_EXCEPTIONS); } else { /* Use HYP mode if supported else use SVC. */ - if (GET_VIRT_EXT(read_id_pfr1()) == MODE32_hyp) { + if (GET_VIRT_EXT(read_id_pfr1())) { next_bl_ep->spsr = SPSR_MODE32(MODE32_hyp, SPSR_T_ARM, SPSR_E_LITTLE, DISABLE_ALL_EXCEPTIONS); } else {