From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.101.70; helo=foss.arm.com; envelope-from=thomas.abraham@arm.com; receiver=edk2-devel@lists.01.org Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by ml01.01.org (Postfix) with ESMTP id 2FA052097214D for ; Mon, 4 Jun 2018 06:14:35 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0B9301435 for ; Mon, 4 Jun 2018 06:14:35 -0700 (PDT) Received: from mail-it0-f47.google.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E7A8F3F25D for ; Mon, 4 Jun 2018 06:14:34 -0700 (PDT) Received: by mail-it0-f47.google.com with SMTP id e20-v6so10130936itc.1 for ; Mon, 04 Jun 2018 06:14:34 -0700 (PDT) X-Gm-Message-State: ALKqPweOjx1x+XBlPvSSMtJMeiddQEm7Qs0qtlQikPmN1Nz4Vhl+1tH7 pMgI5OOkXr4UZDJoqsL1JW0tGd6MporCx29+DxA= X-Google-Smtp-Source: ADUXVKKnxC5dnc3XdIATR7VZiTTWO77+Bx4qUzS24n96NrVJYEjbhCT4DnEdQ3MRAD2TU2L+DACrVdb8rXX7BlNs1Xw= X-Received: by 2002:a24:70d0:: with SMTP id f199-v6mr14583254itc.2.1528118074220; Mon, 04 Jun 2018 06:14:34 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a02:6c4e:0:0:0:0:0 with HTTP; Mon, 4 Jun 2018 06:14:33 -0700 (PDT) In-Reply-To: <20180531213411.tndxn5oltr5vtsa2@bivouac.eciton.net> References: <1527083494-26148-1-git-send-email-Alexei.Fedorov@arm.com> <20180531213411.tndxn5oltr5vtsa2@bivouac.eciton.net> From: Thomas Abraham Date: Mon, 4 Jun 2018 18:44:33 +0530 X-Gmail-Original-Message-ID: Message-ID: To: Leif Lindholm Cc: AlexeiFedorov , nd@arm.com, Arvind Chauhan , Ard Biesheuvel , edk2-devel@lists.01.org, Stephanie.Hughes-Fitt@arm.com Subject: Re: [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: , X-List-Received-Date: Mon, 04 Jun 2018 13:14:36 -0000 Content-Type: text/plain; charset="UTF-8" On Fri, Jun 1, 2018 at 3:04 AM, Leif Lindholm wrote: > On Wed, May 23, 2018 at 02:51:34PM +0100, AlexeiFedorov wrote: >> 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 > > The patch looks good to me, so if Thomas agrees: > Reviewed-by: Leif Lindholm > > Thomas? Verified that frame #1 can be marked as accessible from non-secure mode. Reviewed-by: Thomas Abraham > > / > Leif > >> --- >> All the changes can be reviewed at: >> https://github.com/AlexeiFedorov/edk2-platforms/tree/262_gtdt_timer_frame_ns_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/VExpressPkg/AcpiTables/Gtdt.aslc >> index 1cb4b498300cf1a08514835677154eace1dd1803..7a0b2b686ec849a8385ac5793e5d5855b9ba83ca 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 >> >> -#define FVP_GTX_COMMON_FLAGS (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SECURE) >> +#define FVP_GTX_COMMON_FLAGS_S (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_SECURE) >> +#define FVP_GTX_COMMON_FLAGS_NS (GTX_TIMER_SAVE_CONTEXT | GTX_TIMER_NON_SECURE) >> >> #define FVP_SBSA_WATCHDOG_REFRESH_BASE 0x000000002a450000 >> #define FVP_SBSA_WATCHDOG_CONTROL_BASE 0x000000002a440000 >> @@ -136,7 +137,7 @@ FVP_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = { >> FVP_GTX_TIMER_FLAGS, // UINT32 GTxPhysicalTimerFlags >> 0, // UINT32 GTxVirtualTimerGSIV >> 0, // UINT32 GTxVirtualTimerFlags >> - FVP_GTX_COMMON_FLAGS // UINT32 GTxCommonFlags >> + FVP_GTX_COMMON_FLAGS_S // UINT32 GTxCommonFlags >> }, >> { >> 1, // UINT8 GTFrameNumber >> @@ -149,7 +150,7 @@ FVP_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = { >> FVP_GTX_TIMER_FLAGS, // UINT32 GTxPhysicalTimerFlags >> 0, // UINT32 GTxVirtualTimerGSIV >> 0, // UINT32 GTxVirtualTimerFlags >> - FVP_GTX_COMMON_FLAGS // UINT32 GTxCommonFlags >> + FVP_GTX_COMMON_FLAGS_NS // UINT32 GTxCommonFlags >> } >> }, >> #if (FVP_WATCHDOG_COUNT != 0) >> -- >> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' >> >> > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel