From nobody Sun Apr 28 17:44:38 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1527083500931510.4503953877087; Wed, 23 May 2018 06:51:40 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id B01C6207E4DF8; Wed, 23 May 2018 06:51:39 -0700 (PDT) Received: from cam-smtp0.cambridge.arm.com (fw-tnat.cambridge.arm.com [217.140.96.140]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 43B61207E4DF2 for ; Wed, 23 May 2018 06:51:38 -0700 (PDT) Received: from E107992.Emea.Arm.com (e107992.emea.arm.com [10.1.211.7]) by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w4NDpXQo008294; Wed, 23 May 2018 14:51:34 +0100 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.96.140; helo=cam-smtp0.cambridge.arm.com; envelope-from=alexei.fedorov@arm.com; receiver=edk2-devel@lists.01.org From: AlexeiFedorov To: edk2-devel@lists.01.org Date: Wed, 23 May 2018 14:51:34 +0100 Message-Id: <1527083494-26148-1-git-send-email-Alexei.Fedorov@arm.com> X-Mailer: git-send-email 2.7.1.windows.1 Subject: [edk2] [PATCH edk2-platforms v1] Platform/ARM: Declare FVP Generic Timer Frame #1 as Non-secure X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: nd@arm.com, Stephanie.Hughes-Fitt@arm.com, Ard.Biesheuvel@linaro.org, Leif.Lindholm@linaro.org, Arvind Chauhan MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Alexei Fedorov Programming Reference for Base FVPs describes 2 Generic Memory-mapped Timer frames with Non-secure access permitted to frame #1. However ACPI GTDT lists both timer frames #0 and #1 with Secure Timer flag being set in GTx Common Flags field: #define FVP_GTX_COMMON_FLAGS (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SECURE) Declaring both timer frames as Secure prevents OS running in Non-secure state from accessing Generic Timer frame #1. This patch fixes the above issue by removal of FVP_GTX_COMMON_FLAGS and adding two FVP_GTX_COMMON_FLAGS_S and FVP_GTX_COMMON_FLAGS_NS definitions used for Secure frame #0 and Non-secure frame #1 accordingly. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Alexei Fedorov Reviewed-by: Ard Biesheuvel Reviewed-by: Leif Lindholm Reviewed-by: Thomas Abraham --- All the changes can be reviewed at: https://github.com/AlexeiFedorov/edk2-platforms/tree/262_gtdt_timer_frame_n= s_v1 Notes: v1: - remove FVP_GTX_COMMON_FLAGS [Alexei] - define FVP_GTX_COMMON_FLAGS_S and FVP_GTX_COMMON_FLAGS_NS [Alexei] - use FVP_GTX_COMMON_FLAGS_S for timer frame #0 and [Alexei] FVP_GTX_COMMON_FLAGS_NS for frame #1 Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc b/Platform/ARM/V= ExpressPkg/AcpiTables/Gtdt.aslc index 1cb4b498300cf1a08514835677154eace1dd1803..7a0b2b686ec849a8385ac5793e5= d5855b9ba83ca 100644 --- a/Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc +++ b/Platform/ARM/VExpressPkg/AcpiTables/Gtdt.aslc @@ -1,7 +1,7 @@ /** @file * Generic Timer Description Table (GTDT) * -* Copyright (c) 2012 - 2017, ARM Limited. All rights reserved. +* Copyright (c) 2012 - 2018, ARM Limited. All rights reserved. * Copyright (c) 2016, Linaro Ltd. All rights reserved * * This program and the accompanying materials @@ -61,7 +61,8 @@ #define GTX_TIMER_SAVE_CONTEXT EFI_ACPI_6_1_GTDT_GT_BLOCK_COMMON_FLAG= _ALWAYS_ON_CAPABILITY #define GTX_TIMER_LOSE_CONTEXT 0 =20 -#define FVP_GTX_COMMON_FLAGS (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SE= CURE) +#define FVP_GTX_COMMON_FLAGS_S (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SE= CURE) +#define FVP_GTX_COMMON_FLAGS_NS (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_NO= N_SECURE) =20 #define FVP_SBSA_WATCHDOG_REFRESH_BASE 0x000000002a450000 #define FVP_SBSA_WATCHDOG_CONTROL_BASE 0x000000002a440000 @@ -136,7 +137,7 @@ FVP_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt =3D { FVP_GTX_TIMER_FLAGS, // UINT32 GTxP= hysicalTimerFlags 0, // UINT32 GTxV= irtualTimerGSIV 0, // UINT32 GTxV= irtualTimerFlags - FVP_GTX_COMMON_FLAGS // UINT32 GTxC= ommonFlags + FVP_GTX_COMMON_FLAGS_S // UINT32 GTxC= ommonFlags }, { 1, // UINT8 GTFra= meNumber @@ -149,7 +150,7 @@ FVP_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt =3D { FVP_GTX_TIMER_FLAGS, // UINT32 GTxP= hysicalTimerFlags 0, // UINT32 GTxV= irtualTimerGSIV 0, // UINT32 GTxV= irtualTimerFlags - FVP_GTX_COMMON_FLAGS // UINT32 GTxC= ommonFlags + FVP_GTX_COMMON_FLAGS_NS // UINT32 GTxC= ommonFlags } }, #if (FVP_WATCHDOG_COUNT !=3D 0) --=20 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel