From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com []) by mx.groups.io with SMTP id smtpd.web12.2021.1588225926669643129 for ; Wed, 29 Apr 2020 22:52:08 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@nxp1.onmicrosoft.com header.s=selector2-nxp1-onmicrosoft-com header.b=iLzXQqVC; spf=fail (domain: oss.nxp.com, ip: , mailfrom: pankaj.bansal@oss.nxp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RMHhf8PWzAvfP/zCWwQQuuv8pxGuFaRRW79E+37gLmU1ykC1uphWwaRR2pPgwPo98aNi0/+uv0hOYhFm1uvK6nLqD9zyvXWvL/dZelKiqdCNY9fYizdpSR+LnuU1K735/smMYYDAV/hSeagYFbFjWS6SUaCLmp8BkdOk0uJBsQCCO3EB60xTj0qQGYWx6eHmUhjkhFh5+lN5VGepwkppDCftoWKBAljZjmUieoopiDv9+O6q4q+aDMb58Tli3CyFKJcJe2JfxWXcpfMwBskJufjWzq/yuY9w3iLMzQpC4ua8LDhu9SLKzsA4hJ3JYGzCYMmoIKwdWt3SRxRDHDOdpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pVrooHmefPimiT+2sYfWq3rouTnN+tuyEGs4I3AK3lM=; b=D38JfIJv9gaQuBRfvNapuWJRnr76IaoXTljAsEWiX4lx2jWXpMMzEdP3IcxcHwf9AVPg/+vhzHRabtFnxEqP4Ggw91gpqmtO9keHtY9o8bTrr4yhx580nEReYaqMR3KvolVX8tSdfDfUjWvP4434y44nLaYOogwUk9sApDa6PoKwYLVul7XdH+UmECqfTgVfu0Vjaet0s3QlQceQVQdwLeIdSX6BvvGH88sPY0vvtW7Y2w05OgmIapHoq9aYy2Srm7lP6Yt7t6KIGAbVK/3QR9K7eW+hXMKA2P/MKWatP4ijTMXJhxt6bBK0WU55tQZAaUGRdPgelZ0WIdFfLRpBwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pVrooHmefPimiT+2sYfWq3rouTnN+tuyEGs4I3AK3lM=; b=iLzXQqVC3MyakVEYrZMvKZSA8u/hxjmODFGynVR26POWC8JXYGmELgye6UaFLtIJrZcY5bUZnuhLHQdGcKROsJ8u7qQ0byVQkhzyeJcTULWriP6gefG72JAKxP1jSZ8bDDew5HpT7y3JkuirPIzAOIntc7kGCDFu71VvacevezM= Authentication-Results: nuviainc.com; dkim=none (message not signed) header.d=none;nuviainc.com; dmarc=none action=none header.from=oss.nxp.com; Received: from VI1PR04MB5933.eurprd04.prod.outlook.com (2603:10a6:803:ec::16) by VI1PR04MB4429.eurprd04.prod.outlook.com (2603:10a6:803:6e::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.13; Thu, 30 Apr 2020 05:52:05 +0000 Received: from VI1PR04MB5933.eurprd04.prod.outlook.com ([fe80::45c4:8846:5327:9513]) by VI1PR04MB5933.eurprd04.prod.outlook.com ([fe80::45c4:8846:5327:9513%7]) with mapi id 15.20.2958.020; Thu, 30 Apr 2020 05:52:05 +0000 From: "Pankaj Bansal" To: Leif Lindholm , Meenakshi Aggarwal , Michael D Kinney , devel@edk2.groups.io, Varun Sethi , Samer El-Haj-Mahmoud , Jon Nettleton , Ard Biesheuvel Subject: [PATCH edk2-platforms v4 22/24] Platform/NXP/LS1043aRdbPkg: Add VarStore Date: Fri, 1 May 2020 11:19:53 +0530 Message-ID: <20200501054955.13025-23-pankaj.bansal@oss.nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200501054955.13025-1-pankaj.bansal@oss.nxp.com> References: <20200501054955.13025-1-pankaj.bansal@oss.nxp.com> X-ClientProxiedBy: SG2PR03CA0131.apcprd03.prod.outlook.com (2603:1096:4:91::35) To VI1PR04MB5933.eurprd04.prod.outlook.com (2603:10a6:803:ec::16) Return-Path: pankaj.bansal@oss.nxp.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from uefi-workstation.ap.freescale.net (92.120.0.69) by SG2PR03CA0131.apcprd03.prod.outlook.com (2603:1096:4:91::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.14 via Frontend Transport; Thu, 30 Apr 2020 05:52:02 +0000 X-Mailer: git-send-email 2.17.1 X-Originating-IP: [92.120.0.69] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: bd0a2c25-306f-4d78-27ad-08d7ecca9c82 X-MS-TrafficTypeDiagnostic: VI1PR04MB4429:|VI1PR04MB4429: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-Forefront-PRVS: 0389EDA07F X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5933.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(376002)(39860400002)(346002)(366004)(396003)(6512007)(26005)(16526019)(5660300002)(6666004)(478600001)(186003)(2906002)(110136005)(52116002)(6486002)(316002)(8676002)(6506007)(66476007)(19627235002)(86362001)(2616005)(66946007)(44832011)(956004)(66556008)(1076003)(8936002);DIR:OUT;SFP:1101; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hvIPyQzKjE5nE3UbagqijvxBr/VbckziOJjS3zTMN6AFcGE1OZW/yp7LGl+2gZw2eAM483h/H/wbjoWteVmM4oc7uCs1ASlds7lV6HceqqZqYM8NaUClkEz5o3wy6ViDcNoAS7lwyCpmr4hVfJU5rmJERBfplCUCLz1F3iwK7ex5+GiEfCer+8yVBI3/UCdmJ2JWOcjZn2McFBhIEGGimiDAyiXDjkyqYUy6jAuu/4ARggD0KE5iQ4FYB8W6PthxBFhcKzZrUbfZS2qP43DWA4L7X7zPw90YX+bE6N/sVqVbzPniazg0PSeBmM+h1uBJ+leetUOs4UQiRD7nNwqe2zKgCcwDBus4vBGEf+gdiIW6JAa1ii38JLGUaFmuDli8xLrLBgPIvsX1ysdNkFrZ7JFvWJkuwbIvhz7fD2Zr++AmkBajrnOBgcYgJJdG4SIP X-MS-Exchange-AntiSpam-MessageData: rTL6SccUmjD65XUyvQQ6X/o0F0+nGs6Nnq0yW1VlgIEAtn5HyC7eL5a0zQZPCE6TS0CL2okAF1f5Eeyr9FsVJwq6yQz4oW+b/e9uk+2wchnO/Qy6I6Xh5N0Ldhd0UjReVLFzJkwkHhp3+PLJyK7orO11mClFrgItmC2Lb4sGiqOPYgmoB0+qafZBNqSjL1RhjDiN4oNno8i/7qhIMDa135JhcjRYJc6wblnIqI5oCbyhUUyvysUn4LWOc4dteK2xCrWOOR+dDbIK8KNBvbAwGhWc348T2eqQ/fP1YjVZhvZUIFXhGt0Z7vqvB0aEIGrU8vx4Eztpd2KSu+fBcp3IEi1a6fk5Ru7EiWhnlswJGC5WStV4CoRiZeEJuO/vQaJRjN3Lx32VydS12QYvqST+OZHJq5Qlohi+QThE7HEeBvE4rFrkGQT9mm2WWTRrz1oa3v4EWq/63yVVXzgTwwe5N3cZigYMCFq6SILzo7+p70P/zcBpeSBWxtPDmk5xce5t7fumZroSIbU7uvwxhc+jMajTOvcPatWKPVhQb2LMQ0O4X90R4eDfvWU0OK72C9DDU9M4RsYJCv4dI7BwDTTFXtwn0yOFt/kIigdAcS+2fq/NAi5juIMUJmxV1BLgs6Y/2+CYyydD63jpSWRe41gkRLouy7VPoS24tJFjlENMIelS0vNS2xeLudJ4bm0aoBhDZPoGtkRgu6/7OhEKHk6tpkglnuwQWn2ul9Y64OKnHgQmVA+EE21pjz+ZTPu8Df5cOSE4fwlX9b62AChvkF+ZTkADs4tYUqd5sEGZe57wALQ= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd0a2c25-306f-4d78-27ad-08d7ecca9c82 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2020 05:52:05.1387 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kBS1jI4m/4m7HHeTToFYYHhdj9jUHPfc6jdLwVMriZtIsec0xuWTa5ziR6ZLnJCvPnRH2JKjo15ytVUluOMX1A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4429 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Pankaj Bansal Add VarStore Fd. This Fd is used to store non volatile variables in flash. Signed-off-by: Pankaj Bansal Reviewed-by: Leif Lindholm --- Notes: V4: - No change =20 V3: - No change Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.fdf | 3 +- Platform/NXP/LS1043aRdbPkg/VarStore.fdf.inc | 91 ++++++++++++++++++++ 2 files changed, 93 insertions(+), 1 deletion(-) diff --git a/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.fdf b/Platform/NXP/LS= 1043aRdbPkg/LS1043aRdbPkg.fdf index 8d66f36d7407..99fbc87e1200 100644 --- a/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.fdf +++ b/Platform/NXP/LS1043aRdbPkg/LS1043aRdbPkg.fdf @@ -3,7 +3,7 @@ # FLASH layout file for LS1043a board. # # Copyright (c) 2016, Freescale Ltd. All rights reserved. -# Copyright 2017-2019 NXP +# Copyright 2017-2020 NXP # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -49,6 +49,7 @@ gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.Pc= dFvSize FV =3D FVMAIN_COMPACT =20 !include Platform/NXP/FVRules.fdf.inc +!include VarStore.fdf.inc ##########################################################################= ###### # # FV Section diff --git a/Platform/NXP/LS1043aRdbPkg/VarStore.fdf.inc b/Platform/NXP/LS1= 043aRdbPkg/VarStore.fdf.inc new file mode 100644 index 000000000000..391e4ae5eaf8 --- /dev/null +++ b/Platform/NXP/LS1043aRdbPkg/VarStore.fdf.inc @@ -0,0 +1,91 @@ +## @file +# FDF include file with FD definition that defines an empty variable stor= e. +# +# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved. +# Copyright (C) 2014, Red Hat, Inc. +# Copyright (c) 2016, Linaro, Ltd. All rights reserved. +# Copyright (c) 2016, Freescale Semiconductor. All rights reserved. +# Copyright 2017-2020 NXP +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[FD.LS1043aRdbNv_EFI] +BaseAddress =3D 0x60500000 #The base address of the FLASH device +Size =3D 0x000C0000 #The size in bytes of the FLASH device +ErasePolarity =3D 1 +BlockSize =3D 0x40000 +NumBlocks =3D 0x3 + +# +# Place NV Storage just above Platform Data Base +# +DEFINE NVRAM_AREA_VARIABLE_BASE =3D 0x00000000 +DEFINE NVRAM_AREA_VARIABLE_SIZE =3D 0x00040000 +DEFINE FTW_WORKING_BASE =3D $(NVRAM_AREA_VARIABLE_B= ASE) + $(NVRAM_AREA_VARIABLE_SIZE) +DEFINE FTW_WORKING_SIZE =3D 0x00040000 +DEFINE FTW_SPARE_BASE =3D $(FTW_WORKING_BASE) + $= (FTW_WORKING_SIZE) +DEFINE FTW_SPARE_SIZE =3D 0x00040000 + +##########################################################################= ### +# LS1043ARDB NVRAM Area +# LS1043ARDB NVRAM Area contains: Variable + FTW Working + FTW Spare +##########################################################################= ### + + +$(NVRAM_AREA_VARIABLE_BASE)|$(NVRAM_AREA_VARIABLE_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|gEfiMdeModu= lePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize +#NV_VARIABLE_STORE +DATA =3D { + ## This is the EFI_FIRMWARE_VOLUME_HEADER + # ZeroVector [] + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + # FileSystemGuid: gEfiSystemNvDataFvGuid =3D + # { 0xFFF12B8D, 0x7696, 0x4C8B, + # { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }} + 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C, + 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50, + # FvLength: 0xC0000 + 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, + # Signature "_FVH" # Attributes + 0x5f, 0x46, 0x56, 0x48, 0x36, 0x0E, 0x00, 0x00, + # HeaderLength # CheckSum # ExtHeaderOffset #Reserved #Revision + 0x48, 0x00, 0xC2, 0xF9, 0x00, 0x00, 0x00, 0x02, + # Blockmap[0]: 0x3 Blocks * 0x40000 Bytes / Block + 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + # Blockmap[1]: End + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + ## This is the VARIABLE_STORE_HEADER + # It is compatible with SECURE_BOOT_ENABLE =3D=3D FALSE as well. + # Signature: gEfiVariableGuid =3D + # { 0xddcf3616, 0x3275, 0x4164, + # { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d }} + 0x16, 0x36, 0xcf, 0xdd, 0x75, 0x32, 0x64, 0x41, + 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d, + # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariabl= eSize) - + # 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) =3D 0x3ffb8 + # This can speed up the Variable Dispatch a bit. + 0xB8, 0xFF, 0x03, 0x00, + # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32 + 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +$(FTW_WORKING_BASE)|$(FTW_WORKING_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|gEfiMdeMo= dulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize +#NV_FTW_WORKING +DATA =3D { + # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature =3D gEdkiiWorkingBl= ockSignatureGuid =3D + # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0= x1b, 0x95 }} + 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49, + 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95, + # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Res= erved + 0x5b, 0xe7, 0xc6, 0x86, 0xFE, 0xFF, 0xFF, 0xFF, + # WriteQueueSize: UINT64 + 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00 +} + +$(FTW_SPARE_BASE)|$(FTW_SPARE_SIZE) +gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|gEfiMdeModu= lePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize +#NV_FTW_SPARE --=20 2.17.1