Re: [edk2] [Patch 3/3] QuarkPlatformPkg/Tpm12DeviceLibAtmelI2c: Fix GCC build issues
Reviewed-by: Lee Leahy <leroy.p.le...@intel.com> -Original Message- From: Kinney, Michael D Sent: Tuesday, January 10, 2017 10:17 AM To: edk2-devel@lists.01.org Cc: Steele, Kelly <kelly.ste...@intel.com>; Leahy, Leroy P <leroy.p.le...@intel.com> Subject: [Patch 3/3] QuarkPlatformPkg/Tpm12DeviceLibAtmelI2c: Fix GCC build issues https://bugzilla.tianocore.org/show_bug.cgi?id=335 Fix build issues with GCC49. There are local variables that may be used before initialized in some paths. Cc: Kelly Steele <kelly.ste...@intel.com> Cc: Lee Leahy <leroy.p.le...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kin...@intel.com> --- .../Library/Tpm12DeviceLibAtmelI2c/TisPc.c | 18 +++--- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c index 3aab530..894e1e3 100644 --- a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c +++ b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c @@ -59,6 +59,8 @@ WriteTpmBufferMultiple ( UINTN Index; UINTN PartialLength; + Status = EFI_SUCCESS; + I2CDeviceAddr.I2CDeviceAddress = ATMEL_I2C_TPM_SLAVE_ADDRESS; DEBUG ((EFI_D_VERBOSE, "WriteTpmBufferMultiple: Addr=%02x Length=%02x\n", I2CDeviceAddr.I2CDeviceAddress, Length)); @@ -112,6 +114,8 @@ ReadTpmBufferMultiple ( UINTN Index; UINTN PartialLength; + Status = EFI_SUCCESS; + I2CDeviceAddr.I2CDeviceAddress = ATMEL_I2C_TPM_SLAVE_ADDRESS; WriteLength = 0; @@ -263,6 +267,13 @@ Tpm12SubmitCommand ( INT64Delta; // + // Initialize local variables + // + Start = 0; + End = 0; + Total = 0; + + // // Make sure response buffer is big enough to hold a response header // if (*OutputParameterBlockSize < sizeof (TPM_RSP_COMMAND_HDR)) { @@ -276,13 +287,6 @@ Tpm12SubmitCommand ( Current = GetPerformanceCounter(); // - // Initialize local variables - // - Start = 0; - End = 0; - Total = 0; - - // // Retrieve the performance counter properties and compute the number of // performance counter ticks required to reach the maximum TIS timeout of // TIS_TIMEOUT_A. TIS_TIMEOUT_A is in microseconds. -- 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 2/3] QuarkPlatformPkg/Tpm12DeviceLibAtmelI2c: Fix SubmitCommand() out size
Reviewed-by: Lee Leahy <leroy.p.le...@intel.com> -Original Message- From: Kinney, Michael D Sent: Tuesday, January 10, 2017 10:17 AM To: edk2-devel@lists.01.org Cc: Steele, Kelly <kelly.ste...@intel.com>; Leahy, Leroy P <leroy.p.le...@intel.com> Subject: [Patch 2/3] QuarkPlatformPkg/Tpm12DeviceLibAtmelI2c: Fix SubmitCommand() out size https://bugzilla.tianocore.org/show_bug.cgi?id=336 When the Tpm12SubmitCommand() detects a response packet that is the same size as a TPM_RSP_COMMAND_HDR, it returns EFI_SUCCESS without reading any additional response packet information from the TPM. In that case, the return parameter OutputParameterBlockSize is not be updated, so the size of that OutputParameterBlock returned is the value passed in which could be larger than what is actually returned from the TPM. Set the OutputParameterBlockSize to the size of the TPM_RSP_COMMAND_HDR when this specific condition is detected. Cc: Kelly Steele <kelly.ste...@intel.com> Cc: Lee Leahy <leroy.p.le...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kin...@intel.com> --- QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c index 08a005f..3aab530 100644 --- a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c +++ b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c @@ -355,6 +355,7 @@ Tpm12SubmitCommand ( TpmOutSize = SwapBytes32 (ReadUnaligned32 (>paramSize)); if (TpmOutSize == sizeof (TPM_RSP_COMMAND_HDR)) { +*OutputParameterBlockSize = TpmOutSize; Status = EFI_SUCCESS; goto Done; } -- 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch 1/3] QuarkPlatformPkg/Tpm12DeviceLibAtmelI2c: Remove PP Check
Reviewed-by: Lee Leahy <leroy.p.le...@intel.com> -Original Message- From: Kinney, Michael D Sent: Tuesday, January 10, 2017 10:17 AM To: edk2-devel@lists.01.org Cc: Steele, Kelly <kelly.ste...@intel.com>; Leahy, Leroy P <leroy.p.le...@intel.com> Subject: [Patch 1/3] QuarkPlatformPkg/Tpm12DeviceLibAtmelI2c: Remove PP Check https://bugzilla.tianocore.org/show_bug.cgi?id=337 The Tpm12CommandLib in the SecurityPkg was updated to check the returnCode in the response packet in the following commit: https://github.com/tianocore/edk2/commit/950a3bc788b5b101729b26aed3ff75fd2a64a570 The Tpm12DeviceLibAtmelI2C uses the Tpm12PhysicalPresence() function from the Tpm12CommandLib to verify that the I2C device is responding to TPM command packets. However, at this point the TPM device has not been started, and the TPM properly responds with an error in the returnCode field of the response packet. Before the commit above, the check worked, but the additional error checking in the commit above now returns an error and an Atmel I2C is returned as not present. The fix is to remove the call to the Tpm12PhysicalPresence() API in the Tpm12CommandLib from the Tpm12RequestUseTpm() API. The Atmel I2C TPM device is detected if a byte can be read from the slave address assigned to the Atmel I2C device. When the startup command is sent to the TPM later, the command and response packet processing will be verified, and if the I2C device is not an Atmel TPM, it will be detected at that point. Cc: Kelly Steele <kelly.ste...@intel.com> Cc: Lee Leahy <leroy.p.le...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kin...@intel.com> --- QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c | 12 +--- .../Tpm12DeviceLibAtmelI2c/Tpm12DeviceLibAtmelI2c.inf| 3 +-- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c index 4e5aa41..08a005f 100644 --- a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c +++ b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/TisPc.c @@ -1,7 +1,7 @@ /** @file Basic TIS (TPM Interface Specification) functions for Atmel I2C TPM. - Copyright (c) 2016, Intel Corporation. All rights reserved. + Copyright (c) 2016 - 2017, 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 which accompanies this distribution. The full text of the license may be found at @@ -18,7 +18,6 @@ #include #include #include -#include // // Atmel I2C TPM slave address @@ -224,15 +223,6 @@ Tpm12RequestUseTpm ( } } while (EFI_ERROR (Status)); - // - // Send Physical Presence Command to Atmel I2C TPM - // - Status = Tpm12PhysicalPresence (TPM_PHYSICAL_PRESENCE_PRESENT); - if (EFI_ERROR (Status)) { -DEBUG ((EFI_D_ERROR, "Atmel I2C TPM failed to submit physical presence command: %r\n", Status)); -return Status; - } - return EFI_SUCCESS; } diff --git a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/Tpm12DeviceLibAtmelI2c.inf b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/Tpm12DeviceLibAtmelI2c.inf index 5a8734f..1f7e4be 100644 --- a/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/Tpm12DeviceLibAtmelI2c.inf +++ b/QuarkPlatformPkg/Library/Tpm12DeviceLibAtmelI2c/Tpm12DeviceLibAtme +++ lI2c.inf @@ -4,7 +4,7 @@ # This instance provides basic TPM Interface Specification (TIS) functions # or Atmel I2C TPM. # -# Copyright (c) 2016, Intel Corporation. All rights reserved. +# Copyright (c) 2016 - 2017, 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 # which accompanies this distribution. The full text of the license may be found at @@ -42,4 +42,3 @@ TimerLib DebugLib I2cLib - Tpm12CommandLib -- 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 1/1] CorebootPayloadPkg: Consume PlatformHookLib in PlatformBootManagerLib
Reviewed by: Lee Leahy <leroy.p.le...@intel.com> Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 From: Ma, Maurice Sent: Monday, May 23, 2016 3:03 PM To: edk2-devel@lists.01.org Cc: Ma, Maurice; Agyeman, Prince; Leahy, Leroy P Subject: [PATCH 1/1] CorebootPayloadPkg: Consume PlatformHookLib in PlatformBootManagerLib When coreboot uses different baud rate from the default (115200), the current BDS driver will not be able to enable serial console display due to the inconsistent serial port PCD settings. By adding the PlatformHookLib reference in the inf file, it will enforce the PCDs to be aligned with what have been passed from coreboot. Cc: Prince Agyeman <prince.agye...@intel.com> Cc: Lee Leahy <leroy.p.le...@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice...@intel.com> --- .../Library/PlatformBootManagerLib/PlatformBootManagerLib.inf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf index 59227c759886..475c65d8a16f 100644 --- a/CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf +++ b/CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf @@ -1,7 +1,7 @@ ## @file # Include all platform action which can be customized by IBV/OEM. # -# Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved. +# Copyright (c) 2012 - 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 # which accompanies this distribution. The full text of the license may be found at @@ -52,6 +52,7 @@ DevicePathLib HiiLib PrintLib + PlatformHookLib [Guids] -- 1.9.5.msysgit.0 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 3/5] CorebootPayloadPkg: Add coreboot PlatfromBootManagerLib implementation
Reviewed-by: Lee LeahyDoes not impact Galileo Gen2. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Maurice Ma Sent: Wednesday, May 18, 2016 2:20 PM To: edk2-devel@lists.01.org Cc: Agyeman, Prince Subject: [edk2] [PATCH 3/5] CorebootPayloadPkg: Add coreboot PlatfromBootManagerLib implementation In order to use the generic BdsDxe in MdeModulePkg, a platform specific PlatfromBootManagerLib is required. This library will help update the ConIn, ConOut and ErrOut variables. Cc: Prince Agyeman Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma --- CorebootPayloadPkg/CorebootPayloadPkg.dec | 24 +- .../PlatformBootManagerLib/PlatformBootManager.c | 198 +++ .../PlatformBootManagerLib/PlatformBootManager.h | 128 + .../PlatformBootManagerLib.inf | 77 +++ .../PlatformBootManagerLib/PlatformConsole.c | 617 + .../PlatformBootManagerLib/PlatformConsole.h | 76 +++ .../Library/PlatformBootManagerLib/PlatformData.c | 25 + 7 files changed, 1133 insertions(+), 12 deletions(-) create mode 100644 CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c create mode 100644 CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.h create mode 100644 CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf create mode 100644 CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c create mode 100644 CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.h create mode 100644 CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformData.c diff --git a/CorebootPayloadPkg/CorebootPayloadPkg.dec b/CorebootPayloadPkg/CorebootPayloadPkg.dec index 54eb3d2257ba..b33b79c1d6bd 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkg.dec +++ b/CorebootPayloadPkg/CorebootPayloadPkg.dec @@ -1,16 +1,16 @@ ## @file # Coreboot Payload Package # -# Provides drivers and definitions to create uefi payload for coreboot. +# Provides drivers and definitions to create uefi payload for coreboot. # # Copyright (c) 2014, 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. +# 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. +# 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. # ## @@ -19,15 +19,15 @@ PACKAGE_NAME = CorebootPayloadPkg PACKAGE_GUID = 58ABC905-951E-472e-8590-77BA8A50BE63 PACKAGE_VERSION= 0.1 - + [LibraryClasses] - + [Guids] # ## Defines the token space for the Coreboot Payload Package PCDs. # - gUEfiCorebootPayloadPkgTokenSpaceGuid = {0x1d127ea, 0xf6f1, 0x4ef6, {0x94, 0x15, 0x8a, 0x0, 0x0, 0x93, 0xf8, 0x9d}} - + gUEfiCorebootPayloadPkgTokenSpaceGuid = {0x1d127ea, 0xf6f1, 0x4ef6, + {0x94, 0x15, 0x8a, 0x0, 0x0, 0x93, 0xf8, 0x9d}} + # # Gop Temp # @@ -51,4 +51,4 @@ [PcdsFixedAtBuild, PcdsPatchableInModule] [PcdsDynamic, PcdsDynamicEx] - + diff --git a/CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c b/CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c new file mode 100644 index ..200ea9580877 --- /dev/null +++ b/CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c @@ -0,0 +1,198 @@ +/** @file + This file include all platform action which can be customized + by IBV/OEM. + +Copyright (c) 2015, 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 +which 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. + +**/ + +#include "PlatformBootManager.h" +#include "PlatformConsole.h" + +/** + Return the index of
Re: [edk2] [PATCH 2/5] CorebootModulePkg: Add video resolution PCD initialization
Reviewed-by: Lee LeahyDoes not impact Galileo Gen2. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Maurice Ma Sent: Wednesday, May 18, 2016 2:19 PM To: edk2-devel@lists.01.org Cc: Agyeman, Prince Subject: [edk2] [PATCH 2/5] CorebootModulePkg: Add video resolution PCD initialization The video console resolution related PCDs are required to be initialized after switching to use the generic BdsDxe driver in MdeModulePkg. Cc: Prince Agyeman Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma --- CorebootModulePkg/CbSupportDxe/CbSupportDxe.c | 16 CorebootModulePkg/CbSupportDxe/CbSupportDxe.h | 1 + CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf | 9 - 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c index d81b7c23b717..767130475324 100755 --- a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c +++ b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c @@ -134,6 +134,7 @@ CbDxeEntryPoint ( EFI_HOB_GUID_TYPE *GuidHob; SYSTEM_TABLE_INFO *pSystemTableInfo; ACPI_BOARD_INFO*pAcpiBoardInfo; + FRAME_BUFFER_INFO *FbInfo; Status = EFI_SUCCESS; // @@ -184,6 +185,21 @@ CbDxeEntryPoint ( DEBUG ((EFI_D_ERROR, "PmCtrlReg at 0x%lx\n", (UINT64)mPmCtrlReg)); // + // Find the frame buffer information and update PCDs // GuidHob = + GetFirstGuidHob (); ASSERT (GuidHob != + NULL); FbInfo = (FRAME_BUFFER_INFO *)GET_GUID_HOB_DATA (GuidHob); + Status = PcdSet32S (PcdVideoHorizontalResolution, + FbInfo->HorizontalResolution); ASSERT_EFI_ERROR (Status); Status = + PcdSet32S (PcdVideoVerticalResolution, FbInfo->VerticalResolution); + ASSERT_EFI_ERROR (Status); Status = PcdSet32S + (PcdSetupVideoHorizontalResolution, FbInfo->HorizontalResolution); + ASSERT_EFI_ERROR (Status); Status = PcdSet32S + (PcdSetupVideoVerticalResolution, FbInfo->VerticalResolution); + ASSERT_EFI_ERROR (Status); + + // // Register callback on the ready to boot event // in order to enable SCI // diff --git a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.h b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.h index bace2728e63b..4c59ed94d76c 100644 --- a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.h +++ b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.h @@ -29,6 +29,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include #include diff --git a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf index c92db8ded45e..99245183eaeb 100644 --- a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf +++ b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf @@ -49,11 +49,18 @@ IoLib HobLib -[Guids] +[Guids] gEfiAcpiTableGuid gEfiSmbiosTableGuid gUefiSystemTableInfoGuid gUefiAcpiBoardInfoGuid + gUefiFrameBufferInfoGuid + +[Pcd] + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution + gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution [Depex] TRUE -- 1.9.5.msysgit.0 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 1/5] CorebootModulePkg: Convert TAB to white space for CbSupportDxe driver
Reviewed-by: Lee LeahyWorks on Galileo Gen2. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Maurice Ma Sent: Wednesday, May 18, 2016 2:19 PM To: edk2-devel@lists.01.org Cc: Agyeman, Prince Subject: [edk2] [PATCH 1/5] CorebootModulePkg: Convert TAB to white space for CbSupportDxe driver Convert TAB to white space for CbSupportDxe driver. Cc: Prince Agyeman Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma --- CorebootModulePkg/CbSupportDxe/CbSupportDxe.c | 142 +- 1 file changed, 71 insertions(+), 71 deletions(-) diff --git a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c index 68baad6d00e0..d81b7c23b717 100755 --- a/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c +++ b/CorebootModulePkg/CbSupportDxe/CbSupportDxe.c @@ -1,7 +1,7 @@ /** @file - This driver will report some MMIO/IO resources to dxe core, extract smbios and acpi + This driver will report some MMIO/IO resources to dxe core, extract + smbios and acpi tables from coreboot and install. - + Copyright (c) 2014, 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 @@ -37,7 +37,7 @@ CbReserveResourceInGcd ( IN EFI_HANDLEImageHandle ) { - EFI_STATUS Status; + EFI_STATUS Status; if (IsMMIO) { Status = gDS->AddMemorySpace ( @@ -103,21 +103,21 @@ OnReadyToBoot ( IN EFI_EVENT Event, IN VOID *Context ) -{ - // - // Enable SCI - // - IoOr16 (mPmCtrlReg, BIT0); - - DEBUG ((EFI_D_ERROR, "Enable SCI bit at 0x%lx before boot\n", (UINT64)mPmCtrlReg)); +{ + // + // Enable SCI + // + IoOr16 (mPmCtrlReg, BIT0); + + DEBUG ((EFI_D_ERROR, "Enable SCI bit at 0x%lx before boot\n", + (UINT64)mPmCtrlReg)); } /** Main entry for the Coreboot Support DXE module. - + @param[in] ImageHandleThe firmware allocated handle for the EFI image. @param[in] SystemTableA pointer to the EFI System Table. - + @retval EFI_SUCCESS The entry point is executed successfully. @retval other Some error occurs when executing this entry point. @@ -128,66 +128,66 @@ CbDxeEntryPoint ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) -{ - EFI_STATUS Status; - EFI_EVENT ReadyToBootEvent; - EFI_HOB_GUID_TYPE *GuidHob; - SYSTEM_TABLE_INFO *pSystemTableInfo; - ACPI_BOARD_INFO*pAcpiBoardInfo; - - Status = EFI_SUCCESS; - // - // Report MMIO/IO Resources - // - Status = CbReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0xFEE0, SIZE_1MB, 0, SystemTable); // LAPIC - ASSERT_EFI_ERROR (Status); - - Status = CbReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0xFEC0, SIZE_4KB, 0, SystemTable); // IOAPIC - ASSERT_EFI_ERROR (Status); - - Status = CbReserveResourceInGcd (TRUE, EfiGcdMemoryTypeMemoryMappedIo, 0xFED0, SIZE_1KB, 0, SystemTable); // HPET - ASSERT_EFI_ERROR (Status); - - // - // Find the system table information guid hob - // - GuidHob = GetFirstGuidHob (); - ASSERT (GuidHob != NULL); +{ + EFI_STATUS Status; + EFI_EVENT ReadyToBootEvent; + EFI_HOB_GUID_TYPE *GuidHob; + SYSTEM_TABLE_INFO *pSystemTableInfo; + ACPI_BOARD_INFO*pAcpiBoardInfo; + + Status = EFI_SUCCESS; + // + // Report MMIO/IO Resources + // + Status = CbReserveResourceInGcd (TRUE, + EfiGcdMemoryTypeMemoryMappedIo, 0xFEE0, SIZE_1MB, 0, SystemTable); + // LAPIC ASSERT_EFI_ERROR (Status); + + Status = CbReserveResourceInGcd (TRUE, + EfiGcdMemoryTypeMemoryMappedIo, 0xFEC0, SIZE_4KB, 0, SystemTable); + // IOAPIC ASSERT_EFI_ERROR (Status); + + Status = CbReserveResourceInGcd (TRUE, + EfiGcdMemoryTypeMemoryMappedIo, 0xFED0, SIZE_1KB, 0, SystemTable); + // HPET ASSERT_EFI_ERROR (Status); + + // + // Find the system table information guid hob // GuidHob = + GetFirstGuidHob (); ASSERT (GuidHob != + NULL); pSystemTableInfo = (SYSTEM_TABLE_INFO *)GET_GUID_HOB_DATA (GuidHob); - - // - // Install Acpi Table - // - if (pSystemTableInfo->AcpiTableBase != 0 && pSystemTableInfo->AcpiTableSize != 0) { - DEBUG ((EFI_D_ERROR, "Install Acpi Table at 0x%lx, length 0x%x\n", pSystemTableInfo->AcpiTableBase, pSystemTableInfo->AcpiTableSize)); - Status = gBS->InstallConfigurationTable (, (VOID *)(UINTN)pSystemTableInfo->AcpiTableBase); -
Re: [edk2] [PATCH] CorebootPayloadPkg: Use generic PciBus/PciHostBridge driver
Please hold off on this patch until the one for MdeModulePkg is merged Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Maurice Ma Sent: Monday, May 16, 2016 4:40 PM To: edk2-devel@lists.01.org Cc: Agyeman, PrinceSubject: [edk2] [PATCH] CorebootPayloadPkg: Use generic PciBus/PciHostBridge driver Current CorebootPayloadPkg uses PciBusNoEnumerationDxe and PciRootBridgenoEnumerationDxe copied from the DuetPkg. Now it will switch to use the standard PciBusDxe and PciHostBridgeDxe from MdeModulePkg. As a result, a coreboot specific PciHostBridgeLib is added to collect pre-allocated PCI resources. Cc: Prince Agyeman Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma --- CorebootPayloadPkg/CorebootPayloadPkg.fdf | 4 +- CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc | 20 +- CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 20 +- .../Library/PciHostBridgeLib/PciHostBridge.h | 86 +++ .../Library/PciHostBridgeLib/PciHostBridgeLib.c| 228 .../Library/PciHostBridgeLib/PciHostBridgeLib.inf | 47 ++ .../PciHostBridgeLib/PciHostBridgeSupport.c| 581 + 7 files changed, 976 insertions(+), 10 deletions(-) create mode 100644 CorebootPayloadPkg/Library/PciHostBridgeLib/PciHostBridge.h create mode 100644 CorebootPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c create mode 100644 CorebootPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf create mode 100644 CorebootPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeSupport.c diff --git a/CorebootPayloadPkg/CorebootPayloadPkg.fdf b/CorebootPayloadPkg/CorebootPayloadPkg.fdf index 848438f..1aac1db 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkg.fdf +++ b/CorebootPayloadPkg/CorebootPayloadPkg.fdf @@ -110,8 +110,8 @@ INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf # # PCI Support # -INF CorebootModulePkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf -INF CorebootModulePkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf +INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf +INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf # # ISA Support diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc index 7db4e15..6234548 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc @@ -39,6 +39,11 @@ DEFINE MAX_LOGICAL_PROCESSORS = 64 # + # PCI options + # + DEFINE PCIE_BASE= 0xE000 + + # # Serial port set up # DEFINE BAUD_RATE= 115200 @@ -115,8 +120,9 @@ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf - PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf - PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf + PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf + PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf + + PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci + .inf PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf @@ -248,6 +254,8 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0 + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|$(PCIE_BASE) + !if $(SOURCE_DEBUG_ENABLE) gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2 !endif @@ -279,6 +287,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|$(SERIAL_FIFO_CONTROL) gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|$(SERIAL_EXTENDED_TX_FIFO_SIZE) + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|$(UART_DEFAULT_BAUD_RATE) gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|$(UART_DEFAULT_DATA_BITS) gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|$(UART_DEFAULT_PARITY) @@ -396,8 +405,11 @@ # # PCI Support # - CorebootModulePkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf - CorebootModulePkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf + MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf { + + + PciHostBridgeLib|CorebootPayloadPkg/Library/PciHostBridgeLib/PciHostBr + idgeLib.inf + } # # SCSI/ATA/IDE/DISK Support diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc index 7301346..1f6eee4 100644
Re: [edk2] [PATCH] MdeModulePkg: Skip invalid bus number scanning in PciBusDxe driver
Reviewed-by: Lee LeahyLee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Maurice Ma Sent: Monday, May 16, 2016 2:26 PM To: edk2-devel@lists.01.org Cc: Tian, Feng ; Zeng, Star Subject: [edk2] [PATCH] MdeModulePkg: Skip invalid bus number scanning in PciBusDxe driver When PcdPciDisableBusEnumeration is enabled, the PciBus driver might get into a dead loop if the secondary bus register on PCI bridge is not programmed or programmed improperly. Adding this check to avoid any potential dead loop caused by this. Cc: Feng Tian Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma --- MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 8 1 file changed, 8 insertions(+) diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c index a6ade26e3a09..086c481130c8 100644 --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c @@ -165,6 +165,14 @@ PciPciDeviceInfoCollector ( } // + // Ensure secondary bus number is greater than the primary bus number to avoid + // any potential dead loop when PcdPciDisableBusEnumeration is set to TRUE + // + if (SecBus <= StartBusNumber) { +break; + } + + // // Get resource padding for PPB // GetResourcePaddingPpb (PciIoDevice); -- 1.9.5.msysgit.0 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] CorebootPayloadPkg: Use generic SerialDxe driver
Looks good to me Reviewed-by: Lee LeahyLee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Maurice Ma Sent: Friday, May 13, 2016 12:10 PM To: edk2-devel@lists.01.org Cc: Agyeman, Prince Subject: [edk2] [PATCH] CorebootPayloadPkg: Use generic SerialDxe driver Use generic SerialDxe driver in MdeModulePkg instead of the one in CorebootModulePkg. By doing this the reference for PciSioSerialDxe driver will also be removed from DSC and FDF file. Cc: Prince Agyeman Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma --- CorebootPayloadPkg/CorebootPayloadPkg.fdf| 3 +-- CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc| 3 +-- CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CorebootPayloadPkg/CorebootPayloadPkg.fdf b/CorebootPayloadPkg/CorebootPayloadPkg.fdf index 4aee5ac63133..848438ffad30 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkg.fdf +++ b/CorebootPayloadPkg/CorebootPayloadPkg.fdf @@ -112,12 +112,11 @@ INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf # INF CorebootModulePkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf INF CorebootModulePkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf -INF CorebootModulePkg/PciSioSerialDxe/PciSioSerialDxe.inf # # ISA Support # -INF CorebootModulePkg/SerialDxe/SerialDxe.inf +INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf # # Console Support diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc index 725c912db808..7db4e15edc92 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc @@ -398,7 +398,6 @@ # CorebootModulePkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf CorebootModulePkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf - CorebootModulePkg/PciSioSerialDxe/PciSioSerialDxe.inf # # SCSI/ATA/IDE/DISK Support @@ -438,7 +437,7 @@ # # ISA Support # - CorebootModulePkg/SerialDxe/SerialDxe.inf + MdeModulePkg/Universal/SerialDxe/SerialDxe.inf # # Console Support diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc index c2396592d19a..730134637fa6 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc @@ -402,7 +402,6 @@ # CorebootModulePkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf CorebootModulePkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf - CorebootModulePkg/PciSioSerialDxe/PciSioSerialDxe.inf # # SCSI/ATA/IDE/DISK Support @@ -442,7 +441,7 @@ # # ISA Support # - CorebootModulePkg/SerialDxe/SerialDxe.inf + MdeModulePkg/Universal/SerialDxe/SerialDxe.inf # # Console Support -- 1.9.5.msysgit.0 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch v3 3/3] QuarkSocPkg/SDControllerDxe: Add EFIAPI to SetHighSpeedMode
Looks good to me Reviewed-by: Lee Leahy <leroy.p.le...@intel.com> Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Kinney, Michael D Sent: Thursday, May 12, 2016 4:04 PM To: edk2-devel@lists.01.org Cc: Leahy, Leroy P <leroy.p.le...@intel.com> Subject: [Patch v3 3/3] QuarkSocPkg/SDControllerDxe: Add EFIAPI to SetHighSpeedMode From: Lee Leahy <leroy.p.le...@intel.com> Add the missing EFIAPI to fix the inconsistent routine declaration and implementation of a protocol service. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> Reviewed-by: Michael Kinney <michael.d.kin...@intel.com> --- QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDController.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDController.c b/QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDController.c index 18e85c8..96c8774 100644 --- a/QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDController.c +++ b/QuarkSocPkg/QuarkSouthCluster/Sdio/Dxe/SDControllerDxe/SDControlle +++ r.c @@ -2,7 +2,7 @@ The SD host controller driver model and HC protocol routines. -Copyright (c) 2013-2015 Intel Corporation. +Copyright (c) 2013-2016 Intel Corporation. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -244,6 +244,7 @@ GetErrorReason ( @return EFI_SUCCESS **/ EFI_STATUS +EFIAPI SetHighSpeedMode ( IN EFI_SD_HOST_IO_PROTOCOL*This, IN BOOLEANEnable -- 2.6.3.windows.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch v3 2/3] QuarkPlatformPkg: Fix variable set but not used build errors
Looks good to me Reviewed-by: Lee Leahy <leroy.p.le...@intel.com> Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Kinney, Michael D Sent: Thursday, May 12, 2016 4:04 PM To: edk2-devel@lists.01.org Cc: Leahy, Leroy P <leroy.p.le...@intel.com> Subject: [Patch v3 2/3] QuarkPlatformPkg: Fix variable set but not used build errors From: Lee Leahy <leroy.p.le...@intel.com> Fix variable set but not used errors detected by GCC 4.8. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> Reviewed-by: Michael Kinney <michael.d.kin...@intel.com> --- QuarkPlatformPkg/Acpi/DxeSmm/SmmPowerManagement/Ppm.c| 16 ++-- .../Library/PlatformHelperLib/PlatformHelperPei.c| 4 +--- .../Platform/SpiFvbServices/FwBlockService.c | 7 +-- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/QuarkPlatformPkg/Acpi/DxeSmm/SmmPowerManagement/Ppm.c b/QuarkPlatformPkg/Acpi/DxeSmm/SmmPowerManagement/Ppm.c index 8f5e6a3..4fb9ca1 100644 --- a/QuarkPlatformPkg/Acpi/DxeSmm/SmmPowerManagement/Ppm.c +++ b/QuarkPlatformPkg/Acpi/DxeSmm/SmmPowerManagement/Ppm.c @@ -2,7 +2,7 @@ Processor power management initialization code. -Copyright (c) 2013-2015 Intel Corporation. +Copyright (c) 2013-2016 Intel Corporation. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -79,7 +79,6 @@ PpmPatchFadtTable ( EFI_ACPI_TABLE_VERSIONVersion; UINTN Index; UINTN Handle; - EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE *FadtPointer; // // Scan all the acpi tables to find FADT 2.0 @@ -106,9 +105,7 @@ PpmPatchFadtTable ( ASSERT (Table != NULL); CopyMem (Table, CurrentTable, CurrentTable->Length); - FadtPointer = (EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE*) Table; - -// + // // Update the ACPI table and recalculate checksum // Status = mAcpiTable->UninstallAcpiTable (mAcpiTable, Handle); @@ -322,7 +319,6 @@ PpmLoadAndPatchPMTables ( UINTN TableHandle; UINT32FvStatus; UINTN Size; - EFI_ACPI_TABLE_VERSION Version; Status = LocateSupportProtocol (, (VOID**), 1); if (EFI_ERROR (Status)) { @@ -348,14 +344,6 @@ PpmLoadAndPatchPMTables ( ); if (!EFI_ERROR(Status)) { -Version = EFI_ACPI_TABLE_VERSION_1_0B | EFI_ACPI_TABLE_VERSION_2_0 | EFI_ACPI_TABLE_VERSION_3_0; - - if(((EFI_ACPI_DESCRIPTION_HEADER*) CurrentTable)->OemTableId == SIGNATURE_64 ('C', 'p', 'u', '0', 'I', 's', 't', 0)) { - Version = EFI_ACPI_TABLE_VERSION_NONE; - } else if(((EFI_ACPI_DESCRIPTION_HEADER*) CurrentTable)->OemTableId == SIGNATURE_64 ('C', 'p', 'u', '1', 'I', 's', 't', 0)) { - Version = EFI_ACPI_TABLE_VERSION_NONE; - } - SsdtTableUpdate ((EFI_ACPI_DESCRIPTION_HEADER *) CurrentTable); // diff --git a/QuarkPlatformPkg/Library/PlatformHelperLib/PlatformHelperPei.c b/QuarkPlatformPkg/Library/PlatformHelperLib/PlatformHelperPei.c index 50a0e42..c242c9e 100644 --- a/QuarkPlatformPkg/Library/PlatformHelperLib/PlatformHelperPei.c +++ b/QuarkPlatformPkg/Library/PlatformHelperLib/PlatformHelperPei.c @@ -1,7 +1,7 @@ /** @file Implementation of Helper routines for PEI enviroment. -Copyright (c) 2013-2015 Intel Corporation. +Copyright (c) 2013-2016 Intel Corporation. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -63,7 +63,6 @@ PlatformFindFvFileRawDataSection ( EFI_SECTION_TYPE SearchType; EFI_FV_INFO VolumeInfo; EFI_FV_FILE_INFO FileInfo; - CONST EFI_PEI_SERVICES**PeiServices; if (FileNameGuid == NULL || SectionData == NULL || SectionDataSize == NULL) { return EFI_INVALID_PARAMETER; @@ -71,7 +70,6 @@ PlatformFindFvFileRawDataSection ( *SectionData = NULL; *SectionDataSize = 0; - PeiServices = GetPeiServicesTablePointer (); SearchType = EFI_SECTION_RAW; for (Instance = 0; !EFI_ERROR((PeiServicesFfsFindNextVolume (Instance, ))); Instance++) { if (FvNameGuid != NULL) { diff --git a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c index 6cfe710..dbb5512 100644 --- a/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c +++ b/QuarkPlatformPkg/Platform/SpiFvbServices/FwBlockService.c @@ -1,6 +1,6 @@ /** @file -Copyright (c) 2013-2015 Intel Corporation. +Copyright (c) 2013-2016 Intel Corporation. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -590,9 +590,6
Re: [edk2] [Patch v3 1/3] QuarkPlatformPkg: Fix build errors
Looks good to me Reviewed-by: Lee Leahy <leroy.p.le...@intel.com> Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Kinney, Michael D Sent: Thursday, May 12, 2016 4:04 PM To: edk2-devel@lists.01.org Cc: Leahy, Leroy P <leroy.p.le...@intel.com> Subject: [Patch v3 1/3] QuarkPlatformPkg: Fix build errors From: Lee Leahy <leroy.p.le...@intel.com> Fix build errors detected with GCC 4.8.4: local variable set but not used! Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> Reviewed-by: Michael Kinney <michael.d.kin...@intel.com> --- QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPciUpdate.c| 4 +--- QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.c | 6 +- .../Dxe/SmbiosMiscDxe/MiscNumberOfInstallableLanguagesFunction.c | 6 ++ .../Platform/Dxe/SmbiosMiscDxe/MiscOemStringFunction.c| 5 + .../Platform/Dxe/SmbiosMiscDxe/MiscSystemOptionStringFunction.c | 5 + QuarkPlatformPkg/Platform/Pei/PlatformInit/Generic/Recovery.c | 8 +--- QuarkPlatformPkg/Platform/Pei/PlatformInit/MrcWrapper.c | 5 + 7 files changed, 8 insertions(+), 31 deletions(-) diff --git a/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPciUpdate.c b/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPciUpdate.c index b0f0b44..96af046 100644 --- a/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPciUpdate.c +++ b/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPciUpdate.c @@ -1,7 +1,7 @@ /** @file Update the _PRT and _PRW method for pci devices -Copyright (c) 2013-2015 Intel Corporation. +Copyright (c) 2013-2016 Intel Corporation. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -261,9 +261,7 @@ SdtGetNameStringSize ( { UINTN SegCount; UINTN Length; - UINT8 *Name; - Name = Buffer; Length = 0; // diff --git a/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.c b/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.c index aa18cae..309eb04 100644 --- a/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.c +++ b/QuarkPlatformPkg/Acpi/Dxe/AcpiPlatform/AcpiPlatform.c @@ -1,7 +1,7 @@ /** @file ACPI Platform Driver -Copyright (c) 2013-2015 Intel Corporation. +Copyright (c) 2013-2016 Intel Corporation. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -255,7 +255,6 @@ ApicTableUpdate ( UINT8 CurrProcessor; UINTN NumberOfCPUs; UINTN NumberOfEnabledCPUs; - UINTN BufferSize; EFI_PROCESSOR_INFORMATION MpContext; ACPI_APIC_STRUCTURE_PTR*ApicPtr; @@ -298,7 +297,6 @@ ApicTableUpdate ( switch (ApicPtr->AcpiApicCommon.Type) { case EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC: -BufferSize = sizeof (EFI_PROCESSOR_INFORMATION); ApicPtr->AcpiLocalApic.Flags = 0; ApicPtr->AcpiLocalApic.ApicId = 0; Status = MpService->GetProcessorInfo ( @@ -562,7 +560,6 @@ AcpiPlatformEntryPoint ( UINT32FvStatus; UINTN Size; EFI_ACPI_TABLE_VERSIONVersion; - QNC_DEVICE_ENABLESQNCDeviceEnables; EFI_HANDLEHandle; UINTN Index; PCI_DEVICE_INFO *PciDeviceInfo; @@ -577,7 +574,6 @@ AcpiPlatformEntryPoint ( TableHandle = 0; CurrentTable = NULL; mConfigData = NULL; - QNCDeviceEnables.Uint32 = PcdGet32 (PcdDeviceEnables); // // Initialize the EFI Driver Library diff --git a/QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/MiscNumberOfInstallableLanguagesFunction.c b/QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/MiscNumberOfInstallableLanguagesFunction.c index d17f5ea..322d7ce 100644 --- a/QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/MiscNumberOfInstallableLanguagesFunction.c +++ b/QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/MiscNumberOfInstallabl +++ eLanguagesFunction.c @@ -2,7 +2,7 @@ This driver parses the mSmbiosMiscDataTable structure and reports any generated data. -Copyright (c) 2013-2015 Intel Corporation. +Copyright (c) 2013-2016 Intel Corporation. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -190,7 +190,6 @@ MISC_SMBIOS_TABLE_FUNCTION(NumberOfInstallableLanguages) CHAR8 CurrentLang[SMBIOS_STRING_MAX_LENGTH + 1]; CHAR8 *OptionalStrStart; UINT16Offset; - BOOLEAN LangMatch; EFI_STATUSStatus; EFI_SMBIOS_HANDLE
Re: [edk2] [PATCH] CorebootPayloadPkg: Add OHCI driver
Hi Mike, This was the specific request from the CorebootPayloadPkg maintainers. The first version of the patch copied the code into CorebootModulePkg to eliminate this require dependency. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Kinney, Michael D Sent: Thursday, May 12, 2016 4:12 PM To: Leahy, Leroy P <leroy.p.le...@intel.com>; edk2-devel@lists.01.org; Leahy, Leroy P <leroy.p.le...@intel.com>; maruice...@intel.com; Agyeman, Prince <prince.agye...@intel.com>; Ma, Maurice <maurice...@intel.com>; El-Haj-Mahmoud, Samer <samer.el-haj-mahm...@hpe.com>; Kinney, Michael D <michael.d.kin...@intel.com> Subject: RE: [edk2] [PATCH] CorebootPayloadPkg: Add OHCI driver Hi Lee, It seems strange for the CorebootPayloadPkg to depend on the QuarkPlatformPkg. There is a request to add OHCI to MdeModulePkg. http://article.gmane.org/gmane.comp.bios.edk2.devel/7536/match=ohci Maybe Samer has some updates on testing. Thanks, Mike > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Lee Leahy > Sent: Thursday, May 12, 2016 4:05 PM > To: edk2-devel@lists.01.org; Leahy, Leroy P <leroy.p.le...@intel.com>; > maruice...@intel.com; Agyeman, Prince <prince.agye...@intel.com>; Ma, > Maurice <maurice...@intel.com> > Subject: [edk2] [PATCH] CorebootPayloadPkg: Add OHCI driver > > Add the USB OHCI driver from revision 24ca2f35 of QuarkSocPkg. > > Change-Id: Ie7aa0bc47d4ff06adc57976a5efb0e40ce4e1673 > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> > --- > CorebootPayloadPkg/CorebootPayloadPkg.fdf| 5 + > CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc| 5 + > CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 5 + > 3 files changed, 15 insertions(+) > > diff --git a/CorebootPayloadPkg/CorebootPayloadPkg.fdf > b/CorebootPayloadPkg/CorebootPayloadPkg.fdf > index 4102e60..0e8ec43 100644 > --- a/CorebootPayloadPkg/CorebootPayloadPkg.fdf > +++ b/CorebootPayloadPkg/CorebootPayloadPkg.fdf > @@ -159,6 +159,11 @@ INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf > INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > > # > +# OHCI Support > +# > +INF QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf > + > +# > # Shell > # > !if $(SHELL_TYPE) == BUILD_SHELL > diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc > b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc > index 9f155f3..dc86eb1 100644 > --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc > +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc > @@ -431,6 +431,11 @@ >MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > ># > + # OHCI support > + # > + QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf > + > + # ># ISA Support ># >CorebootModulePkg/SerialDxe/SerialDxe.inf > diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc > b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc > index 7b065a6..dabd2dd 100644 > --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc > +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc > @@ -435,6 +435,11 @@ >MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf > ># > + # OHCI support > + # > + QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf > + > + # ># ISA Support ># >CorebootModulePkg/SerialDxe/SerialDxe.inf > -- > 1.9.1 > > ___ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 3/7] CorebootPayloadPkg: Use correct BaseSerialPortLib16550
As we had discussed on the phone last week. I am going to make these changes first in CorebootModulePkg and then post the patches to MdeModulePkg. When the patches get merged into MdeModulePkg then I will be able to remove the corresponding components from CorebootModulePkg. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Ma, Maurice Sent: Wednesday, May 11, 2016 11:24 AM To: Leahy, Leroy P <leroy.p.le...@intel.com>; edk2-devel@lists.01.org; Agyeman, Prince <prince.agye...@intel.com> Subject: RE: [PATCH 3/7] CorebootPayloadPkg: Use correct BaseSerialPortLib16550 Hi, Leah, Is this flow control specific to coreboot? If not, why not suggest the change in MdeModulePkg instead ? Thanks Maurice -Original Message- From: Leahy, Leroy P Sent: Tuesday, May 10, 2016 3:34 PM To: edk2-devel@lists.01.org; Leahy, Leroy P; Agyeman, Prince; Ma, Maurice Subject: [PATCH 3/7] CorebootPayloadPkg: Use correct BaseSerialPortLib16550 Use the BaseSerialPortLib16550 which sets RTS and DTR during initialization. This fixes the mis-matched flow control issue when the flow control signals are connected between the host and target and the host has flow control enabled. Change-Id: I3505e129b2de3c5c17fff23c62553f15cd892dca Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> --- CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc| 2 +- CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc index cc88502..9be96e3 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc @@ -160,7 +160,7 @@ # TimerLib|CorebootPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf ResetSystemLib|CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf - SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf + + SerialPortLib|CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSer + ialPortLib16550.inf PlatformHookLib|CorebootPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf PlatformBdsLib|CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc index 77a33a9..561c0c9 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc @@ -162,7 +162,7 @@ # TimerLib|CorebootPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf ResetSystemLib|CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf - SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf + + SerialPortLib|CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSer + ialPortLib16550.inf PlatformHookLib|CorebootPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf PlatformBdsLib|CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf -- 1.9.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 2/7] CorebootPayloadPkg: Assume no PCI serial devices
Hi Maurice, This is the intent. The entire PCD needs to be present. If coreboot uses a PCI device for its console then this PCD is written with the necessary values. The first two bytes are set to the vendor and device ID values of the PCI device that coreboot is using. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Ma, Maurice Sent: Wednesday, May 11, 2016 11:16 AM To: Leahy, Leroy P <leroy.p.le...@intel.com>; edk2-devel@lists.01.org; Agyeman, Prince <prince.agye...@intel.com> Subject: RE: [PATCH 2/7] CorebootPayloadPkg: Assume no PCI serial devices Hi, Leah, Is this list really consumed? I saw the 0x terminator at the very beginning of the list. So it indicates an empty list.Is this the intention? Thanks Maurice -Original Message- From: Leahy, Leroy P Sent: Tuesday, May 10, 2016 3:34 PM To: edk2-devel@lists.01.org; Leahy, Leroy P; Agyeman, Prince; Ma, Maurice Subject: [PATCH 2/7] CorebootPayloadPkg: Assume no PCI serial devices Set the vendor to 0x which indicates the end of the list. Change-Id: If6475e04d3675f0a932571a85d1dd3f301416b6a Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> --- CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc| 4 ++-- CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc index 907e952..cc88502 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc @@ -67,10 +67,10 @@ #UINT8 Reserved[2]; # } PCI_SERIAL_PARAMETER; # - # Vendor Device Prog Interface 1, BAR #0, Offset 0, Stride = 1, Clock 1843200 (0x1c2000) + # Vendor Device Prog Interface 1, BAR #0, Offset 0, Stride + = 1, Clock 1843200 (0x1c2000) # # [Vendor] [Device] [ClockRate---] [Offset---] [Bar] [Stride] [RxFifo] [TxFifo] [Rsvd] [Vendor] - DEFINE PCI_SERIAL_PARAMETERS= {0x00,0x00, 0x00,0x00, 0x0,0x20,0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00,0x01, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff} + DEFINE PCI_SERIAL_PARAMETERS= {0xff,0xff, 0x00,0x00, 0x0,0x20,0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00,0x01, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff} # # Shell options: [BUILD_SHELL, FULL_BIN, MIN_BIN, NONE, UEFI] diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc index 90a484d..77a33a9 100644 --- a/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc +++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc @@ -67,10 +67,10 @@ #UINT8 Reserved[2]; # } PCI_SERIAL_PARAMETER; # - # Vendor Device Prog Interface 1, BAR #0, Offset 0, Stride = 1, Clock 1843200 (0x1c2000) + # Vendor Device Prog Interface 1, BAR #0, Offset 0, Stride + = 1, Clock 1843200 (0x1c2000) # # [Vendor] [Device] [ClockRate---] [Offset---] [Bar] [Stride] [RxFifo] [TxFifo] [Rsvd] [Vendor] - DEFINE PCI_SERIAL_PARAMETERS= {0x00,0x00, 0x00,0x00, 0x0,0x20,0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00,0x01, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff} + DEFINE PCI_SERIAL_PARAMETERS= {0xff,0xff, 0x00,0x00, 0x0,0x20,0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00,0x01, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff} # # Shell options: [BUILD_SHELL, FULL_BIN, MIN_BIN, NONE, UEFI] -- 1.9.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 1/7] CorebootPayloadPkg/PlatformHelperLib: Remove unreferenced function
Hi Laszlo, The error seems to be related to a missing PCD value and a reference to SecStartup which are unrelated to this patch. See the portion of the log below. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 "ld" -o Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore/DEBUG/SecCore.dll -nostdlib -n -q --gc-sections -z common-page-size=0x40 --entry _ModuleEntryPoint -u _ModuleEntryPoint -Map Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore/DEBUG/SecCore.map -m elf_i386 --oformat=elf32-i386 -flto --start-group @Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore/OUTPUT/static_library_files.lst --end-group --defsym=PECOFF_HEADER_SIZE=0x220 --script=BaseTools/Scripts/GccBase.lds Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore/OUTPUT/SecCore.lib(SecEntry.obj): In function `_ModuleEntryPoint': (.text+0x8): undefined reference to `_gPcd_FixedAtBuild_PcdPayloadFdMemBase' Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore/OUTPUT/SecCore.lib(SecEntry.obj): In function `_ModuleEntryPoint': (.text+0x17): undefined reference to `SecStartup' GNUmakefile:359: recipe for target 'Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore/DEBUG/SecCore.dll' failed make: *** [Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore/DEBUG/SecCore.dll] Error 1 build.py... : error 7000: Failed to execute command make tbuild [Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/CorebootModulePkg/SecCore/SecCore] build.py... : error 7000: Failed to execute command make tbuild [Build/CorebootPayloadPkgX64/DEBUG_GCC49/IA32/MdeModulePkg/Core/Pei/PeiMain] build.py... : error F002: Failed to build module CorebootModulePkg/SecCore/SecCore.inf [IA32, GCC49, DEBUG] -Original Message- From: Laszlo Ersek [mailto:ler...@redhat.com] Sent: Friday, May 6, 2016 12:58 AM To: Leahy, Leroy P <leroy.p.le...@intel.com>; edk2-de...@ml01.01.org; Ma, Maurice <maurice...@intel.com>; Agyeman, Prince <prince.agye...@intel.com> Cc: Gerd Hoffmann <kra...@redhat.com> Subject: Re: [edk2] [PATCH 1/7] CorebootPayloadPkg/PlatformHelperLib: Remove unreferenced function Hi, On 05/05/16 02:37, Lee Leahy wrote: > Remove the PlatformFlashEraseWrite function which is not used within > CorebootPayloadPkg. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> > --- > .../Include/Library/PlatformHelperLib.h| 38 +- > .../Library/PlatformHelperLib/PlatformHelperDxe.c | 141 > - > 2 files changed, 1 insertion(+), 178 deletions(-) This series seems to break Gerd's Coreboot build. I'm not familiar with this platform, so I won't try to analyze the issue; I'll just attach the report I received from Gerd's Jenkins instance. Thanks Laszlo ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 04/12] CorebootPayloadPkg/PciBusNoEnumerationDxe: Skip disabled devices
HI Maurice, Coreboot only assigns resources to devices which are enabled. If the device is set to OFF in the mainboard/.../devicetree.cb file then no resources are assigned and the device is left disabled. This is the issue that I am running into which is causing PciBusNoEnumerationDxe to fail. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Ma, Maurice Sent: Tuesday, April 19, 2016 2:51 PM To: Leahy, Leroy P <leroy.p.le...@intel.com> Cc: edk2-devel@lists.01.org; Agyeman, Prince <prince.agye...@intel.com> Subject: RE: [PATCH 04/12] CorebootPayloadPkg/PciBusNoEnumerationDxe: Skip disabled devices Hi, Lee, Do we assume all PCI devices will be enabled in the command registers in coreboot before transitioning to the UEFI payload ? How about those PCI devices with command register disabled but with PCI BARs programmed ? If we skip them, then the resource will not be collected by the PciBus driver. Thanks Maurice -Original Message- From: Leahy, Leroy P Sent: Tuesday, April 19, 2016 1:30 PM To: edk2-devel@lists.01.org; Ma, Maurice; Agyeman, Prince; Leahy, Leroy P Subject: [PATCH 04/12] CorebootPayloadPkg/PciBusNoEnumerationDxe: Skip disabled devices Skip non-bridge devices which are not enabled either for memory or I/O access. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> --- CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c | 9 + 1 file changed, 9 insertions(+) diff --git a/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c b/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c index ca300cf..3802424 100644 --- a/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c +++ b/CorebootModulePkg/PciBusNoEnumerationDxe/PciEnumeratorSupport.c @@ -227,6 +227,15 @@ Returns: if (!EFI_ERROR (Status)) { // +// Skip non-bridge devices which are not enabled +// +if (((Pci.Hdr.Command & (EFI_PCI_COMMAND_IO_SPACE + | EFI_PCI_COMMAND_MEMORY_SPACE)) == 0) + && (!(IS_PCI_BRIDGE () || IS_CARDBUS_BRIDGE ( { + continue; +} + +// // Collect all the information about the PCI device discovered // Status = PciSearchDevice ( -- 1.9.1 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 03/12] CorebootModulePkg/SerialDxe: Use PlatformHookLib
Hi Maurice, This driver is being built with PlatformHelperLib to pass the serial port configuration from coreboot. The .inf file is modified and the driver is being rebuilt. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Ma, Maurice Sent: Tuesday, April 19, 2016 2:36 PM To: Leahy, Leroy P <leroy.p.le...@intel.com> Cc: edk2-devel@lists.01.org; Agyeman, Prince <prince.agye...@intel.com> Subject: RE: [PATCH 03/12] CorebootModulePkg/SerialDxe: Use PlatformHookLib Hi, Lee, I have the same question as previous patch. Please let us know why the driver in MdeModulePkg does not fit your needs. If it is only for PCD initialization, we might consider using PcdsDynamic type and set them in platform driver instead. Thanks Maurice -Original Message- From: Leahy, Leroy P Sent: Tuesday, April 19, 2016 1:30 PM To: edk2-devel@lists.01.org; Ma, Maurice; Agyeman, Prince; Leahy, Leroy P Subject: [PATCH 03/12] CorebootModulePkg/SerialDxe: Use PlatformHookLib Copy the driver from MdeModulePkg/Universal/SerialDxe. Add PlatformHookLib to the Library section of the .inf file to adjust the PCDs for the UART. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> --- CorebootModulePkg/SerialDxe/SerialDxe.inf | 55 +++ CorebootModulePkg/SerialDxe/SerialDxe.uni | 21 + CorebootModulePkg/SerialDxe/SerialDxeExtra.uni | 19 + CorebootModulePkg/SerialDxe/SerialIo.c | 528 + 4 files changed, 623 insertions(+) create mode 100644 CorebootModulePkg/SerialDxe/SerialDxe.inf create mode 100644 CorebootModulePkg/SerialDxe/SerialDxe.uni create mode 100644 CorebootModulePkg/SerialDxe/SerialDxeExtra.uni create mode 100644 CorebootModulePkg/SerialDxe/SerialIo.c diff --git a/CorebootModulePkg/SerialDxe/SerialDxe.inf b/CorebootModulePkg/SerialDxe/SerialDxe.inf new file mode 100644 index 000..8489e06 --- /dev/null +++ b/CorebootModulePkg/SerialDxe/SerialDxe.inf @@ -0,0 +1,55 @@ +## @file +# Serial driver that layers on top of a Serial Port Library instance. +# +# Copyright (c) 2008 - 2015, 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 # which 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. +# +# +## + +[Defines] + INF_VERSION= 0x00010005 + BASE_NAME = SerialDxe + MODULE_UNI_FILE= SerialDxe.uni + FILE_GUID = D3987D4B-971A-435F-8CAF-4967EB627241 + MODULE_TYPE= DXE_DRIVER + VERSION_STRING = 1.0 + + ENTRY_POINT= SerialDxeInitialize + +[Sources.common] + SerialIo.c + +[Packages] + MdePkg/MdePkg.dec + CorebootModulePkg/CorebootModulePkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + UefiBootServicesTableLib + DebugLib + PcdLib + PlatformHookLib + SerialPortLib + +[Protocols] + gEfiSerialIoProtocolGuid ## PRODUCES + gEfiDevicePathProtocolGuid## PRODUCES + +[Pcd] + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity ## CONSUMES + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits ## CONSUMES + +[Depex] + TRUE + +[UserExtensions.TianoCore."ExtraFiles"] + SerialDxeExtra.uni diff --git a/CorebootModulePkg/SerialDxe/SerialDxe.uni b/CorebootModulePkg/SerialDxe/SerialDxe.uni new file mode 100644 index 000..e2daf27 --- /dev/null +++ b/CorebootModulePkg/SerialDxe/SerialDxe.uni @@ -0,0 +1,21 @@ +// /** @file +// Serial driver that layers on top of a Serial Port Library instance. +// +// Serial driver that layers on top of a Serial Port Library instance. +// +// Copyright (c) 2008 - 2015, 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 // which 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. +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Serial driver that layers on top of a Serial Port Library instance" + +#string STR_MODULE_DESCRIPTION #language en-US "Serial driver that layers on top of a Serial Port Library instance.&qu
Re: [edk2] [PATCH 02/12] CorebootModulePkg/PciSioSerialDxe: Use PlatformHookLib
Hi Maurice, Quark uses a PCI serial port, not the legacy serial port. As such, I need to pass parameters from coreboot to the PCI serial driver. This requires the use of PlatformHelperLib which requires that I modify the .inf file and rebuild the serial driver. Lee Leahy (425) 881-4919 Intel Corporation Suite 125 2700 - 156th Ave NE Bellevue, WA 98007-6554 -Original Message- From: Ma, Maurice Sent: Tuesday, April 19, 2016 2:33 PM To: Leahy, Leroy P <leroy.p.le...@intel.com> Cc: edk2-devel@lists.01.org; Agyeman, Prince <prince.agye...@intel.com> Subject: RE: [PATCH 02/12] CorebootModulePkg/PciSioSerialDxe: Use PlatformHookLib Hi, Lee, For this change, could you let us know why you decided to copy the PciSioSerialDxe over to the CorebootModulePkg ? I am wondering why the current driver in MdeModulePkg cannot be reused. Thanks Maurice -Original Message- From: Leahy, Leroy P Sent: Tuesday, April 19, 2016 1:29 PM To: edk2-devel@lists.01.org; Ma, Maurice; Agyeman, Prince; Leahy, Leroy P Subject: [PATCH 02/12] CorebootModulePkg/PciSioSerialDxe: Use PlatformHookLib Copy the driver from MdeModulePkg/Bus/Pci/PciSioSerialDxe. Add PlatformHookLib to the Library section of the .inf file to adjust the PCDs for the UART. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.le...@intel.com> --- CorebootModulePkg/PciSioSerialDxe/ComponentName.c | 288 + .../PciSioSerialDxe/PciSioSerialDxe.inf| 82 ++ .../PciSioSerialDxe/PciSioSerialDxe.uni| 21 + .../PciSioSerialDxe/PciSioSerialDxeExtra.uni | 18 + CorebootModulePkg/PciSioSerialDxe/Serial.c | 1248 ++ CorebootModulePkg/PciSioSerialDxe/Serial.h | 789 CorebootModulePkg/PciSioSerialDxe/SerialIo.c | 1320 7 files changed, 3766 insertions(+) create mode 100644 CorebootModulePkg/PciSioSerialDxe/ComponentName.c create mode 100644 CorebootModulePkg/PciSioSerialDxe/PciSioSerialDxe.inf create mode 100644 CorebootModulePkg/PciSioSerialDxe/PciSioSerialDxe.uni create mode 100644 CorebootModulePkg/PciSioSerialDxe/PciSioSerialDxeExtra.uni create mode 100644 CorebootModulePkg/PciSioSerialDxe/Serial.c create mode 100644 CorebootModulePkg/PciSioSerialDxe/Serial.h create mode 100644 CorebootModulePkg/PciSioSerialDxe/SerialIo.c diff --git a/CorebootModulePkg/PciSioSerialDxe/ComponentName.c b/CorebootModulePkg/PciSioSerialDxe/ComponentName.c new file mode 100644 index 000..994dc84 --- /dev/null +++ b/CorebootModulePkg/PciSioSerialDxe/ComponentName.c @@ -0,0 +1,288 @@ +/** @file + UEFI Component Name and Name2 protocol for Isa serial driver. + +Copyright (c) 2006 - 2015, 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 +which 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. + +**/ + +#include "Serial.h" + +// +// EFI Component Name Protocol +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gPciSioSerialComponentName = { + SerialComponentNameGetDriverName, + SerialComponentNameGetControllerName, + "eng" +}; + +// +// EFI Component Name 2 Protocol +// +GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gPciSioSerialComponentName2 = { + (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) SerialComponentNameGetDriverName, + (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) SerialComponentNameGetControllerName, + "en" +}; + + +GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mSerialDriverNameTable[] = { + { +"eng;en", +L"PCI SIO Serial Driver" + }, + { +NULL, +NULL + } +}; + +GLOBAL_REMOVE_IF_UNREFERENCED CHAR16 mSioSerialPortName[] = L"SIO Serial Port #%d"; +GLOBAL_REMOVE_IF_UNREFERENCED CHAR16 mPciSerialPortName[] = L"PCI Serial Port #%d"; + +/** + Retrieves a Unicode string that is the user readable name of the driver. + + This function retrieves the user readable name of a driver in the form of a + Unicode string. If the driver specified by This has a user readable name in + the language specified by Language, then a pointer to the driver name is + returned in DriverName, and EFI_SUCCESS is returned. If the driver specified + by This does not support the language specified by Language, + then EFI_UNSUPPORTED is returned. + + @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or +EFI_COMPONENT_NAME_PROTOCOL instance. + + @param Language[in] A pointer to a Null-terminated ASCII string +array indicating the