Re: Ingebrigtsen: The End of Gmane?
Michael D Kinney
Bruce,
toggle quoted message
Show quoted text
Built-in archives for edk2-devel and edk2-bugs and now enabled. Mike -----Original Message----- |
|
Re: [Patch 2/3] MdePkg PeiDxePostCodeLibReportStatusCode: Correct files with CRLF line ending
Fan, Jeff <jeff.fan@...>
Reviewed-by: Jeff Fan <jeff.fan@...>
toggle quoted message
Show quoted text
-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@...] On Behalf Of Liming Gao Sent: Thursday, July 28, 2016 4:46 PM To: edk2-devel@... Subject: [edk2] [Patch 2/3] MdePkg PeiDxePostCodeLibReportStatusCode: Correct files with CRLF line ending Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@...> --- .../PeiDxePostCodeLibReportStatusCode.inf | 4 ++-- .../PeiDxePostCodeLibReportStatusCode.uni | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.inf b/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.inf index 6189cf2..dc162c2 100644 --- a/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.inf +++ b/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLib +++ ReportStatusCode.inf @@ -1,7 +1,7 @@ ## @file -# Instance of Post Code Library based on Report Status Code Library. +# Instance of Post Code Library based on Report Status Code Library. # -# Post Code Library that layers on top of a Report Status Code Library instance. +# Post Code Library that layers on top of a Report Status Code Library instance. # # Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> # diff --git a/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.uni b/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.uni index bc7387c..165f27f 100644 --- a/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLibReportStatusCode.uni +++ b/MdePkg/Library/PeiDxePostCodeLibReportStatusCode/PeiDxePostCodeLib +++ ReportStatusCode.uni @@ -1,7 +1,7 @@ // /** @file -// Instance of Post Code Library based on Report Status Code Library. +// Instance of Post Code Library based on Report Status Code Library. // -// Post Code Library that layers on top of a Report Status Code Library instance. +// Post Code Library that layers on top of a Report Status Code Library instance. // // Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // -- 2.8.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@... https://lists.01.org/mailman/listinfo/edk2-devel |
|
Re: inconsistency between the UNI spec and the Build tool
Liming Gao
Felix:
toggle quoted message
Show quoted text
Thanks for your report. We will fix it in BaseTools to align to UNI spec. Thanks Liming -----Original Message----- |
|
Re: [Patch V2] BaseTools: Add build info for binary modules that only list in FDF file
Liming Gao
Reviewed-by: Liming Gao <liming.gao@...>
toggle quoted message
Show quoted text
-----Original Message----- |
|
[Patch] Vlv2TbltDevicePkg:Signal EndOfDxe Event.
lushifex <shifeix.a.lu@...>
According to PI spec,EndOfDxe Event should be signaled
before DxeSmmReadyToLock protocol installation. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex <shifeix.a.lu@...> --- .../Library/PlatformBdsLib/BdsPlatform.c | 37 +++++++++++++++++++++- .../Library/PlatformBdsLib/PlatformBdsLib.inf | 3 +- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c index 195d734..5df3396 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c @@ -1,8 +1,8 @@ /** @file - Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php. @@ -203,10 +203,29 @@ ShellImageCallback ( { BdsSetConsoleMode (TRUE); DEBUG ((EFI_D_INFO, "BdsEntry ShellImageCallback \n")); } +/** + An empty function to pass error checking of CreateEventEx (). + + @param Event Event whose notification function is being invoked. + @param Context Pointer to the notification function's context, + which is implementation-dependent. + +**/ +STATIC +VOID +EFIAPI +EmptyCallbackFunction ( + IN EFI_EVENT Event, + IN VOID *Context + ) +{ + return; +} + // // BDS Platform Functions // /** Platform Bds init. Incude the platform firmware vendor, revision @@ -223,12 +242,28 @@ PlatformBdsInit ( VOID ) { EFI_STATUS Status; EFI_EVENT ShellImageEvent; + EFI_EVENT EndOfDxeEvent; EFI_GUID ShellEnvProtocol = SHELL_ENVIRONMENT_INTERFACE_PROTOCOL; + // + // Signal EndOfDxe PI Event + // + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, + TPL_CALLBACK, + EmptyCallbackFunction, + NULL, + &gEfiEndOfDxeEventGroupGuid, + &EndOfDxeEvent + ); + if (!EFI_ERROR (Status)) { + gBS->SignalEvent (EndOfDxeEvent); + } + #ifdef __GNUC__ SerialPortWrite((UINT8 *)">>>>BdsEntry[GCC]\r\n", 19); #else SerialPortWrite((UINT8 *)">>>>BdsEntry\r\n", 14); #endif diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf index 45578e8..c64bab9 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf @@ -1,9 +1,9 @@ #/** @file # Component name for module PlatformBootManagerLib # -# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials are licensed and made available under # the terms and conditions of the BSD License that accompanies this distribution. # The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php. @@ -95,10 +95,11 @@ gEfiMemoryTypeInformationGuid gEfiCapsuleVendorGuid gEfiGlobalVariableGuid gEfiNormalSetupGuid gEfiPartTypeSystemPartGuid + gEfiEndOfDxeEventGroupGuid [Pcd] gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Base gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase gPlatformModuleTokenSpaceGuid.PcdFlashFvRecoveryBase -- 2.6.2.windows.1 |
|
[patch 2/2] BaseTool/Upt: Add support for Private
hesschen <hesheng.chen@...>
Support new syntax in package DEC file as below:
[Includes.Common.Private] [Ppis.Common.Private] [Guids.Common.Private] [Protocols.Common.Private] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: hesschen <hesheng.chen@...> --- .../Source/Python/UPT/GenMetaFile/GenDecFile.py | 9 +++++++- BaseTools/Source/Python/UPT/Library/DataType.py | 4 +++- .../Source/Python/UPT/Library/UniClassObject.py | 16 +++++++------- BaseTools/Source/Python/UPT/Parser/DecParser.py | 25 ++++++++++++++++++++-- .../Python/UPT/PomAdapter/DecPomAlignment.py | 11 +++++++++- 5 files changed, 52 insertions(+), 13 deletions(-) diff --git a/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py b/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py index f22363b..31abd23 100644 --- a/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py +++ b/BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py @@ -2,7 +2,7 @@ # # This file contained the logical of transfer package object to DEC files. # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -63,6 +63,7 @@ from Library.DataType import TAB_PCD_ERROR from Library.DataType import TAB_SECTION_START from Library.DataType import TAB_SECTION_END from Library.DataType import TAB_SPLIT +import Library.DataType as DT from Library.UniClassObject import FormatUniEntry def GenPcd(Package, Content): @@ -487,6 +488,12 @@ def PackageToDec(Package, DistHeader = None): if UserExtension.GetUserID() == TAB_BINARY_HEADER_USERID and \ UserExtension.GetIdentifier() == TAB_BINARY_HEADER_IDENTIFIER: continue + + # Generate Private Section first + if UserExtension.GetUserID() == DT.TAB_INTEL and UserExtension.GetIdentifier() == DT.TAB_PRIVATE: + Content += '\n' + UserExtension.GetStatement() + continue + Statement = UserExtension.GetStatement() if not Statement: continue diff --git a/BaseTools/Source/Python/UPT/Library/DataType.py b/BaseTools/Source/Python/UPT/Library/DataType.py index 8449dc8..c151be3 100644 --- a/BaseTools/Source/Python/UPT/Library/DataType.py +++ b/BaseTools/Source/Python/UPT/Library/DataType.py @@ -1,7 +1,7 @@ ## @file # This file is used to define class for data type structure # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -680,6 +680,8 @@ TAB_DEFINE = 'DEFINE' TAB_NMAKE = 'Nmake' TAB_USER_EXTENSIONS = 'UserExtensions' TAB_INCLUDE = '!include' +TAB_PRIVATE = 'Private' +TAB_INTEL = 'Intel' # # Common Define diff --git a/BaseTools/Source/Python/UPT/Library/UniClassObject.py b/BaseTools/Source/Python/UPT/Library/UniClassObject.py index 1e73d3e..27804cc 100644 --- a/BaseTools/Source/Python/UPT/Library/UniClassObject.py +++ b/BaseTools/Source/Python/UPT/Library/UniClassObject.py @@ -328,11 +328,11 @@ class UniFileClassObject(object): Lang = distutils.util.split_quoted((Line.split(u"//")[0])) if len(Lang) != 3: try: - FileIn = codecs.open(File.Path, mode='rb', encoding='utf_8').read() + FileIn = codecs.open(File.Path, mode='rb', encoding='utf_8').readlines() except UnicodeError, Xstr: - FileIn = codecs.open(File.Path, mode='rb', encoding='utf_16').read() + FileIn = codecs.open(File.Path, mode='rb', encoding='utf_16').readlines() except UnicodeError, Xstr: - FileIn = codecs.open(File.Path, mode='rb', encoding='utf_16_le').read() + FileIn = codecs.open(File.Path, mode='rb', encoding='utf_16_le').readlines() except: EdkLogger.Error("Unicode File Parser", ToolError.FILE_OPEN_FAILURE, @@ -437,7 +437,7 @@ class UniFileClassObject(object): # ExtraData='The file %s is either invalid UTF-16LE or it is missing the BOM.' % File.Path) try: - FileIn = codecs.open(File.Path, mode='rb', encoding='utf_8').read() + FileIn = codecs.open(File.Path, mode='rb', encoding='utf_8').readlines() except UnicodeError, Xstr: FileIn = codecs.open(File.Path, mode='rb', encoding='utf_16').readlines() except UnicodeError: @@ -579,9 +579,9 @@ class UniFileClassObject(object): # if Line.startswith(u'"'): if StringEntryExistsFlag == 2: - EdkLogger.Error("Unicode File Parser", ToolError.FORMAT_INVALID, + EdkLogger.Error("Unicode File Parser", ToolError.FORMAT_INVALID, Message=ST.ERR_UNIPARSE_LINEFEED_UP_EXIST % Line, ExtraData=File.Path) - + StringEntryExistsFlag = 1 if not Line.endswith('"'): EdkLogger.Error("Unicode File Parser", ToolError.FORMAT_INVALID, @@ -589,7 +589,7 @@ class UniFileClassObject(object): % (LineCount, File.Path)) elif Line.startswith(u'#language'): if StringEntryExistsFlag == 2: - EdkLogger.Error("Unicode File Parser", ToolError.FORMAT_INVALID, + EdkLogger.Error("Unicode File Parser", ToolError.FORMAT_INVALID, Message=ST.ERR_UNI_MISS_STRING_ENTRY % Line, ExtraData=File.Path) StringEntryExistsFlag = 0 else: @@ -1050,7 +1050,7 @@ class UniFileClassObject(object): ToolError.FILE_NOT_FOUND, ExtraData=FilaPath) try: - FileIn = codecs.open(FilaPath, mode='rb', encoding='utf_8').read() + FileIn = codecs.open(FilaPath, mode='rb', encoding='utf_8').readlines() except UnicodeError, Xstr: FileIn = codecs.open(FilaPath, mode='rb', encoding='utf_16').readlines() except UnicodeError: diff --git a/BaseTools/Source/Python/UPT/Parser/DecParser.py b/BaseTools/Source/Python/UPT/Parser/DecParser.py index 23d1ed4..e6658a9 100644 --- a/BaseTools/Source/Python/UPT/Parser/DecParser.py +++ b/BaseTools/Source/Python/UPT/Parser/DecParser.py @@ -1,7 +1,7 @@ ## @file # This file is used to parse DEC file. It will consumed by DecParser # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -742,7 +742,26 @@ class Dec(_DecBase, _DecComments): except BaseException: Logger.Error(TOOL_NAME, FILE_OPEN_FAILURE, File=DecFile, ExtraData=ST.ERR_DECPARSE_FILEOPEN % DecFile) - RawData = FileContent(DecFile, Content) + + # + # Pre-parser for Private section + # + self._Private = '' + __IsFoundPrivate = False + NewContent = [] + for Line in Content: + Line = Line.strip() + if Line.startswith(DT.TAB_SECTION_START) and Line.endswith(DT.TAB_PRIVATE + DT.TAB_SECTION_END): + __IsFoundPrivate = True + if Line.startswith(DT.TAB_SECTION_START) and Line.endswith(DT.TAB_SECTION_END)\ + and not Line.endswith(DT.TAB_PRIVATE + DT.TAB_SECTION_END): + __IsFoundPrivate = False + if __IsFoundPrivate: + self._Private += Line + '\r' + if not __IsFoundPrivate: + NewContent.append(Line + '\r') + + RawData = FileContent(DecFile, NewContent) _DecComments.__init__(self) _DecBase.__init__(self, RawData) @@ -1060,3 +1079,5 @@ class Dec(_DecBase, _DecComments): return self._Define.GetDataObject().GetPackageVersion() def GetPackageUniFile(self): return self._Define.GetDataObject().GetPackageUniFile() + def GetPrivateSections(self): + return self._Private diff --git a/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py b/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py index 11b0359..88edf35 100644 --- a/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py +++ b/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py @@ -1,7 +1,7 @@ ## @file DecPomAlignment.py # This file contained the adapter for convert INF parser object to POM Object # -# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials are licensed and made available # under the terms and conditions of the BSD License which accompanies this @@ -63,6 +63,7 @@ from Library.DataType import TAB_STR_TOKENHELP from Library.DataType import TAB_STR_TOKENERR from Library.DataType import TAB_HEX_START from Library.DataType import TAB_SPLIT +import Library.DataType as DT from Library.CommentParsing import ParseHeaderCommentSection from Library.CommentParsing import ParseGenericComment from Library.CommentParsing import ParseDecPcdGenericComment @@ -221,6 +222,14 @@ class DecPomAlignment(PackageObject): self.SetUserExtensionList( self.GetUserExtensionList() + [UserExtension] ) + + # Add Private sections to UserExtension + if self.DecParser.GetPrivateSections(): + PrivateUserExtension = UserExtensionObject() + PrivateUserExtension.SetStatement(self.DecParser.GetPrivateSections()) + PrivateUserExtension.SetIdentifier(DT.TAB_PRIVATE) + PrivateUserExtension.SetUserID(DT.TAB_INTEL) + self.SetUserExtensionList(self.GetUserExtensionList() + [PrivateUserExtension]) ## Generate miscellaneous files on DEC file # -- 2.7.2.windows.1 |
|
Re: [Patch] Vlv2TbltDevicePkg:Signal EndOfDxe Event.
Wei, David <david.wei@...>
Reviewed-by: David Wei <david.wei@...>
toggle quoted message
Show quoted text
Thanks, David Wei Intel SSG BIOS Team -----Original Message-----
From: Lu, ShifeiX A Sent: Friday, July 29, 2016 10:27 AM To: edk2-devel@... Cc: Wei; Wei, David <david.wei@...> Subject: [Patch] Vlv2TbltDevicePkg:Signal EndOfDxe Event. According to PI spec,EndOfDxe Event should be signaled before DxeSmmReadyToLock protocol installation. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex <shifeix.a.lu@...> --- .../Library/PlatformBdsLib/BdsPlatform.c | 37 +++++++++++++++++++++- .../Library/PlatformBdsLib/PlatformBdsLib.inf | 3 +- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c index 195d734..5df3396 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c @@ -1,8 +1,8 @@ /** @file - Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR> + Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php. @@ -203,10 +203,29 @@ ShellImageCallback ( { BdsSetConsoleMode (TRUE); DEBUG ((EFI_D_INFO, "BdsEntry ShellImageCallback \n")); } +/** + An empty function to pass error checking of CreateEventEx (). + + @param Event Event whose notification function is being invoked. + @param Context Pointer to the notification function's context, + which is implementation-dependent. + +**/ +STATIC +VOID +EFIAPI +EmptyCallbackFunction ( + IN EFI_EVENT Event, + IN VOID *Context + ) +{ + return; +} + // // BDS Platform Functions // /** Platform Bds init. Incude the platform firmware vendor, revision @@ -223,12 +242,28 @@ PlatformBdsInit ( VOID ) { EFI_STATUS Status; EFI_EVENT ShellImageEvent; + EFI_EVENT EndOfDxeEvent; EFI_GUID ShellEnvProtocol = SHELL_ENVIRONMENT_INTERFACE_PROTOCOL; + // + // Signal EndOfDxe PI Event + // + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, + TPL_CALLBACK, + EmptyCallbackFunction, + NULL, + &gEfiEndOfDxeEventGroupGuid, + &EndOfDxeEvent + ); + if (!EFI_ERROR (Status)) { + gBS->SignalEvent (EndOfDxeEvent); + } + #ifdef __GNUC__ SerialPortWrite((UINT8 *)">>>>BdsEntry[GCC]\r\n", 19); #else SerialPortWrite((UINT8 *)">>>>BdsEntry\r\n", 14); #endif diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf index 45578e8..c64bab9 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/PlatformBdsLib.inf @@ -1,9 +1,9 @@ #/** @file # Component name for module PlatformBootManagerLib # -# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials are licensed and made available under # the terms and conditions of the BSD License that accompanies this distribution. # The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php. @@ -95,10 +95,11 @@ gEfiMemoryTypeInformationGuid gEfiCapsuleVendorGuid gEfiGlobalVariableGuid gEfiNormalSetupGuid gEfiPartTypeSystemPartGuid + gEfiEndOfDxeEventGroupGuid [Pcd] gPlatformModuleTokenSpaceGuid.PcdFlashFvRecovery2Base gPlatformModuleTokenSpaceGuid.PcdFlashFvMainBase gPlatformModuleTokenSpaceGuid.PcdFlashFvRecoveryBase -- 2.6.2.windows.1 |
|
Re: [Patch] Vlv2DeviceRefCodePkg&Vlv2DevicePkg:Add sample WSMT table.
Wei, David <david.wei@...>
Reviewed-by: David Wei <david.wei@...>
toggle quoted message
Show quoted text
Thanks, David Wei Intel SSG BIOS Team -----Original Message-----
From: Lu, ShifeiX A Sent: Thursday, July 28, 2016 4:21 PM To: edk2-devel@... Cc: Wei; Wei, David <david.wei@...> Subject: [Patch] Vlv2DeviceRefCodePkg&Vlv2DevicePkg:Add sample WSMT table. This is an sample WSMT table, which we only update BIT0 and BIT1 of Protections flags fields. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: lushifex <shifeix.a.lu@...> --- Vlv2DeviceRefCodePkg/AcpiTablesPCAT/AcpiTables.inf | 3 +- Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Wsmt/Wsmt.aslc | 60 ++++++++++++++++++++++ Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c | 13 +++++ 3 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Wsmt/Wsmt.aslc diff --git a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/AcpiTables.inf b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/AcpiTables.inf index 9c00651..e9a7d80 100644 --- a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/AcpiTables.inf +++ b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/AcpiTables.inf @@ -3,11 +3,11 @@ # # Build acpi table data required by system boot. # All .asi files tagged with "ToolCode="DUMMY"" in following file list are device description and are included # by top level ASL file which will be dealed with by asl.exe application. # -# Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved +# Copyright (c) 1999 - 2016, Intel Corporation. All rights reserved # # This program and the accompanying materials are licensed and made available under # the terms and conditions of the BSD License that accompanies this distribution. # The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php. @@ -35,10 +35,11 @@ Facp/Facp.aslc Madt/Madt30.aslc Mcfg/Mcfg.aslc Hpet/Hpet.aslc Lpit/Lpit.aslc + Wsmt/Wsmt.aslc [Packages] MdePkg/MdePkg.dec Vlv2TbltDevicePkg/PlatformPkg.dec diff --git a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Wsmt/Wsmt.aslc b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Wsmt/Wsmt.aslc new file mode 100644 index 0000000..4142201 --- /dev/null +++ b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Wsmt/Wsmt.aslc @@ -0,0 +1,60 @@ +/*++ + Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> + + This program and the accompanying materials are licensed and made available under + the terms and conditions of the BSD License that accompanies this distribution. + The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php. + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + + +Module Name: + + Wsmt.c + +Abstract: + + This file contains a structure definition for the Windows SMM Security + Mitigations Table (WSMT). + +++*/ + +// +// Statements that include other files +// +#include "AcpiTablePlatform.h" +#include <IndustryStandard/WindowsSmmSecurityMitigationTable.h> + +// +// WSMT Table definition +// +EFI_ACPI_WSMT_TABLE WSMT = { + EFI_ACPI_WINDOWS_SMM_SECURITY_MITIGATION_TABLE_SIGNATURE, + sizeof (EFI_ACPI_WSMT_TABLE), + EFI_WSMT_TABLE_REVISION, + // + // Checksum will be updated at runtime + // + 0, + EFI_ACPI_OEM_ID, // OEMID is a 6 bytes long field + EFI_ACPI_OEM_TABLE_ID, // OEM table identification(8 bytes long) + EFI_ACPI_OEM_REVISION, // OEM revision + EFI_ACPI_CREATOR_ID, // ASL compiler vendor ID + EFI_ACPI_CREATOR_REVISION, // ASL compiler revision number + 0x00000000, // Protection flag +}; + +VOID* +ReferenceAcpiTable ( + VOID + ) +{ + // + // Reference the table being generated to prevent the optimizer from + // removing the data structure from the executable + // + return (VOID*)&WSMT; +} diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c index db1b5a5..8a883f2 100644 --- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c +++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c @@ -56,10 +56,11 @@ Abstract: #include <Guid/AcpiTableStorage.h> #include <Guid/EfiVpdData.h> #include <PchAccess.h> #include <Guid/Vlv2Variable.h> #include <Guid/PlatformCpuInfo.h> +#include <IndustryStandard/WindowsSmmSecurityMitigationTable.h> CHAR16 EfiPlatformCpuInfoVariable[] = L"PlatformCpuInfo"; CHAR16 gACPIOSFRModelStringVariableName[] = ACPI_OSFR_MODEL_STRING_VARIABLE_NAME; CHAR16 gACPIOSFRRefDataBlockVariableName[] = ACPI_OSFR_REF_DATA_BLOCK_VARIABLE_NAME; @@ -236,10 +237,11 @@ PlatformUpdateTables ( UINTN LocalApicCounter; EFI_PROCESSOR_INFORMATION ProcessorInfoBuffer; UINT8 TempVal; EFI_ACPI_3_0_IO_APIC_STRUCTURE *IOApicType; EFI_ACPI_3_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *APICTableHeader; + EFI_ACPI_WSMT_TABLE *WsmtTable; CurrPtr = NULL; EndPtr = NULL; ApicPtr = NULL; LocalApicCounter = 0; @@ -597,10 +599,21 @@ PlatformUpdateTables ( } gBS->FreePool (OcurMfgStringBuffer); gBS->FreePool (OcurModelStringBuffer); gBS->FreePool (OcurRefDataBlockBuffer); break; + + + case EFI_ACPI_WINDOWS_SMM_SECURITY_MITIGATION_TABLE_SIGNATURE: + WsmtTable = (EFI_ACPI_WSMT_TABLE *) Table; + // + // Update Microsoft WSMT table Protections flags. + // + WsmtTable->ProtectionFlags = ((WsmtTable->ProtectionFlags) | (EFI_WSMT_PROTECTION_FLAGS_FIXED_COMM_BUFFERS | EFI_WSMT_PROTECTION_FLAGS_COMM_BUFFER_NESTED_PTR_PROTECTION )); + break; + + default: break; } // -- 2.6.2.windows.1 |
|
[PATCH v2 00/19] Fix Vlv2TbltDevicePkg gcc build
Gary Lin
This series amend the build script of Vlv2TbltDevicePkg and fix the
error messages from gcc. I've built the firmware with gcc 6.1.1 on openSUSE Tumbleweed, and the firmware binary[*] was generated successfully (but not guaranteed to work). [*] Vlv2TbltDevicePkg/Stitch/MNW2MAX_X64_D_0093_01_GCC.bin The patches are also available in my github branch: https://github.com/lcp/edk2/tree/Vlv2-gcc-fix-v2-platforms Changes in v2: 1. Instead of removing MDEPKG_NDEBUG completely, amend the CFLAG to define MDEPKG_NDEBUG only for the gcc release build. 2. Remove the variable Hob and the related code from IchRcrbInit() in Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c. 3. Include UefiBootServicesTableLib.h in PlatformGopPolicy/PlatformGopPolicy.c so that we don't have to declare gBS. 4. Rebase the patchset on minnowboard-max-udk2015 of https://github.com/tianocore/edk2-platforms.git instead of the master of https://github.com/tianocore/edk2.git. Besides the patches of this series, minnowboard-max-udk2015 needs a few more commits from edk2.git to make it work with gcc6: * NetworkPkg: fix ASSERT_EFI_ERROR() typos * EdkCompatibilityPkg: fix ASSERT_EFI_ERROR() typos * Vlv2TbltDevicePkg: fix ASSERT_EFI_ERROR() typos * CryptoPkg/BaseCryptLib: Add missing OpenSSL includes * CryptoPkg/OpensslLib: Undefine NO_BUILTIN_VA_FUNCS to fix varargs breakage * CryptoPkg: Fix OpenSSL BN wordsize and OPENSSL_SYS_UEFI handling For convenience, I merged all the patches before and include openssl 1.0.2h update in my branch. Gary Lin (19): Vlv2TbltDevicePkg: Amend the build script Vlv2TbltDevicePkg: Only define MDEPKG_NDEBUG for gcc release build Vlv2TbltDevicePkg/MultiPlatformLib: Remove the unused variables Vlv2TbltDevicePkg/PlatformPei: Remove the unused variable Vlv2TbltDevicePkg/PlatformBdsLib: Remove the unused variable Vlv2TbltDevicePkg/PlatformInitPei: Remove the unused variables Vlv2TbltDevicePkg/PlatformInitPei: Suppress the gcc error message Vlv2TbltDevicePkg/AcpiPlatform: Remove unused variables Vlv2TbltDevicePkg/AcpiPlatform: Amend the declaration of mGlobalNvsArea Vlv2TbltDevicePkg/PlatformGopPolicy: include UefiBootServicesTableLib.h Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code Vlv2TbltDevicePkg/FvbRuntimeDxe: Remove unused variables Vlv2TbltDevicePkg/PlatformSetupDxe: Remove the unused variables Vlv2TbltDevicePkg/VlvPlatformInitDxe: Remove unused variables Vlv2TbltDevicePkg/PlatformDxe: Remove the unused variables Vlv2TbltDevicePkg/Wpce791: Remove the unused variable Vlv2TbltDevicePkg/SmBiosMiscDxe: Remove unused variables Vlv2TbltDevicePkg/PpmPolicy: Remove the usage of global variables Vlv2TbltDevicePkg/PpmPolicy: Remove the unused variable .../SouthCluster/Include/PchAccess.h | 49 ----- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c | 9 +- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h | 2 +- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c | 4 +- Vlv2TbltDevicePkg/FvbRuntimeDxe/FvbService.c | 11 -- .../MultiPlatformLib/BoardClkGens/BoardClkGens.c | 5 +- .../Library/MultiPlatformLib/MultiPlatformLib.c | 53 ++--- .../Library/PlatformBdsLib/BdsPlatform.c | 3 +- Vlv2TbltDevicePkg/PlatformDxe/IchRegTable.c | 2 - Vlv2TbltDevicePkg/PlatformDxe/PciDevice.c | 214 ++++++++++----------- Vlv2TbltDevicePkg/PlatformDxe/Platform.c | 40 ++-- .../PlatformGopPolicy/PlatformGopPolicy.c | 4 +- Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c | 2 - Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c | 12 -- .../PlatformInitPei/PlatformEarlyInit.c | 1 + Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c | 9 +- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 2 +- .../PlatformSetupDxe/SetupInfoRecords.c | 41 ++-- Vlv2TbltDevicePkg/PpmPolicy/PpmPolicy.c | 13 +- Vlv2TbltDevicePkg/PpmPolicy/PpmPolicy.h | 6 +- .../SmBiosMiscDxe/MiscOemType0x90Function.c | 5 - .../SmBiosMiscDxe/MiscProcessorCacheFunction.c | 2 - .../MiscProcessorInformationFunction.c | 2 - Vlv2TbltDevicePkg/VlvPlatformInitDxe/IgdOpRegion.c | 4 - Vlv2TbltDevicePkg/Wpce791/LpcDriver.c | 4 - Vlv2TbltDevicePkg/bld_vlv.sh | 24 ++- 26 files changed, 203 insertions(+), 320 deletions(-) -- 2.9.2 |
|
[PATCH v2 01/19] Vlv2TbltDevicePkg: Amend the build script
Gary Lin
Take the gcc version detection from OvmfPkg/build.sh instead of the
hardcoded GCC46. Cc: David Wei <david.wei@...> Cc: "Wu, Hao A" <hao.a.wu@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> Reviewed-by: David Wei <david.wei@...> --- Vlv2TbltDevicePkg/bld_vlv.sh | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/Vlv2TbltDevicePkg/bld_vlv.sh b/Vlv2TbltDevicePkg/bld_vlv.sh index 569865f..538b3ef 100755 --- a/Vlv2TbltDevicePkg/bld_vlv.sh +++ b/Vlv2TbltDevicePkg/bld_vlv.sh @@ -177,8 +177,30 @@ sed -i '/^TARGET_ARCH/d' Conf/target.txt sed -i '/^TOOL_CHAIN_TAG/d' Conf/target.txt sed -i '/^MAX_CONCURRENT_THREAD_NUMBER/d' Conf/target.txt +gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') +case $gcc_version in + 4.5.*) + TARGET_TOOLS=GCC45 + ;; + 4.6.*) + TARGET_TOOLS=GCC46 + ;; + 4.7.*) + TARGET_TOOLS=GCC47 + ;; + 4.8.*) + TARGET_TOOLS=GCC48 + ;; + 4.9.*|4.1[0-9].*|5.*.*|6.*.*) + TARGET_TOOLS=GCC49 + ;; + *) + TARGET_TOOLS=GCC44 + ;; +esac + ACTIVE_PLATFORM=$PLATFORM_PACKAGE/PlatformPkgGcc"$Arch".dsc -TOOL_CHAIN_TAG=GCC46 +TOOL_CHAIN_TAG=$TARGET_TOOLS MAX_CONCURRENT_THREAD_NUMBER=1 echo ACTIVE_PLATFORM = $ACTIVE_PLATFORM >> Conf/target.txt echo TARGET = $TARGET >> Conf/target.txt -- 2.9.2 |
|
[PATCH v2 02/19] Vlv2TbltDevicePkg: Only define MDEPKG_NDEBUG for gcc release build
Gary Lin
We only enable "-Wno-unused-but-set-variable" for the release build
and gcc would complain that the varible passed to ASSERT_EFI_ERROR wasn't used in the debug build. Just don't define MDEPKG_NDEBUG for the debug build to make gcc happy with ASSERT_EFI_ERROR. Suggested-by: Laszlo Ersek <lersek@...> Cc: David Wei <david.wei@...> CC: Laszlo Ersek <lersek@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> --- Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc index a3f4c9a..e57d2ad 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc @@ -1117,7 +1117,7 @@ [Components.X64] !endif <BuildOptions> ICC:*_*_*_CC_FLAGS = -D MDEPKG_NDEBUG - GCC:*_*_*_CC_FLAGS = -D MDEPKG_NDEBUG + GCC:RELEASE_*_*_CC_FLAGS = -D MDEPKG_NDEBUG } MdeModulePkg/Universal/PCD/Dxe/Pcd.inf { <LibraryClasses> -- 2.9.2 |
|
[PATCH v2 03/19] Vlv2TbltDevicePkg/MultiPlatformLib: Remove the unused variables
Gary Lin
Fix the following errors from gcc:
Vlv2TbltDevicePkg/Library/MultiPlatformLib/MultiPlatformLib.c: In function ‘MultiPlatformInfoInit’: Vlv2TbltDevicePkg/Library/MultiPlatformLib/MultiPlatformLib.c:47:14: error: variable ‘Status’ set but not used [-Werror=unused-but-set-variable] Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c: In function ‘ReadClockGeneratorID’: Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c:222:33: error: variable ‘Status’ set but not used [-Werror=unused-but-set-variable] Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c: In function ‘ConfigurePlatformClocks’: Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c:283:33: error: variable ‘ClockGenID’ set but not used [-Werror=unused-but-set-variable] Also fix the coding style of MultiPlatformInfoInit() Cc: David Wei <david.wei@...> Cc: "Wu, Hao A" <hao.a.wu@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> Reviewed-by: David Wei <david.wei@...> --- .../MultiPlatformLib/BoardClkGens/BoardClkGens.c | 5 +- .../Library/MultiPlatformLib/MultiPlatformLib.c | 53 ++++++++++++---------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c b/Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c index 6d3bd77..000c864 100644 --- a/Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c +++ b/Vlv2TbltDevicePkg/Library/MultiPlatformLib/BoardClkGens/BoardClkGens.c @@ -210,7 +210,6 @@ ReadClockGeneratorID ( IN UINT8 ClockAddress ) { - EFI_STATUS Status; EFI_SMBUS_DEVICE_ADDRESS SlaveAddress; UINT8 Buffer[MAX_CLOCK_GENERATOR_BUFFER_LENGTH]; UINTN Length; @@ -222,7 +221,7 @@ ReadClockGeneratorID ( SlaveAddress.SmbusDeviceAddress = ClockAddress >> 1; Length = sizeof (Buffer); Command = 0; - Status = SmbusPpi->Execute ( + SmbusPpi->Execute ( PeiServices, SmbusPpi, SlaveAddress, @@ -271,7 +270,6 @@ ConfigurePlatformClocks ( EFI_PLATFORM_INFO_HOB *PlatformInfoHob; BOOLEAN EnableSpreadSpectrum; - UINT8 ClockGenID=0; SYSTEM_CONFIGURATION SystemConfiguration; UINTN Length; @@ -324,7 +322,6 @@ ConfigurePlatformClocks ( DEBUG((EFI_D_ERROR, "Clock Generator CK505 Not Present, vendor ID on board is %x\n",(Data & 0x0F))); return EFI_SUCCESS; } - ClockGenID = Data & 0x0F; EnableSpreadSpectrum = FALSE; VariableSize = sizeof (SYSTEM_CONFIGURATION); diff --git a/Vlv2TbltDevicePkg/Library/MultiPlatformLib/MultiPlatformLib.c b/Vlv2TbltDevicePkg/Library/MultiPlatformLib/MultiPlatformLib.c index d32deb5..dedcbe4 100644 --- a/Vlv2TbltDevicePkg/Library/MultiPlatformLib/MultiPlatformLib.c +++ b/Vlv2TbltDevicePkg/Library/MultiPlatformLib/MultiPlatformLib.c @@ -34,8 +34,7 @@ MultiPlatformInfoInit ( IN OUT EFI_PLATFORM_INFO_HOB *PlatformInfoHob ) { - UINT32 PcieLength; - EFI_STATUS Status; + UINT32 PcieLength; PlatformInfoHob->IohSku = MmPci16(0, MC_BUS, MC_DEV, MC_FUN, PCI_DEVICE_ID_OFFSET); @@ -52,10 +51,10 @@ MultiPlatformInfoInit ( PlatformInfoHob->IchRevision = PchLpcPciCfg8(PCI_REVISION_ID_OFFSET); - // - //64MB - // - PcieLength = 0x04000000; + // + //64MB + // + PcieLength = 0x04000000; // // Don't support BASE above 4GB currently. @@ -95,28 +94,32 @@ MultiPlatformInfoInit ( // PlatformInfoHob->SysData.SysIoApicEnable = ICH_IOAPIC; - DEBUG ((EFI_D_ERROR, "PlatformFlavor is %x (%x=tablet,%x=mobile,%x=desktop)\n", PlatformInfoHob->PlatformFlavor,FlavorTablet,FlavorMobile,FlavorDesktop)); + DEBUG ((EFI_D_ERROR, "PlatformFlavor is %x (%x=tablet,%x=mobile,%x=desktop)\n", + PlatformInfoHob->PlatformFlavor, + FlavorTablet, + FlavorMobile, + FlavorDesktop)); - // - // Get Platform Info and fill the Hob. - // - PlatformInfoHob->RevisonId = PLATFORM_INFO_HOB_REVISION; + // + // Get Platform Info and fill the Hob. + // + PlatformInfoHob->RevisonId = PLATFORM_INFO_HOB_REVISION; - // - // Get GPIO table - // - Status = MultiPlatformGpioTableInit (PeiServices, PlatformInfoHob); + // + // Get GPIO table + // + MultiPlatformGpioTableInit (PeiServices, PlatformInfoHob); - // - // Program GPIO - // - Status = MultiPlatformGpioProgram (PeiServices, PlatformInfoHob); + // + // Program GPIO + // + MultiPlatformGpioProgram (PeiServices, PlatformInfoHob); - // - // Update OemId - // - Status = InitializeBoardOemId (PeiServices, PlatformInfoHob); - Status = InitializeBoardSsidSvid (PeiServices, PlatformInfoHob); + // + // Update OemId + // + InitializeBoardOemId (PeiServices, PlatformInfoHob); + InitializeBoardSsidSvid (PeiServices, PlatformInfoHob); - return EFI_SUCCESS; + return EFI_SUCCESS; } -- 2.9.2 |
|
[PATCH v2 04/19] Vlv2TbltDevicePkg/PlatformPei: Remove the unused variable
Gary Lin
Fix the following error from gcc:
Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c: In function ‘MemoryDiscoveredPpiNotifyCallback’: Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c:115:20: error: variable ‘Status’ set but not used [-Werror=unused-but-set-variable] Cc: David Wei <david.wei@...> Cc: "Wu, Hao A" <hao.a.wu@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> Reviewed-by: David Wei <david.wei@...> --- Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c b/Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c index 82954d3..9c769bf 100644 --- a/Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c +++ b/Vlv2TbltDevicePkg/PlatformPei/MemoryCallback.c @@ -103,7 +103,6 @@ MemoryDiscoveredPpiNotifyCallback ( ) { - EFI_STATUS Status; EFI_BOOT_MODE BootMode; UINT32 Pages; VOID* Memory; @@ -113,10 +112,10 @@ MemoryDiscoveredPpiNotifyCallback ( // Allocate LM memory and configure PDM if enabled by user. // ConfigureLM(PeiServices); // - Status = (*PeiServices)->GetBootMode ( - (const EFI_PEI_SERVICES **)PeiServices, - &BootMode - ); + (*PeiServices)->GetBootMode ( + (const EFI_PEI_SERVICES **)PeiServices, + &BootMode + ); if (BootMode != BOOT_ON_S3_RESUME) { Size = (PcdGet32 (PcdFlashFvRecovery2Base) - PcdGet32 (PcdFlashFvMainBase)) + FixedPcdGet32(PcdFlashFvRecovery2Size); -- 2.9.2 |
|
[PATCH v2 05/19] Vlv2TbltDevicePkg/PlatformBdsLib: Remove the unused variable
Gary Lin
Fix the following error from gcc:
Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c: In function ‘BdsLockFv’: Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c:2170:31: error: variable ‘Data’ set but not used [-Werror=unused-but-set-variable] Cc: David Wei <david.wei@...> Cc: "Wu, Hao A" <hao.a.wu@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> Reviewed-by: David Wei <david.wei@...> --- Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c index 1a3a306..6e8364b 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c @@ -2226,7 +2226,6 @@ BdsLockFv ( EFI_FV_BLOCK_MAP_ENTRY *BlockMap; EFI_FIRMWARE_VOLUME_HEADER *FvHeader; EFI_PHYSICAL_ADDRESS BaseAddress; - UINT8 Data; UINT32 BlockLength; UINTN Index; @@ -2237,7 +2236,7 @@ BdsLockFv ( while ((BlockMap->NumBlocks != 0) && (BlockMap->Length != 0)) { BlockLength = BlockMap->Length; for (Index = 0; Index < BlockMap->NumBlocks; Index++) { - Data = MmioOr8 ((UINTN) BaseAddress, 0x03); + MmioOr8 ((UINTN) BaseAddress, 0x03); BaseAddress += BlockLength; } BlockMap++; -- 2.9.2 |
|
[PATCH v2 06/19] Vlv2TbltDevicePkg/PlatformInitPei: Remove the unused variables
Gary Lin
Fix the following errors from gcc:
Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c: In function 'IchRcrbInit': Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c:513:36: error: variable 'PlatformCpuInfo' set but not used [-Werror=unused-but-set-variable] Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c:512:35: error: variable 'LpcRevisionID' set but not used [-Werror=unused-but-set-variable] Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c: In function 'EndOfPeiPpiNotifyCallback': Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c:64:31: error: variable 'MemoryTop' set but not used [-Werror=unused-but-set-variable] v2: Also remove the variable, Hob, in PchInitPeim.c:IchRcrbInit() since no one really uses it. Cc: David Wei <david.wei@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> --- Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c | 2 -- Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c | 12 ------------ 2 files changed, 14 deletions(-) diff --git a/Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c b/Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c index 31cc88a..9d9c0e5 100644 --- a/Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c +++ b/Vlv2TbltDevicePkg/PlatformInitPei/MemoryCallback.c @@ -52,7 +52,6 @@ EndOfPeiPpiNotifyCallback ( ) { EFI_STATUS Status; - UINT64 MemoryTop; UINT64 LowUncableBase; EFI_PLATFORM_INFO_HOB *PlatformInfo; UINT32 HecBaseHigh; @@ -100,7 +99,6 @@ EndOfPeiPpiNotifyCallback ( LowUncableBase = PlatformInfo->MemData.MemMaxTolm; LowUncableBase &= (0x0FFF00000); - MemoryTop = (0x100000000); if (BootMode != BOOT_ON_S3_RESUME) { // diff --git a/Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c b/Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c index 30f87c1..18ecda4 100644 --- a/Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c +++ b/Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c @@ -500,18 +500,8 @@ IchRcrbInit ( IN SYSTEM_CONFIGURATION *SystemConfiguration ) { - UINT8 LpcRevisionID; - EFI_PLATFORM_CPU_INFO *PlatformCpuInfo; - EFI_PEI_HOB_POINTERS Hob; EFI_BOOT_MODE BootMode; - // - // Get Platform Info HOB - // - Hob.Raw = GetFirstGuidHob (&gEfiPlatformCpuInfoGuid); - ASSERT (Hob.Raw != NULL); - PlatformCpuInfo = GET_GUID_HOB_DATA(Hob.Raw); - (*PeiServices)->GetBootMode(PeiServices, &BootMode); // @@ -530,8 +520,6 @@ IchRcrbInit ( // // Initial RCBA according to the PeiRCBA table // - LpcRevisionID = PchLpcPciCfg8 (R_PCH_LPC_RID_CC); - if ((BootMode == BOOT_ON_S3_RESUME)) { // // We are resuming from S3 -- 2.9.2 |
|
[PATCH v2 07/19] Vlv2TbltDevicePkg/PlatformInitPei: Suppress the gcc error message
Gary Lin
Fix the following error from gcc:
Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c: In function 'GetWakeupEventAndSaveToHob': Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c:147:11: error: variable 'WakeEventData' set but not used [-Werror=unused-but-set-variable] Although the function name is "GetWakeupEventAndSaveToHob", WakeEventData was never really used or passed to any other function. Given the fact that the function is served as an example, it'd better to keep the code related to WakeEventData. Just add a debug statement to suppress the error message. Cc: David Wei <david.wei@...> Cc: "Wu, Hao A" <hao.a.wu@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> Reviewed-by: David Wei <david.wei@...> --- Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c | 1 + 1 file changed, 1 insertion(+) diff --git a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c index 27a6b07..5d3fde6 100644 --- a/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c +++ b/Vlv2TbltDevicePkg/PlatformInitPei/PlatformEarlyInit.c @@ -157,6 +157,7 @@ GetWakeupEventAndSaveToHob ( } DEBUG ((EFI_D_ERROR, "ACPI Wake Status Register: %04x\n", Pm1Sts)); + DEBUG ((EFI_D_ERROR, "ACPI Wake Event Data: %02x\n", WakeEventData)); return EFI_SUCCESS; } -- 2.9.2 |
|
[PATCH v2 08/19] Vlv2TbltDevicePkg/AcpiPlatform: Remove unused variables
Gary Lin
Fix the following errors from gcc:
Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c: In function 'PlatformUpdateTables': Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c:236:63: warning: variable 'LocalApicCounter' set but not used [-Wunused-but-set-variable] Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c:214:64: warning: variable 'ProcessorLocalApicEntry' set but not used [-Wunused-but-set-variable] Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c:213:63: warning: variable 'BufferSize' set but not used [-Wunused-but-set-variable] Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c: In function 'AcpiPlatformEntryPoint': Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c:797:33: warning: variable 'Data32' set but not used [-Wunused-but-set-variable] Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c: In function ‘PatchGv3SsdtTable’: Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c:243:31: error: variable ‘Status’ set but not used [-Werror=unused-but-set-variable] Cc: David Wei <david.wei@...> Cc: "Wu, Hao A" <hao.a.wu@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> Reviewed-by: David Wei <david.wei@...> --- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c | 8 -------- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c | 3 +-- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c index 691a9d1..bb9cee5 100644 --- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c +++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c @@ -210,8 +210,6 @@ PlatformUpdateTables ( EFI_MP_SERVICES_PROTOCOL *MpService; UINTN MaximumNumberOfCPUs; UINTN NumberOfEnabledCPUs; - UINTN BufferSize; - ACPI_APIC_STRUCTURE_PTR *ProcessorLocalApicEntry; UINTN BspIndex; EFI_ACPI_1_0_ASF_DESCRIPTION_TABLE *AsfEntry; EFI_ACPI_HIGH_PRECISION_EVENT_TIMER_TABLE_HEADER *HpetTbl; @@ -233,7 +231,6 @@ PlatformUpdateTables ( UINT16 NumberOfHpets; UINT16 HpetCapIdValue; UINT32 HpetBlockID; - UINTN LocalApicCounter; EFI_PROCESSOR_INFORMATION ProcessorInfoBuffer; UINT8 TempVal; EFI_ACPI_3_0_IO_APIC_STRUCTURE *IOApicType; @@ -242,9 +239,7 @@ PlatformUpdateTables ( CurrPtr = NULL; EndPtr = NULL; ApicPtr = NULL; - LocalApicCounter = 0; CurrProcessor = 0; - ProcessorLocalApicEntry = NULL; if (Table->Signature != EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE) { @@ -372,7 +367,6 @@ PlatformUpdateTables ( ApicPtr->AcpiLocalApic.AcpiProcessorId = (UINT8)MaximumNumberOfCPUs; } - BufferSize = 0; ApicPtr->AcpiLocalApic.Flags = 0; for (CurrProcessor = 0; CurrProcessor < MaximumNumberOfCPUs; CurrProcessor++) { @@ -797,7 +791,6 @@ AcpiPlatformEntryPoint ( EFI_MP_SERVICES_PROTOCOL *MpService; UINTN MaximumNumberOfCPUs; UINTN NumberOfEnabledCPUs; - UINT32 Data32; PCH_STEPPING pchStepping; UINT32 DxeGpioValue; @@ -807,7 +800,6 @@ AcpiPlatformEntryPoint ( Instance = 0; CurrentTable = NULL; TableHandle = 0; - Data32 = 0; // // Update HOB variable for PCI resource information. diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c index 3489650..c89c07f 100644 --- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c +++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c @@ -232,7 +232,6 @@ PatchGv3SsdtTable ( IN OUT EFI_ACPI_DESCRIPTION_HEADER *TableHeader ) { - EFI_STATUS Status; UINT8 *CurrPtr; UINT8 *SsdtPointer; UINT32 Signature; @@ -328,7 +327,7 @@ PatchGv3SsdtTable ( continue; } - Status = EistProt->GetEistTable (EistProt, &EistInfo, (VOID **) &PssState); + EistProt->GetEistTable (EistProt, &EistInfo, (VOID **) &PssState); AdjustSize = PssTable->NumEntries * sizeof (EFI_PSS_PACKAGE); AdjustSize -= EistInfo->NumStates * sizeof (EFI_PSS_PACKAGE); -- 2.9.2 |
|
[PATCH v2 09/19] Vlv2TbltDevicePkg/AcpiPlatform: Amend the declaration of mGlobalNvsArea
Gary Lin
mGlobalNvsArea wasn't declared as extern in AcpiPlatform.h and the header
was included in AcpiPlatform.c and AcpiPlatformHooks.c. Although it's declared as extern in AcpiPlatformHooks.c, gcc still created an instance of mGlobalNvsArea in AcpiPlatformHooks.c since the header was expanded first and then the linker complained "multiple definition". This commit rearrange the delaration of mGlobalNvsArea to satisfy gcc. Cc: David Wei <david.wei@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> Reviewed-by: David Wei <david.wei@...> --- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c | 1 + Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h | 2 +- Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c index bb9cee5..70ad07e 100644 --- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c +++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.c @@ -66,6 +66,7 @@ CHAR16 gACPIOSFRRefDataBlockVariableName[] = ACPI_OSFR_REF_DATA_BLOCK_VARIABL CHAR16 gACPIOSFRMfgStringVariableName[] = ACPI_OSFR_MFG_STRING_VARIABLE_NAME; EFI_CPU_IO_PROTOCOL *mCpuIo; +EFI_GLOBAL_NVS_AREA_PROTOCOL mGlobalNvsArea; #ifndef __GNUC__ #pragma optimize("", off) #endif diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h index fbc9272..8587beb 100644 --- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h +++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatform.h @@ -59,7 +59,7 @@ Abstract: // // Global variables. // -EFI_GLOBAL_NVS_AREA_PROTOCOL mGlobalNvsArea; +extern EFI_GLOBAL_NVS_AREA_PROTOCOL mGlobalNvsArea; // // ACPI table information used to initialize tables. diff --git a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c index c89c07f..2dc9657 100644 --- a/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c +++ b/Vlv2TbltDevicePkg/AcpiPlatform/AcpiPlatformHooks.c @@ -33,7 +33,6 @@ Abstract: // #include "AcpiPlatformHooksLib.h" -extern EFI_GLOBAL_NVS_AREA_PROTOCOL mGlobalNvsArea; extern SYSTEM_CONFIGURATION mSystemConfiguration; ENHANCED_SPEEDSTEP_PROTOCOL *mEistProtocol = NULL; -- 2.9.2 |
|
[PATCH v2 10/19] Vlv2TbltDevicePkg/PlatformGopPolicy: include UefiBootServicesTableLib.h
Gary Lin
gBS is already defined in
MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.c Remove the declaration of gBS and include the proper header file to access the variable. Suggested-by: David Wei <david.wei@...> Cc: David Wei <david.wei@...> Cc: "Wu, Hao A" <hao.a.wu@...> Cc: "Lu, ShifeiX A" <shifeix.a.lu@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> --- Vlv2TbltDevicePkg/PlatformGopPolicy/PlatformGopPolicy.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Vlv2TbltDevicePkg/PlatformGopPolicy/PlatformGopPolicy.c b/Vlv2TbltDevicePkg/PlatformGopPolicy/PlatformGopPolicy.c index 62cd188..86084b1 100644 --- a/Vlv2TbltDevicePkg/PlatformGopPolicy/PlatformGopPolicy.c +++ b/Vlv2TbltDevicePkg/PlatformGopPolicy/PlatformGopPolicy.c @@ -23,13 +23,11 @@ Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved #include <Guid/SetupVariable.h> #include <SetupMode.h> +#include <Library/UefiBootServicesTableLib.h> #include <Library/UefiRuntimeServicesTableLib.h> #include "PchAccess.h" #include <Library/PchPlatformLib.h> -EFI_BOOT_SERVICES *gBS; - - PLATFORM_GOP_POLICY_PROTOCOL mPlatformGOPPolicy; // -- 2.9.2 |
|
[PATCH v2 11/19] Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code
Gary Lin
The code in _S3SUPPORT_ in PchAccess.h wasn't used in anywhere. Also,
The declaration of MCRX and MCR made gcc generate the error of "multiple definition". Just remove the unused code to avoid any potential issue. Cc: David Wei <david.wei@...> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@...> --- .../SouthCluster/Include/PchAccess.h | 49 ---------------------- 1 file changed, 49 deletions(-) diff --git a/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/PchAccess.h b/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/PchAccess.h index 3f44d2b..d080e1b 100644 --- a/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/PchAccess.h +++ b/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/PchAccess.h @@ -474,53 +474,4 @@ typedef struct _PCH_MSG_BUS_TABLE_STRUCT { UINT32 WriteOpCode; } PCH_MSG_BUS_TABLE_STRUCT_TABLE_STRUCT; -#ifndef _S3SUPPORT_ -#define _S3SUPPORT_ -UINTN MCRX; -UINTN MCR; -// -// In S3 execute, we should follow the MSG BUS access procedure to restore the saving data. -// To do so, we adopt READ ->> SAVE -// Indirect IO access: (According BayTrail-M EDS chapter 3.6) -// 1. Write Index port into MSG BUS_MCRX first. -// 2. Write content to data register which is called MSG BUS_MDR. -// 3. Send "message bus control" to complete the procedure. -// -#define S3BootScriptSaveMsgBusToMemWrite(PortId, Register, Dbuff, ReadOpCode, WriteOpCode) \ -{ \ - MCRX = (UINTN) Register & MSGBUS_MASKHI; \ - MCR = (UINTN) ((ReadOpCode << 24) | (PortId << 16) | ((Register & MSGBUS_MASKLO) << 8) | MESSAGE_DWORD_EN); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCRX), (UINT32) MCRX); \ - S3BootScriptSaveMemWrite(EfiBootScriptWidthUint32, (UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCRX),1, (VOID *) (UINTN) &MCRX); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCR ), (UINT32) MCR); \ - (Dbuff) = (UINT32) MmioRead32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MDR)); \ - S3BootScriptSaveMemWrite(EfiBootScriptWidthUint32, (UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MDR),1, (VOID *) &Dbuff); \ - MCR = (UINTN) ((WriteOpCode << 24) | (PortId << 16) | ((Register & MSGBUS_MASKLO) << 8) | MESSAGE_DWORD_EN); \ - S3BootScriptSaveMemWrite(EfiBootScriptWidthUint32, (UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCR),1, (VOID *) (UINTN) &MCR); \ -} - -// -// This macro combines two function: 1. PchMsgBusAndThenOr32 () 2. S3 boot script save -// -#define PchMsgBusAndThenOr32AddToS3Save(PortId, Register, Dbuff, AndData, OrData, ReadOpCode, WriteOpCode) \ -{ \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCRX), (UINT32) (Register & MSGBUS_MASKHI)); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCR ), (UINT32) ((ReadOpCode << 24) | (PortId << 16) | ((Register & MSGBUS_MASKLO) << 8) | MESSAGE_DWORD_EN)); \ - (Dbuff) = (UINT32) MmioRead32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MDR)); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCRX), (UINT32) (Register & MSGBUS_MASKHI)); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MDR ), (UINT32) ((Dbuff & AndData) | OrData)); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCR ), (UINT32) ((WriteOpCode << 24) | (PortId << 16) | ((Register & MSGBUS_MASKLO) << 8) | MESSAGE_DWORD_EN)); \ - MCRX = (UINTN) Register & MSGBUS_MASKHI; \ - MCR = (UINTN) ((ReadOpCode << 24) | (PortId << 16) | ((Register & MSGBUS_MASKLO) << 8) | MESSAGE_DWORD_EN); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCRX), (UINT32) MCRX); \ - S3BootScriptSaveMemWrite(EfiBootScriptWidthUint32, (UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCRX),1,(VOID *) (UINTN) &MCRX); \ - MmioWrite32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCR ), (UINT32) MCR); \ - (Dbuff) = (UINT32) MmioRead32 ((UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MDR)); \ - S3BootScriptSaveMemWrite(EfiBootScriptWidthUint32, (UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MDR),1,(VOID *) &Dbuff); \ - MCR = (UINTN) ((WriteOpCode << 24) | (PortId << 16) | ((Register & MSGBUS_MASKLO) << 8) | MESSAGE_DWORD_EN); \ - S3BootScriptSaveMemWrite(EfiBootScriptWidthUint32, (UINTN) (PatchPcdGet64 (PcdPciExpressBaseAddress) + MC_MCR),1,(VOID *) (UINTN) &MCR); \ -} - -#endif - #endif -- 2.9.2 |
|