From nobody Fri Apr 26 06:54:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40704+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40704+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1557941751; cv=none; d=zoho.com; s=zohoarc; b=C5Oj9y6sSk550A4uV3wgpnOJ52StEScRZmfTB5p7L0w4lffi7BsPoLhV5VGNWq/TUbOQ+qOvFG9wAUSPcZ+jmg86q+foK16zJiM3MlDoFTgPAQARJu2jjEJcfUfiTELx6gG9ClRfspvc+FZkGbQ/5rsBdXbC+Y1g8c2au2xD/Fo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557941751; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=uhVNnIxWwlETSSHRii+3rHbnI9nlW5wAMk1IKUU8DdQ=; b=gxobQIifwKQeZBQDLXK8j6jiofcfaOxc0WYZAPC0JM2DjrADKjiQq/PoFq7JpTDa0bI9uT11ie8hS3rRng1ka33gRYIe352Ul2kldRlcNZwFeE76dNaZq8Rde8+7/OaIVrNnu95h4e8OxbzXwIihjKSWgE6GXhsLkG4jO4hmHdw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40704+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1557941751600896.0537814913635; Wed, 15 May 2019 10:35:51 -0700 (PDT) Return-Path: X-Received: from mga05.intel.com (mga05.intel.com []) by groups.io with SMTP; Wed, 15 May 2019 10:35:50 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 May 2019 10:35:49 -0700 X-ExtLoop1: 1 X-Received: from paagyema-desk2.amr.corp.intel.com ([10.7.159.148]) by orsmga006.jf.intel.com with ESMTP; 15 May 2019 10:35:49 -0700 From: "Agyeman, Prince" To: devel@edk2.groups.io Cc: Prince Agyeman , Michael Kubacki , Michael D Kinney , Nate DeSimone , Liming Gao , Ankit Sinha Subject: [edk2-devel] [edk2-platforms] [PATCH 1/5] MinPlatformPkg: Added GCC5 build support Date: Wed, 15 May 2019 10:35:45 -0700 Message-Id: <5d4d258dada5185a60fe53b34a44806d32ccc96b.1557779977.git.prince.agyeman@intel.com> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,prince.agyeman@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1557941751; bh=bdwzTBQy8D7Q1bCqaVNxBrRKWu+HAeQyI6kEJEF/o2o=; h=Cc:Date:From:Reply-To:Subject:To; b=JNArZ2BwLhuKAtzBXo663n+J3y1DvTcQLhBVeLwGLt3HN9EsPsFaGNSb/LwzYI3OUXA HOw8FshcB0/Rye1phTybcEk2+iBnz5ARj12Aq4BTY8Og7AEXOupUu7slCRp37JG7bzCJQ Z6X5VZ2ukOnERbohnKdrMsi29HnDG+Kp4mo= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: Prince Agyeman Fixes: * Replacing .asm and .S with nasm in SecFspWrapperPlatformSecLib for cross-platform build support * Modified RuleInclude.fdf * Modified python files to be OS independent Gcc build was tested on Ubuntu 16.04.5 LTS with gcc version 5.4.0, nasm version 2.11.08 Cc: Michael Kubacki Cc: Michael D Kinney Cc: Nate DeSimone Cc: Liming Gao Cc: Ankit Sinha TianoCore Contribution Agreement 1.1 Signed-off-by: Prince Agyeman --- .../Ia32/PeiCoreEntry.S | 123 -------- .../Ia32/{PeiCoreEntry.asm =3D> PeiCoreEntry.nasm} | 52 ++- .../SecFspWrapperPlatformSecLib/Ia32/SecEntry.S | 348 -----------------= ---- .../Ia32/{SecEntry.asm =3D> SecEntry.nasm} | 138 ++++---- .../SecFspWrapperPlatformSecLib/Ia32/Stack.S | 73 ----- .../Ia32/{Stack.asm =3D> Stack.nasm} | 45 ++- .../SecFspWrapperPlatformSecLib.inf | 18 +- .../MinPlatformPkg/Include/Fdf/RuleInclude.fdf | 19 +- .../Tools/Fsp/RebaseAndPatchFspBinBaseAddress.py | 2 +- .../MinPlatformPkg/Tools/PatchFv/PatchBinFv.py | 16 +- .../MinPlatformPkg/Tools/PatchFv/RebaseBinFv.py | 23 +- Platform/Intel/build_bios.py | 25 +- 12 files changed, 152 insertions(+), 730 deletions(-) delete mode 100644 Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFsp= WrapperPlatformSecLib/Ia32/PeiCoreEntry.S rename Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf= ormSecLib/Ia32/{PeiCoreEntry.asm =3D> PeiCoreEntry.nasm} (59%) delete mode 100644 Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFsp= WrapperPlatformSecLib/Ia32/SecEntry.S rename Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf= ormSecLib/Ia32/{SecEntry.asm =3D> SecEntry.nasm} (69%) delete mode 100644 Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFsp= WrapperPlatformSecLib/Ia32/Stack.S rename Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatf= ormSecLib/Ia32/{Stack.asm =3D> Stack.nasm} (50%) diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapper= PlatformSecLib/Ia32/PeiCoreEntry.S b/Platform/Intel/MinPlatformPkg/FspWrapp= er/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.S deleted file mode 100644 index 8923577..0000000 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/PeiCoreEntry.S +++ /dev/null @@ -1,123 +0,0 @@ -## @file -# Find and call SecStartup -# -# Copyright (c) 2017, Intel Corporation. All rights reserved.
-# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License that accompanies this distri= bution. -# 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 IMP= LIED. -# -## - -ASM_GLOBAL ASM_PFX(CallPeiCoreEntryPoint) -ASM_PFX(CallPeiCoreEntryPoint): - # - # Obtain the hob list pointer - # - movl 0x4(%esp), %eax - # - # Obtain the stack information - # ECX: start of range - # EDX: end of range - # - movl 0x8(%esp), %ecx - movl 0xC(%esp), %edx - - # - # Platform init - # - pushal - pushl %edx - pushl %ecx - pushl %eax - call ASM_PFX(PlatformInit) - popl %eax - popl %eax - popl %eax - popal - - # - # Set stack top pointer - # - movl %edx, %esp - - # - # Push the hob list pointer - # - pushl %eax - - # - # Save the value - # ECX: start of range - # EDX: end of range - # - movl %esp, %ebp - pushl %ecx - pushl %edx - - # - # Push processor count to stack first, then BIST status (AP then BSP) - # - movl $1, %eax - cpuid - shr $16, %ebx - andl $0x000000FF, %ebx - cmp $1, %bl - jae PushProcessorCount - - # - # Some processors report 0 logical processors. Effectively 0 =3D 1. - # So we fix up the processor count - # - inc %ebx - -PushProcessorCount: - pushl %ebx - - # - # We need to implement a long-term solution for BIST capture. For now, = we just copy BSP BIST - # for all processor threads - # - xorl %ecx, %ecx - movb %bl, %cl -PushBist: - movd %mm0, %eax - pushl %eax - loop PushBist - - # Save Time-Stamp Counter - movd %mm5, %eax - pushl %eax - - movd %mm6, %eax - pushl %eax - - # - # Pass entry point of the PEI core - # - movl $0xFFFFFFE0, %edi - pushl %ds:(%edi) - - # - # Pass BFV into the PEI Core - # - movl $0xFFFFFFFC, %edi - pushl %ds:(%edi) - - # - # Pass stack size into the PEI Core - # - movl -4(%ebp), %ecx - movl -8(%ebp), %edx - pushl %ecx # RamBase - - subl %ecx, %edx - pushl %edx # RamSize - - # - # Pass Control into the PEI Core - # - call ASM_PFX(SecStartup) diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapper= PlatformSecLib/Ia32/PeiCoreEntry.asm b/Platform/Intel/MinPlatformPkg/FspWra= pper/Library/SecFspWrapperPlatformSecLib/Ia32/PeiCoreEntry.nasm similarity index 59% rename from Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperP= latformSecLib/Ia32/PeiCoreEntry.asm rename to Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPla= tformSecLib/Ia32/PeiCoreEntry.nasm index d4703dc..5c5b788 100644 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/PeiCoreEntry.asm +++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/PeiCoreEntry.nasm @@ -1,27 +1,25 @@ -;; @file -; Find and call SecStartup +;-------------------------------------------------------------------------= ----- ; -; Copyright (c) 2017, Intel Corporation. All rights reserved.
-; This program and the accompanying materials are licensed and made availa= ble under -; the terms and conditions of the BSD License that accompanies this distri= bution. -; The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php. +; Copyright (c) 2019, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent ; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. +; Module Name: ; -;; - +; PeiCoreEntry.nasm +; +; Abstract: +; +; Find and call SecStartup +; +;-------------------------------------------------------------------------= ----- =20 -.686p -.xmm -.model flat, c -.code +SECTION .text =20 -EXTRN SecStartup:NEAR -EXTRN PlatformInit:NEAR +extern ASM_PFX(SecStartup) +extern ASM_PFX(PlatformInit) =20 -CallPeiCoreEntryPoint PROC PUBLIC +global ASM_PFX(CallPeiCoreEntryPoint) +ASM_PFX(CallPeiCoreEntryPoint): ; ; Obtain the hob list pointer ; @@ -32,7 +30,7 @@ CallPeiCoreEntryPoint PROC PUBLIC ; EDX: end of range ; mov ecx, [esp+8] - mov edx, [esp+0Ch] + mov edx, [esp+0xC] =20 ; ; Platform init @@ -41,7 +39,7 @@ CallPeiCoreEntryPoint PROC PUBLIC push edx push ecx push eax - call PlatformInit + call ASM_PFX(PlatformInit) pop eax pop eax pop eax @@ -72,7 +70,7 @@ CallPeiCoreEntryPoint PROC PUBLIC mov eax, 1 cpuid shr ebx, 16 - and ebx, 0000000FFh + and ebx, 0xFF cmp bl, 1 jae PushProcessorCount =20 @@ -106,14 +104,14 @@ PushBist: ; ; Pass entry point of the PEI core ; - mov edi, 0FFFFFFE0h - push DWORD PTR ds:[edi] + mov edi, 0xFFFFFFE0 + push DWORD [edi] =20 ; ; Pass BFV into the PEI Core ; - mov edi, 0FFFFFFFCh - push DWORD PTR ds:[edi] + mov edi, 0xFFFFFFFC + push DWORD [edi] =20 ; ; Pass stack size into the PEI Core @@ -128,7 +126,5 @@ PushBist: ; ; Pass Control into the PEI Core ; - call SecStartup -CallPeiCoreEntryPoint ENDP + call ASM_PFX(SecStartup) =20 -END diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapper= PlatformSecLib/Ia32/SecEntry.S b/Platform/Intel/MinPlatformPkg/FspWrapper/L= ibrary/SecFspWrapperPlatformSecLib/Ia32/SecEntry.S deleted file mode 100644 index 396e7a4..0000000 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/SecEntry.S +++ /dev/null @@ -1,348 +0,0 @@ -## @file -# This is the code that goes from real-mode to protected mode. -# It consumes the reset vector, calls TempRamInit API from FSP binary. -# -# Copyright (c) 2017, Intel Corporation. All rights reserved.
-# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License that accompanies this distri= bution. -# 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 IMP= LIED. -# -## - -#include "Fsp.h" - -ASM_GLOBAL ASM_PFX(_gPcd_FixedAtBuild_PcdFsptBaseAddress) -ASM_GLOBAL ASM_PFX(_gPcd_FixedAtBuild_PcdFspTemporaryRamSize) - -ASM_GLOBAL ASM_PFX(_TEXT_REALMODE) -ASM_PFX(_TEXT_REALMODE): -#-------------------------------------------------------------------------= --- -# -# Procedure: _ModuleEntryPoint -# -# Input: None -# -# Output: None -# -# Destroys: Assume all registers -# -# Description: -# -# Transition to non-paged flat-model protected mode from a -# hard-coded GDT that provides exactly two descriptors. -# This is a bare bones transition to protected mode only -# used for a while in PEI and possibly DXE. -# -# After enabling protected mode, a far jump is executed to -# transfer to PEI using the newly loaded GDT. -# -# Return: None -# -# MMX Usage: -# MM0 =3D BIST State -# MM5 =3D Save time-stamp counter value high32bit -# MM6 =3D Save time-stamp counter value low32bit. -# -#-------------------------------------------------------------------------= --- - -ASM_GLOBAL ASM_PFX(_ModuleEntryPoint) -ASM_PFX(_ModuleEntryPoint): - fninit # clear any pending Floating point= exceptions - # - # Store the BIST value in mm0 - # - movd %eax, %mm0 - cli - - # - # Check INIT# is asserted by port 0xCF9 - # - mov $0x0CF9, %dx - in %dx, %al - cmp $0x04, %al - jnz NotWarmStart - - # - # @note Issue warm reset, since if CPU only reset is issued not all MSRs= are restored to their defaults - # - movw $0x0CF9, %dx - movb $0x06, %al - out %al, %dx - - # - # Save time-stamp counter value - # rdtsc load 64bit time-stamp counter to EDX:EAX - # - rdtsc - movd %edx, %mm5 - movd %ecx, %mm6 - - # - # Load the GDT table in GdtDesc - # - movl $GdtDesc, %esi - .byte 0x66 - lgdt %cs:(%si) - - # - # Transition to 16 bit protected mode - # - movl %cr0, %eax # Get control register 0 - orl $0x00000003, %eax # Set PE bit (bit #0) & MP bit (bit #= 1) - movl %eax, %cr0 # Activate protected mode - - movl %cr4, %eax # Get control register 4 - orl $0x00000600, %eax # Set OSFXSR bit (bit #9) & OSXMMEXCP= T bit (bit #10) - movl %eax, %cr4 - - # - # Now we're in 16 bit protected mode - # Set up the selectors for 32 bit protected mode entry - # - mov $SYS_DATA_SEL, %ax - mov %ax, %ds - mov %ax, %es - mov %ax, %fs - mov %ax, %gs - mov %ax, %ss - - # - # Transition to Flat 32 bit protected mode - # The jump to a far pointer causes the transition to 32 bit mode - # - movl $ProtectedModeEntryLinearAddress, %esi - jmp *%cs:(%si) - -ASM_GLOBAL ASM_PFX(_TEXT_PROTECTED_MODE) -ASM_PFX(_TEXT_PROTECTED_MODE): - -#-------------------------------------------------------------------------= --- -# -# Procedure: ProtectedModeEntryPoint -# -# Input: None -# -# Output: None -# -# Destroys: Assume all registers -# -# Description: -# -# This function handles: -# Call two basic APIs from FSP binary -# Initializes stack with some early data (BIST, PEI entry, etc) -# -# Return: None -# -#-------------------------------------------------------------------------= --- - -ASM_GLOBAL ASM_PFX(ProtectedModeEntryPoint) -ASM_PFX(ProtectedModeEntryPoint): - - # Find the fsp info header - movl PcdGet32(PcdFsptBaseAddress), %edi - - movl FVH_SIGINATURE_OFFSET(%edi), %eax - cmp $FVH_SIGINATURE_VALID_VALUE, %eax - jnz FspHeaderNotFound - - xorl %eax, %eax - movw FVH_EXTHEADER_OFFSET_OFFSET(%edi), %ax - cmp $0x00, %ax - jnz FspFvExtHeaderExist - - xorl %eax, %eax - movw FVH_HEADER_LENGTH_OFFSET(%edi), %ax # Bypass Fv Header - addl %eax, %edi - jmp FspCheckFfsHeader - -FspFvExtHeaderExist: - addl %eax, %edi - movl FVH_EXTHEADER_SIZE_OFFSET(%edi), %eax # Bypass Ext Fv Header - addl %eax, %edi - - # Round up to 8 byte alignment - movl %edi, %eax - andb $0x07, %al - jz FspCheckFfsHeader - - and $0xFFFFFFF8, %edi - add $0x08, %edi - -FspCheckFfsHeader: - # Check the ffs guid - movl (%edi), %eax - cmp $FSP_HEADER_GUID_DWORD1, %eax - jnz FspHeaderNotFound - - movl 0x4(%edi), %eax - cmp $FSP_HEADER_GUID_DWORD2, %eax - jnz FspHeaderNotFound - - movl 0x08(%edi), %eax - cmp $FSP_HEADER_GUID_DWORD3, %eax - jnz FspHeaderNotFound - - movl 0x0c(%edi), %eax - cmp $FSP_HEADER_GUID_DWORD4, %eax - jnz FspHeaderNotFound - - add $FFS_HEADER_SIZE_VALUE, %edi # Bypass the ffs header - - # Check the section type as raw section - movb SECTION_HEADER_TYPE_OFFSET(%edi), %al - cmp $0x19, %al - jnz FspHeaderNotFound - - addl $RAW_SECTION_HEADER_SIZE_VALUE, %edi # Bypass the section header - jmp FspHeaderFound - -FspHeaderNotFound: - jmp . - -FspHeaderFound: - # Get the fsp TempRamInit Api address - movl FSP_HEADER_IMAGEBASE_OFFSET(%edi), %eax - addl FSP_HEADER_TEMPRAMINIT_OFFSET(%edi), %eax - - # Setup the hardcode stack - movl $TempRamInitStack, %esp - - # Call the fsp TempRamInit Api - jmp *%eax - -TempRamInitDone: - cmp $0x8000000E, %eax #Check if EFI_NOT_FOUND returned. Error code fo= r Microcode Update not found. - je CallSecFspInit #If microcode not found, don't hang, but contin= ue. - - cmp $0x0, %eax - jnz FspApiFailed - - # ECX: start of range - # EDX: end of range -CallSecFspInit: - subl PcdGet32 (PcdFspTemporaryRamSize), %edx # TemporaryRam for FSP - xorl %eax, %eax - movl %edx, %esp - - # Align the stack at DWORD - addl $3, %esp - andl $0xFFFFFFFC, %esp - - pushl %edx - pushl %ecx - pushl %eax # zero - no hob list yet - call ASM_PFX(CallPeiCoreEntryPoint) - -FspApiFailed: - jmp . - -.align 0x10 -TempRamInitStack: - .long TempRamInitDone - .long FsptUpdDataPtr - -# -# ROM-based Global-Descriptor Table for the Tiano PEI Phase -# -.align 0x10 - -# -# GDT[0]: 0x00: Null entry, never used. -# -.equ NULL_SEL, . - GdtBase # Selector [0] -GdtBase: -BootGdtTable:=20 - .long 0 - .long 0 - -# -# Linear data segment descriptor -# -.equ LINEAR_SEL, . - GdtBase # Selector [0x8] - .word 0xFFFF # limit 0xFFFFF - .word 0 # base 0 - .byte 0 - .byte 0x92 # present, ring 0, data, expand= -up, writable - .byte 0xCF # page-granular, 32-bit - .byte 0 - -# -# Linear code segment descriptor -# -.equ LINEAR_CODE_SEL, . - GdtBase # Selector [0x10] - .word 0xFFFF # limit 0xFFFFF - .word 0 # base 0 - .byte 0 - .byte 0x9B # present, ring 0, data, expand= -up, not-writable - .byte 0xCF # page-granular, 32-bit - .byte 0 -# -# System data segment descriptor -# -.equ SYS_DATA_SEL, . - GdtBase # Selector [0x18] - .word 0xFFFF # limit 0xFFFFF - .word 0 # base 0 - .byte 0 - .byte 0x93 # present, ring 0, data, expand= -up, not-writable - .byte 0xCF # page-granular, 32-bit - .byte 0 - -# -# System code segment descriptor -# -.equ SYS_CODE_SEL, . - GdtBase # Selector [0x20] - .word 0xFFFF # limit 0xFFFFF - .word 0 # base 0 - .byte 0 - .byte 0x9A # present, ring 0, data, expand= -up, writable - .byte 0xCF # page-granular, 32-bit - .byte 0 -# -# Spare segment descriptor -# -.equ SYS16_CODE_SEL, . - GdtBase # Selector [0x28] - .word 0xFFFF # limit 0xFFFFF - .word 0 # base 0 - .byte 0x0E # Changed from F000 to E000. - .byte 0x9B # present, ring 0, code, expand= -up, writable - .byte 0x00 # byte-granular, 16-bit - .byte 0 -# -# Spare segment descriptor -# -.equ SYS16_DATA_SEL, . - GdtBase # Selector [0x30] - .word 0xFFFF # limit 0xFFFF - .word 0 # base 0 - .byte 0 - .byte 0x93 # present, ring 0, data, expand= -up, not-writable - .byte 0x00 # byte-granular, 16-bit - .byte 0 - -# -# Spare segment descriptor -# -.equ SPARE5_SEL, . - GdtBase # Selector [0x38] - .word 0 # limit 0 - .word 0 # base 0 - .byte 0 - .byte 0 # present, ring 0, data, expand= -up, writable - .byte 0 # page-granular, 32-bit - .byte 0 -.equ GDT_SIZE, . - BootGdtTable # Size, in bytes - -# -# GDT Descriptor -# -GdtDesc: # GDT descriptor - .word GDT_SIZE - 1 # GDT limit - .long BootGdtTable # GDT base address - -ASM_PFX(ProtectedModeEntryLinearAddress): -ProtectedModeEntryLinearOffset: - .long ProtectedModeEntryPoint # Offset of our 32 bit code - .word LINEAR_CODE_SEL diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapper= PlatformSecLib/Ia32/SecEntry.asm b/Platform/Intel/MinPlatformPkg/FspWrapper= /Library/SecFspWrapperPlatformSecLib/Ia32/SecEntry.nasm similarity index 69% rename from Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperP= latformSecLib/Ia32/SecEntry.asm rename to Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPla= tformSecLib/Ia32/SecEntry.nasm index 7b82cba..7f6d771 100644 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/SecEntry.asm +++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/SecEntry.nasm @@ -1,34 +1,28 @@ -;; @file -; This is the code that goes from real-mode to protected mode. -; It consumes the reset vector, calls TempRamInit API from FSP binary. +;-------------------------------------------------------------------------= ----- ; -; Copyright (c) 2017, Intel Corporation. All rights reserved.
-; This program and the accompanying materials are licensed and made availa= ble under -; the terms and conditions of the BSD License that accompanies this distri= bution. -; The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php. +; Copyright (c) 2019, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +; Module Name: ; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. +; SecEntry.nasm ; -;; +; Abstract: +; +; This is the code that goes from real-mode to protected mode. +; It consumes the reset vector, calls TempRamInit API from FSP binary. +; +;-------------------------------------------------------------------------= ----- =20 #include "Fsp.h" =20 -.686p -.xmm -.model small, c - -EXTRN CallPeiCoreEntryPoint:NEAR -EXTRN BoardBeforeTempRamInit:NEAR -EXTRN FsptUpdDataPtr:FAR +SECTION .text =20 +extern ASM_PFX(CallPeiCoreEntryPoint) +extern ASM_PFX(FsptUpdDataPtr) +extern ASM_PFX(BoardBeforeTempRamInit) ; Pcds -EXTRN PcdGet32 (PcdFsptBaseAddress):DWORD -EXTRN PcdGet32(PcdFspTemporaryRamSize):DWORD - -_TEXT_REALMODE SEGMENT PARA PUBLIC USE16 'CODE' - ASSUME CS:_TEXT_REALMODE, DS:_TEXT_REALMODE +extern ASM_PFX(PcdGet32 (PcdFspTemporaryRamSize)) +extern ASM_PFX(PcdGet32 (PcdFsptBaseAddress)) =20 ;-------------------------------------------------------------------------= --- ; @@ -59,8 +53,10 @@ _TEXT_REALMODE SEGMENT PARA PUBLIC USE16 'CODE' ; ;-------------------------------------------------------------------------= --- =20 +BITS 16 align 4 -_ModuleEntryPoint PROC NEAR C PUBLIC +global ASM_PFX(_ModuleEntryPoint) +ASM_PFX(_ModuleEntryPoint): fninit ; clear any pending Floating point= exceptions ; ; Store the BIST value in mm0 @@ -76,6 +72,7 @@ _ModuleEntryPoint PROC NEAR C PUBLIC cmp al, 04h jnz NotWarmStart =20 + ; ; @note Issue warm reset, since if CPU only reset is issued not all MSRs= are restored to their defaults ; @@ -84,7 +81,6 @@ _ModuleEntryPoint PROC NEAR C PUBLIC out dx, al =20 NotWarmStart: - ; ; Save time-stamp counter value ; rdtsc load 64bit time-stamp counter to EDX:EAX @@ -96,9 +92,9 @@ NotWarmStart: ; ; Load the GDT table in GdtDesc ; - mov esi, OFFSET GdtDesc + mov esi, GdtDesc DB 66h - lgdt fword ptr cs:[si] + lgdt [cs:si] =20 ; ; Transition to 16 bit protected mode @@ -126,14 +122,8 @@ NotWarmStart: ; Transition to Flat 32 bit protected mode ; The jump to a far pointer causes the transition to 32 bit mode ; - mov esi, offset ProtectedModeEntryLinearAddress - jmp fword ptr cs:[si] - -_ModuleEntryPoint ENDP -_TEXT_REALMODE ENDS - -_TEXT_PROTECTED_MODE SEGMENT PARA PUBLIC USE32 'CODE' - ASSUME CS:_TEXT_PROTECTED_MODE, DS:_TEXT_PROTEC= TED_MODE + mov esi, ProtectedModeEntryLinearAddress + jmp dword far [cs:si] =20 ;-------------------------------------------------------------------------= --- ; @@ -155,69 +145,69 @@ _TEXT_PROTECTED_MODE SEGMENT PARA PUBLIC USE32 '= CODE' ; ;-------------------------------------------------------------------------= --- =20 +BITS 32 align 4 -ProtectedModeEntryPoint PROC NEAR PUBLIC - - ; - ; Early board hooks - ; - mov esp, BoardBeforeTempRamInitRet - jmp BoardBeforeTempRamInit +ProtectedModeEntryPoint: + ; + ; Early board hooks + ; + mov esp, BoardBeforeTempRamInitRet + jmp ASM_PFX(BoardBeforeTempRamInit) =20 BoardBeforeTempRamInitRet: =20 ; Find the fsp info header - mov edi, PcdGet32 (PcdFsptBaseAddress) + mov edi, [ASM_PFX(PcdGet32 (PcdFsptBaseAddress))] =20 - mov eax, dword ptr [edi + FVH_SIGINATURE_OFFSET] + mov eax, dword [edi + FVH_SIGINATURE_OFFSET] cmp eax, FVH_SIGINATURE_VALID_VALUE jnz FspHeaderNotFound =20 xor eax, eax - mov ax, word ptr [edi + FVH_EXTHEADER_OFFSET_OFFSET] + mov ax, word [edi + FVH_EXTHEADER_OFFSET_OFFSET] cmp ax, 0 jnz FspFvExtHeaderExist =20 xor eax, eax - mov ax, word ptr [edi + FVH_HEADER_LENGTH_OFFSET] ; Bypass Fv Header + mov ax, word [edi + FVH_HEADER_LENGTH_OFFSET] ; Bypass Fv Header add edi, eax jmp FspCheckFfsHeader =20 FspFvExtHeaderExist: add edi, eax - mov eax, dword ptr [edi + FVH_EXTHEADER_SIZE_OFFSET] ; Bypass Ext Fv H= eader + mov eax, dword [edi + FVH_EXTHEADER_SIZE_OFFSET] ; Bypass Ext Fv Header add edi, eax =20 ; Round up to 8 byte alignment mov eax, edi and al, 07h - jz FspCheckFfsHeader + jz FspCheckFfsHeader =20 and edi, 0FFFFFFF8h add edi, 08h =20 FspCheckFfsHeader: ; Check the ffs guid - mov eax, dword ptr [edi] + mov eax, dword [edi] cmp eax, FSP_HEADER_GUID_DWORD1 - jnz FspHeaderNotFound + jnz FspHeaderNotFound =20 - mov eax, dword ptr [edi + 4] + mov eax, dword [edi + 4] cmp eax, FSP_HEADER_GUID_DWORD2 - jnz FspHeaderNotFound + jnz FspHeaderNotFound =20 - mov eax, dword ptr [edi + 8] + mov eax, dword [edi + 8] cmp eax, FSP_HEADER_GUID_DWORD3 - jnz FspHeaderNotFound + jnz FspHeaderNotFound =20 - mov eax, dword ptr [edi + 0Ch] + mov eax, dword [edi + 0Ch] cmp eax, FSP_HEADER_GUID_DWORD4 - jnz FspHeaderNotFound + jnz FspHeaderNotFound =20 add edi, FFS_HEADER_SIZE_VALUE ; Bypass the ffs header =20 ; Check the section type as raw section - mov al, byte ptr [edi + SECTION_HEADER_TYPE_OFFSET] + mov al, byte [edi + SECTION_HEADER_TYPE_OFFSET] cmp al, 019h jnz FspHeaderNotFound =20 @@ -229,11 +219,11 @@ FspHeaderNotFound: =20 FspHeaderFound: ; Get the fsp TempRamInit Api address - mov eax, dword ptr [edi + FSP_HEADER_IMAGEBASE_OFFSET] - add eax, dword ptr [edi + FSP_HEADER_TEMPRAMINIT_OFFSET] + mov eax, dword [edi + FSP_HEADER_IMAGEBASE_OFFSET] + add eax, dword [edi + FSP_HEADER_TEMPRAMINIT_OFFSET] =20 ; Setup the hardcode stack - mov esp, OFFSET TempRamInitStack + mov esp, TempRamInitStack =20 ; Call the fsp TempRamInit Api jmp eax @@ -248,7 +238,7 @@ TempRamInitDone: ; ECX: start of range ; EDX: end of range CallSecFspInit: - sub edx, PcdGet32 (PcdFspTemporaryRamSize) ; TemporaryRam for FSP + sub edx, [ASM_PFX(PcdGet32 (PcdFspTemporaryRamSize))] ; TemporaryRam= for FSP xor eax, eax mov esp, edx =20 @@ -259,30 +249,29 @@ CallSecFspInit: push edx push ecx push eax ; zero - no hob list yet - call CallPeiCoreEntryPoint + call ASM_PFX(CallPeiCoreEntryPoint) =20 FspApiFailed: jmp $ =20 align 10h TempRamInitStack: - DD OFFSET TempRamInitDone - DD OFFSET FsptUpdDataPtr ; TempRamInitParams - -ProtectedModeEntryPoint ENDP + DD TempRamInitDone + DD ASM_PFX(FsptUpdDataPtr); TempRamInitParams =20 ; ; ROM-based Global-Descriptor Table for the Tiano PEI Phase ; align 16 -PUBLIC BootGdtTable +global ASM_PFX(BootGdtTable) =20 ; ; GDT[0]: 0x00: Null entry, never used. ; NULL_SEL EQU $ - GDT_BASE ; Selector [0] GDT_BASE: -BootGdtTable DD 0 +ASM_PFX(BootGdtTable): + DD 0 DD 0 ; ; Linear data segment descriptor @@ -356,20 +345,17 @@ SPARE5_SEL EQU $ - GDT_BASE ; Selector [0= x38] DB 0 ; present, ring 0, data, expand-up= , writable DB 0 ; page-granular, 32-bit DB 0 -GDT_SIZE EQU $ - BootGdtTable ; Size, in bytes +GDT_SIZE EQU $ - GDT_BASE ; Size, in bytes =20 ; ; GDT Descriptor ; GdtDesc: ; GDT descriptor DW GDT_SIZE - 1 ; GDT limit - DD OFFSET BootGdtTable ; GDT base address + DD GDT_BASE ; GDT base address =20 =20 -ProtectedModeEntryLinearAddress LABEL FWORD -ProtectedModeEntryLinearOffset LABEL DWORD - DD OFFSET ProtectedModeEntryPoint ; Offset of our 32 bit code +ProtectedModeEntryLinearAddress: +ProtectedModeEntryLinear: + DD ProtectedModeEntryPoint ; Offset of our 32 bit code DW LINEAR_CODE_SEL - -_TEXT_PROTECTED_MODE ENDS -END diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapper= PlatformSecLib/Ia32/Stack.S b/Platform/Intel/MinPlatformPkg/FspWrapper/Libr= ary/SecFspWrapperPlatformSecLib/Ia32/Stack.S deleted file mode 100644 index e0eb80a..0000000 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/Stack.S +++ /dev/null @@ -1,73 +0,0 @@ -## @file -# Switch the stack from temporary memory to permenent memory. -# -# Copyright (c) 2017, Intel Corporation. All rights reserved.
-# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License that accompanies this distri= bution. -# 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 IMP= LIED. -# -## - -#-------------------------------------------------------------------------= ----- -# VOID -# EFIAPI -# SecSwitchStack ( -# UINT32 TemporaryMemoryBase, -# UINT32 PermanentMemoryBase -# ) -#-------------------------------------------------------------------------= ----- -ASM_GLOBAL ASM_PFX (SecSwitchStack) -ASM_PFX(SecSwitchStack): - # - # Save standard registers so they can be used to change stack - # - pushl %eax - pushl %ebx - pushl %ecx - pushl %edx - - # - # !!CAUTION!! this function address's is pushed into stack after - # migration of whole temporary memory, so need save it to permanent - # memory at first! - # - movl 20(%esp), %ebx # Save the first parameter - movl 24(%esp), %ecx # Save the second parameter - - # - # Save this function's return address into permanent memory at first. - # Then, Fixup the esp point to permanent memory - # - movl %esp, %eax - subl %ebx, %eax - addl %ecx, %eax - movl 0(%esp), %edx # copy pushed register's value to permane= nt memory - movl %edx, 0(%eax) - movl 4(%esp), %edx - movl %edx, 4(%eax) - movl 8(%esp), %edx - movl %edx, 8(%eax) - movl 12(%esp), %edx - movl %edx, 12(%eax) - movl 16(%esp), %edx # Update this function's return address in= to permanent memory - movl %edx, 16(%eax) - movl %eax, %esp # From now, esp is pointed to permanent me= mory - - # - # Fixup the ebp point to permanent memory - # - movl %ebp, %eax - subl %ebx, %eax - addl %ecx, %eax - movl %eax, %ebp # From now, ebp is pointed to permanent me= mory - - popl %edx - popl %ecx - popl %ebx - popl %eax - ret - diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapper= PlatformSecLib/Ia32/Stack.asm b/Platform/Intel/MinPlatformPkg/FspWrapper/Li= brary/SecFspWrapperPlatformSecLib/Ia32/Stack.nasm similarity index 50% rename from Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperP= latformSecLib/Ia32/Stack.asm rename to Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPla= tformSecLib/Ia32/Stack.nasm index 27ae218..635699c 100644 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/Stack.asm +++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/Ia32/Stack.nasm @@ -1,20 +1,14 @@ -;; @file -; Switch the stack from temporary memory to permenent memory. +;-------------------------------------------------------------------------= ----- ; -; Copyright (c) 2017, Intel Corporation. All rights reserved.
-; This program and the accompanying materials are licensed and made availa= ble under -; the terms and conditions of the BSD License that accompanies this distri= bution. -; The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php. +; Copyright (c) 2019, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +; Abstract: ; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. +; Switch the stack from temporary memory to permenent memory. ; -;; +;-------------------------------------------------------------------------= ----- =20 - .586p - .model flat,C - .code + SECTION .text =20 ;-------------------------------------------------------------------------= ----- ; VOID @@ -24,7 +18,8 @@ ; UINT32 PermanentMemoryBase ; ); ;-------------------------------------------------------------------------= ----- -SecSwitchStack PROC +global ASM_PFX(SecSwitchStack) +ASM_PFX(SecSwitchStack): ; ; Save three register: eax, ebx, ecx ; @@ -49,16 +44,16 @@ SecSwitchStack PROC mov eax, esp sub eax, ebx add eax, ecx - mov edx, dword ptr [esp] ; copy pushed register's value to p= ermanent memory - mov dword ptr [eax], edx - mov edx, dword ptr [esp + 4] - mov dword ptr [eax + 4], edx - mov edx, dword ptr [esp + 8] - mov dword ptr [eax + 8], edx - mov edx, dword ptr [esp + 12] - mov dword ptr [eax + 12], edx - mov edx, dword ptr [esp + 16] ; Update this function's return add= ress into permanent memory - mov dword ptr [eax + 16], edx + mov edx, dword [esp] ; copy pushed register's value to perma= nent memory + mov dword [eax], edx + mov edx, dword [esp + 4] + mov dword [eax + 4], edx + mov edx, dword [esp + 8] + mov dword [eax + 8], edx + mov edx, dword [esp + 12] + mov dword [eax + 12], edx + mov edx, dword [esp + 16] ; Update this function's return address= into permanent memory + mov dword [eax + 16], edx mov esp, eax ; From now, esp is pointed to perma= nent memory =20 ; @@ -74,6 +69,4 @@ SecSwitchStack PROC pop ebx pop eax ret -SecSwitchStack ENDP =20 - END diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapper= PlatformSecLib/SecFspWrapperPlatformSecLib.inf b/Platform/Intel/MinPlatform= Pkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecFspWrapperPlatformSec= Lib.inf index 9c13357..5309d97 100644 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/SecFspWrapperPlatformSecLib.inf +++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatfor= mSecLib/SecFspWrapperPlatformSecLib.inf @@ -1,15 +1,10 @@ ## @file # Provide FSP wrapper platform sec related function. # -# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
# -# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License which accompanies this distr= ibution. -# The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php +# SPDX-License-Identifier: BSD-2-Clause-Patent # -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. # ## =20 @@ -48,13 +43,10 @@ PlatformInit.c =20 [Sources.IA32] - Ia32/SecEntry.asm - Ia32/PeiCoreEntry.asm - Ia32/Stack.asm + Ia32/SecEntry.nasm + Ia32/PeiCoreEntry.nasm + Ia32/Stack.nasm Ia32/Fsp.h - Ia32/SecEntry.S - Ia32/PeiCoreEntry.S - Ia32/Stack.S =20 ##########################################################################= ###### # diff --git a/Platform/Intel/MinPlatformPkg/Include/Fdf/RuleInclude.fdf b/Pl= atform/Intel/MinPlatformPkg/Include/Fdf/RuleInclude.fdf index 1b20442..90a4b27 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Fdf/RuleInclude.fdf +++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/RuleInclude.fdf @@ -1,15 +1,9 @@ ## @file # FDF file of Platform. # -# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
# -# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License which accompanies this distr= ibution. -# 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 IMP= LIED. +# SPDX-License-Identifier: BSD-2-Clause-Patent # ## =20 @@ -51,6 +45,15 @@ VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMB= ER) } =20 + +[Rule.Common.PEIM] + FILE PEIM =3D $(NAMED_GUID) { + PEI_DEPEX PEI_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex + TE TE $(INF_OUTPUT)/$(MODULE_NAME).efi + UI STRING=3D"$(MODULE_NAME)" Optional + VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMB= ER) +} + [Rule.Common.PEIM.BINARY] FILE PEIM =3D $(NAMED_GUID) { PEI_DEPEX PEI_DEPEX Optional |.depex diff --git a/Platform/Intel/MinPlatformPkg/Tools/Fsp/RebaseAndPatchFspBinBa= seAddress.py b/Platform/Intel/MinPlatformPkg/Tools/Fsp/RebaseAndPatchFspBin= BaseAddress.py index 496b977..167a0e0 100644 --- a/Platform/Intel/MinPlatformPkg/Tools/Fsp/RebaseAndPatchFspBinBaseAddre= ss.py +++ b/Platform/Intel/MinPlatformPkg/Tools/Fsp/RebaseAndPatchFspBinBaseAddre= ss.py @@ -76,7 +76,7 @@ file.close() pythontool =3D 'python' if 'PYTHON_HOME' in os.environ: pythontool =3D os.environ['PYTHON_HOME'] + os.sep + 'python' -Process =3D subprocess.Popen(pythontool + " " + splitFspBinPath + " info -= f" + fspBinFilePath, stdout=3Dsubprocess.PIPE) +Process =3D subprocess.Popen([pythontool, splitFspBinPath, "info","-f",fsp= BinFilePath], stdout=3Dsubprocess.PIPE) Output =3D Process.communicate()[0] FsptInfo =3D Output.rsplit("FSP_M", 1); for line in FsptInfo[1].split("\n"): diff --git a/Platform/Intel/MinPlatformPkg/Tools/PatchFv/PatchBinFv.py b/Pl= atform/Intel/MinPlatformPkg/Tools/PatchFv/PatchBinFv.py index e1facd1..b98c951 100644 --- a/Platform/Intel/MinPlatformPkg/Tools/PatchFv/PatchBinFv.py +++ b/Platform/Intel/MinPlatformPkg/Tools/PatchFv/PatchBinFv.py @@ -1,13 +1,7 @@ ## @ PatchBinFv.py # -# Copyright (c) 2017, Intel Corporation. All rights reserved.
-# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License that accompanies this distri= bution. -# 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 IMP= LIED. +# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent # ## =20 @@ -113,7 +107,7 @@ class FileChecker: return =20 def ProcessFvInf(self, fvName): - sourceFileName =3D os.path.join(self.sourceRoot,fvName+"\\"+self.t= arget+"\\"+fvName+".inf") + sourceFileName =3D os.path.join(self.sourceRoot,fvName,self.target= ,fvName+".inf") print "\nprocessing - " + sourceFileName fileGuid =3D self.GetInfFileGuid (sourceFileName) print "FV NAME GUID - " + fileGuid @@ -143,7 +137,7 @@ class FileChecker: self.PrintPcdList(self.InfPcdList) =20 def PatchFv(self, fvName): - sourceFileName =3D os.path.join(self.sourceRoot,fvName+"\\"+self.t= arget+"\\"+fvName+".fv") + sourceFileName =3D os.path.join(self.sourceRoot,fvName,self.target= ,fvName+".Fv") print "patching - " + sourceFileName =20 try : @@ -167,7 +161,7 @@ class FileChecker: print " [" + hex(offset) + "] " + binascii.hexlify(da= ta[offset:offset+2]) + " <=3D " + binascii.hexlify(h) data[offset:offset+2] =3D h elif (cmp (pcd[4], "UINT32") =3D=3D 0): - l =3D struct.pack("L", int(pcd[3],16)) + l =3D struct.pack("I", int(pcd[3],16)) print " [" + hex(offset) + "] " + binascii.hexlify(da= ta[offset:offset+4]) + " <=3D " + binascii.hexlify(l) data[offset:offset+4] =3D l elif (cmp (pcd[4], "UINT64") =3D=3D 0): diff --git a/Platform/Intel/MinPlatformPkg/Tools/PatchFv/RebaseBinFv.py b/P= latform/Intel/MinPlatformPkg/Tools/PatchFv/RebaseBinFv.py index 4d194b3..149630e 100644 --- a/Platform/Intel/MinPlatformPkg/Tools/PatchFv/RebaseBinFv.py +++ b/Platform/Intel/MinPlatformPkg/Tools/PatchFv/RebaseBinFv.py @@ -1,15 +1,8 @@ ## @ PatchBinFv.py # -# Copyright (c) 2017, Intel Corporation. All rights reserved.
-# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License that accompanies this distri= bution. -# The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php. +# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent # -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. -# -## =20 import os import re @@ -547,7 +540,7 @@ class FileChecker: print "PCD: " + pcd[0] + "|" + pcd[3] + " <=3D=3D " + pcd[1] + "("= + pcd[2] + ")" =20 def RebaseFv(self, fvName, rebasePcd): - sourceFileName =3D os.path.join(self.sourceRoot,fvName+"\\"+self.t= arget+"\\"+fvName+".fv") + sourceFileName =3D os.path.join(self.sourceRoot,fvName,self.target= ,fvName+".Fv") print "rebasing(FV) - " + sourceFileName =20 try : @@ -623,7 +616,7 @@ class FileChecker: if not line: break =20 - newline =3D line[:-1] + newline =3D line[:-1].replace('\r','') =20 if (cmp (newline, TargetPkg) =3D=3D 0): FoundPkg =3D True @@ -651,7 +644,7 @@ class FileChecker: def GetOldFvBase (self, fvName, PcdName): ParseBase =3D False Value =3D "" - fileName =3D os.path.join(self.sourceRoot,fvName+"\\"+self.target+= "\\"+fvName+".inf") + fileName =3D os.path.join(self.sourceRoot,fvName,self.target,fvNam= e+".inf") try : file =3D open(fileName) except Exception: @@ -663,7 +656,7 @@ class FileChecker: if not line: break =20 - newline =3D line[:-1] + newline =3D line[:-1].replace('\r','') =20 if cmp (newline, "") =3D=3D 0: continue @@ -687,7 +680,7 @@ class FileChecker: return Value =20 def SetNewFvBase (self, fvName, PcdName, OldFvBase, NewFvBase): - fileName =3D os.path.join(self.sourceRoot,fvName+"\\"+self.target+= "\\"+fvName+".inf") + fileName =3D os.path.join(self.sourceRoot,fvName,self.target,fvNam= e+".inf") print "update - " + fileName try : file =3D open(fileName, "r") @@ -704,7 +697,7 @@ class FileChecker: if not line: break =20 - newline =3D line[:-1] + newline =3D line[:-1].strip() =20 if cmp (newline, "") =3D=3D 0: continue diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index a4ea093..c0ab7c6 100644 --- a/Platform/Intel/build_bios.py +++ b/Platform/Intel/build_bios.py @@ -139,9 +139,14 @@ def pre_build(build_config, build_type=3D"DEBUG", sile= nt=3DFalse, toolchain=3DNone): if os.environ.get("PYTHONPATH") is not None: config["PYTHON_HOME"] =3D os.environ.get("PYTHONPATH") else: - print("PYTHONPATH environment variable is not found") + print("PYTHON_HOME environment variable is not found") sys.exit(1) =20 + if os.environ.get("PYTHON_HOME") is None or \ + not os.path.exists(os.environ.get("PYTHON_HOME")): + print("PYTHON_HOME environment variable is not found") + sys.exit(1) + # if python is installed, disable the binary base tools. # python is installed if this code is running :) if config.get("PYTHON_HOME") is not None: @@ -151,18 +156,18 @@ def pre_build(build_config, build_type=3D"DEBUG", sil= ent=3DFalse, toolchain=3DNone): # Run edk setup and update config if os.name =3D=3D 'nt': edk2_setup_cmd =3D [os.path.join(config["EFI_SOURCE"], "edksetup"), - "Rebuild"] + "Rebuild"] =20 if config.get("EDK_SETUP_OPTION") and \ - config["EDK_SETUP_OPTION"] !=3D " ": + config["EDK_SETUP_OPTION"] !=3D " ": edk2_setup_cmd.append(config["EDK_SETUP_OPTION"]) =20 _, _, result, return_code =3D execute_script(edk2_setup_cmd, - config, - collect_env=3DTrue, - shell=3DTrue) + config, + collect_env=3DTrue, + shell=3DTrue) if return_code =3D=3D 0 and result is not None and isinstance(resu= lt, - dict): + dict): config.update(result) =20 # nmake BaseTools source @@ -355,7 +360,11 @@ def build(config): command.append("-D") command.append("MAX_SOCKET=3D" + config["MAX_SOCKET"]) =20 - _, _, _, exit_code =3D execute_script(command, config) + shell =3D True + if os.name =3D=3D "posix": + shell =3D False + + _, _, _, exit_code =3D execute_script(command, config, shell=3Dshell) if exit_code !=3D 0: build_failed(config) =20 --=20 2.7.4 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40704): https://edk2.groups.io/g/devel/message/40704 Mute This Topic: https://groups.io/mt/31632303/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 06:54:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40705+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40705+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1557941752; cv=none; d=zoho.com; s=zohoarc; b=d8m3L4fpUpFNC52Unr9+KX+OdhBjAj9RnjgAjlUnriJrw+xn+sNYKgSIR903bAeUohYFTXLgbfZN10FjMRnLUy9yXoA/fuepSi3DLB6KxUi3U8s0uYh8nGwNUT0+nfxEvatVZZPdhbZ0A6zTXV44QlagfVW1WHtA7shqo34IHvA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557941752; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=KC3sr9tlpIw4vM089uwOANnPRuUzxU+qVtdCCBsLTTs=; b=dbU/H7K8rPq6Rnhq6SZrQtRN7Qau4dzQMJ6FazroA4en4HWlbbLCMC5voyUXetM0P/xget/TrF8vSc2aXs2FV2kcpMYGvHfskFHyuchPcz5KN7sgVfOSi3c44ddicIMBmAuXE4Ndb7l3Q1/B6CrHMRtQJv6frmOiuARRiTYlFVU= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40705+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1557941752211773.4326862128772; Wed, 15 May 2019 10:35:52 -0700 (PDT) Return-Path: X-Received: from mga05.intel.com (mga05.intel.com []) by groups.io with SMTP; Wed, 15 May 2019 10:35:50 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 May 2019 10:35:50 -0700 X-ExtLoop1: 1 X-Received: from paagyema-desk2.amr.corp.intel.com ([10.7.159.148]) by orsmga006.jf.intel.com with ESMTP; 15 May 2019 10:35:49 -0700 From: "Agyeman, Prince" To: devel@edk2.groups.io Cc: Prince Agyeman , Michael Kubacki , Michael D Kinney , Nate DeSimone , Liming Gao , Ankit Sinha Subject: [edk2-devel] [edk2-platforms] [PATCH 2/5] KabylakeSiliconPkg: Casting functions to EFIAPI Date: Wed, 15 May 2019 10:35:46 -0700 Message-Id: <08db7c1beb0a707429a9c4c9aed8f5489663c08a.1557779977.git.prince.agyeman@intel.com> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,prince.agyeman@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1557941751; bh=hJXGbqjnzQHFv8HzS0BfvyYP8tn/izTYQ0yUTwxeaaU=; h=Cc:Date:From:Reply-To:Subject:To; b=s0cTD5QOcE1fu8RmVLJPs8qx2RvGHugmWH9xX7HPDjGNwJNxtNq1IKhJoRFvywhiz4O oZA5XZeYr59aEX7KH2Y0j8saqpIP7IGczaghA7c+dFHFF+8k+aCiVEf22jR7U5+93oz0Q CxQLxebDSquntXVJkp3VKhpqWX//XkTrDng= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: Prince Agyeman This fixes the calling convension issues in gcc Gcc build was tested on Ubuntu 16.04.5 LTS with gcc version 5.4.0, nasm version 2.11.08 Cc: Michael Kubacki Cc: Michael D Kinney Cc: Nate DeSimone Cc: Liming Gao Cc: Ankit Sinha Signed-off-by: Prince Agyeman Reviewed-by: Chasel Chiu Reviewed-by: Nate DeSimone --- .../Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h | 11 +++-----= --- .../Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c | 11 +++-----= --- .../KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h | 12 ++++----= ---- .../KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c | 12 ++++----= ---- 4 files changed, 14 insertions(+), 32 deletions(-) diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h = b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h index 58ef567..666340e 100644 --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchInitSmm.h @@ -1,14 +1,8 @@ /** @file Header file for PCH Init SMM Handler =20 -Copyright (c) 2017, Intel Corporation. All rights reserved.
-This program and the accompanying materials are licensed and made availabl= e under -the terms and conditions of the BSD License that accompanies this distribu= tion. -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 IMPLI= ED. +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ =20 @@ -211,6 +205,7 @@ PchPcieLinkEqHandlerFunction ( =20 **/ VOID +EFIAPI PchPcieIoTrapSmiCallback ( IN EFI_HANDLE DispatchHandle, IN EFI_SMM_IO_TRAP_CONTEXT *CallbackContext, diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c = b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c index b4234f6..847fbfb 100644 --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchInit/Smm/PchPcieSmm.c @@ -1,14 +1,8 @@ /** @file PCH Pcie SMM Driver Entry =20 -Copyright (c) 2017, Intel Corporation. All rights reserved.
-This program and the accompanying materials are licensed and made availabl= e under -the terms and conditions of the BSD License that accompanies this distribu= tion. -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 IMPLI= ED. +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ #include "PchInitSmm.h" @@ -244,6 +238,7 @@ PchPciePmIoTrapSmiCallback ( =20 **/ VOID +EFIAPI PchPcieIoTrapSmiCallback ( IN EFI_HANDLE DispatchHandle, IN EFI_SMM_IO_TRAP_CONTEXT *CallbackContext, diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchS= mm.h b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h index 3eebdc1..a9f0664 100644 --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm.h @@ -1,14 +1,8 @@ /** @file Prototypes and defines for the PCH SMM Dispatcher. =20 -Copyright (c) 2017, Intel Corporation. All rights reserved.
-This program and the accompanying materials are licensed and made availabl= e under -the terms and conditions of the BSD License that accompanies this distribu= tion. -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 IMPLI= ED. +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ #ifndef PCH_SMM_H @@ -516,6 +510,7 @@ typedef struct { registered and the SMI source has been e= nabled. **/ EFI_STATUS +EFIAPI PchSmmCoreRegister ( IN PCH_SMM_GENERIC_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, @@ -536,6 +531,7 @@ PchSmmCoreRegister ( @retval EFI_INVALID_PARAMETER Handle is invalid. **/ EFI_STATUS +EFIAPI PchSmmCoreUnRegister ( IN PCH_SMM_GENERIC_PROTOCOL *This, IN EFI_HANDLE *DispatchHandle diff --git a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchS= mmCore.c b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmm= Core.c index 77f0561..cb3bfba 100644 --- a/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c +++ b/Silicon/Intel/KabylakeSiliconPkg/Pch/PchSmiDispatcher/Smm/PchSmmCore.c @@ -2,14 +2,8 @@ This driver is responsible for the registration of child drivers and the abstraction of the PCH SMI sources. =20 -Copyright (c) 2017, Intel Corporation. All rights reserved.
-This program and the accompanying materials are licensed and made availabl= e under -the terms and conditions of the BSD License that accompanies this distribu= tion. -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 IMPLI= ED. +Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ #include "PchSmm.h" @@ -331,6 +325,7 @@ SmiInputValueDuplicateCheck ( registered and the SMI source has been e= nabled. **/ EFI_STATUS +EFIAPI PchSmmCoreRegister ( IN PCH_SMM_GENERIC_PROTOCOL *This, IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction, @@ -602,6 +597,7 @@ Error: @retval EFI_INVALID_PARAMETER Handle is invalid. **/ EFI_STATUS +EFIAPI PchSmmCoreUnRegister ( IN PCH_SMM_GENERIC_PROTOCOL *This, IN EFI_HANDLE *DispatchHandle --=20 2.7.4 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40705): https://edk2.groups.io/g/devel/message/40705 Mute This Topic: https://groups.io/mt/31632304/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 06:54:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40706+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40706+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1557941751; cv=none; d=zoho.com; s=zohoarc; b=jDP2g4oLpO4xrELkqn8Hz3qRRvKXlVXyl0uSPt5yKMtVpq38qnVD+CsbOzJClYjA7N7YG0QFJpXNn4PcYKFZXtpXmHaYKU7F5779RjzahWysRM4E+2fCKNpfyhK4pzNU2fzJYUkIUYgXbnXLpdK6uD0N8m8h9U8P5NuXcYCiU9g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557941751; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=jaJNt5zeol9QzcsiXdckMendJCdTPiRXqnhWE6myrOk=; b=nxsUiu9ZyaOkdil1POVHV24rGgXZ5qv/pXAxHxqYqwWx3yOe/2X/lhlK+LVzAZ9HJnzaqTMI6uu1Jd92VtW65deJ8VUqo+s/+1zpLvV/oVTmiOtiPITSK8CudejzxI1DHDXeY7ZJfYLKO08jKCWZ/Jur/sAubLuvlPo2JUq+vHo= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40706+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1557941751904418.7232976427289; Wed, 15 May 2019 10:35:51 -0700 (PDT) Return-Path: X-Received: from mga05.intel.com (mga05.intel.com []) by groups.io with SMTP; Wed, 15 May 2019 10:35:51 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 May 2019 10:35:50 -0700 X-ExtLoop1: 1 X-Received: from paagyema-desk2.amr.corp.intel.com ([10.7.159.148]) by orsmga006.jf.intel.com with ESMTP; 15 May 2019 10:35:49 -0700 From: "Agyeman, Prince" To: devel@edk2.groups.io Cc: Prince Agyeman Subject: [edk2-devel] [edk2-platforms] [PATCH 3/5] KabylakeOpenBoardPkg: Added GCC5 build support Date: Wed, 15 May 2019 10:35:47 -0700 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,prince.agyeman@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1557941751; bh=e9mL9KxJ8J4BQDtImvQtjhzDt5ORW4TKMnk5QCsqHqo=; h=Cc:Date:From:Reply-To:Subject:To; b=uQO/B7938CSEo7GWbADwoQ3tXNSb7al7cthLqn8EFa/pPp8wjah2NuylVOuEFa6k80o Nx8FtglMApAIH2UV5MNlvVDVLnhzvMvpMaGuyDUWxTQrQY5e1fS2SrJ7y+0BpaW7zfpDM oTP3B3nM0LEQRNToyR5btKyJZeWuMiINvv8= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: Prince Agyeman Fixed: * Include file paths in dec * Gcc build options Gcc build was tested on Ubuntu 16.04.5 LTS with gcc version 5.4.0, nasm version 2.11.08 Signed-off-by: Prince Agyeman Reviewed-by: Chasel Chiu Reviewed-by: Michael Kubacki Reviewed-by: Nate DeSimone --- .../KabylakeRvp3/OpenBoardPkgBuildOption.dsc | 12 ++++------= -- Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec | 14 ++++------= ---- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgB= uildOption.dsc b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoard= PkgBuildOption.dsc index 318b057..19d81f7 100644 --- a/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildOpt= ion.dsc +++ b/Platform/Intel/KabylakeOpenBoardPkg/KabylakeRvp3/OpenBoardPkgBuildOpt= ion.dsc @@ -1,15 +1,9 @@ ## @file # platform build option configuration file. # -# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
# -# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License which accompanies this distr= ibution. -# 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 IMP= LIED. +# SPDX-License-Identifier: BSD-2-Clause-Patent # ## =20 @@ -108,6 +102,7 @@ DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS =3D $(DSC_PLTPK= G_FEATURE_BUILD_OPTIONS) $( # For IA32 Specific Build Flag # GCC: *_*_IA32_PP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) +GCC: *_*_IA32_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D P= I_SPECIFICATION_VERSION=3D0x00010015 -DASF_PEI -Wno-unused -Wl,--allow-mult= iple-definition MSFT: *_*_IA32_ASM_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) MSFT: *_*_IA32_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=3D0x00010015 -DASF_PEI MSFT: *_*_IA32_VFRPP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) @@ -130,6 +125,7 @@ MSFT: *_*_IA32_ASLCC_FLAGS =3D $(DSC_PLTPKG_FEATURE_= BUILD_OPTIONS) $(OPTIMIZE_D # For X64 Specific Build Flag # GCC: *_*_X64_PP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) +GCC: *_*_X64_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D P= I_SPECIFICATION_VERSION=3D0x00010015 -Wno-unused -Wl,--allow-multiple-defin= ition MSFT: *_*_X64_ASM_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) MSFT: *_*_X64_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=3D0x00010015 MSFT: *_*_X64_VFRPP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) diff --git a/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec b/Platfor= m/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec index d0fdb10..ddd8b40 100644 --- a/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec +++ b/Platform/Intel/KabylakeOpenBoardPkg/OpenBoardPkg.dec @@ -5,15 +5,9 @@ # INF files to generate AutoGen.c and AutoGen.h files # for the build infrastructure. # -# Copyright (c) 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
# -# This program and the accompanying materials are licensed and made availa= ble under -# the terms and conditions of the BSD License which accompanies this distr= ibution. -# 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 IMP= LIED. +# SPDX-License-Identifier: BSD-2-Clause-Patent # ## =20 @@ -26,8 +20,8 @@ PACKAGE_GUID =3D 0A8BA6E8-C8AC-4AC1-87AC-52772FA6AE5E =20 [Includes] Include -KabylakeRvp3\Include -Features\Tbt\Include +KabylakeRvp3/Include +Features/Tbt/Include =20 [Guids] =20 --=20 2.7.4 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40706): https://edk2.groups.io/g/devel/message/40706 Mute This Topic: https://groups.io/mt/31632305/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 06:54:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40707+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40707+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1557941752; cv=none; d=zoho.com; s=zohoarc; b=MR7+qo5YJmlWvsFvZoiVQI7wgbnqSKHa+/Kg3huYbxkRzRWxoGAvfdJBmZ8hNsjt1y+ss1Yb2+ADJrls+APxzpB2QIT/e+ZOKfSD2yGbNrq99c3VcDTMhq9XX6eEgSv+D1TjXgiilkU1xaOdA0eyTSNWF73yLdzu2CXMyzMRkJo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557941752; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=d8SRlBvXFpid3wmeaUDr37rJh7gDGyhgHXexMpidcAU=; b=mf1QR3nYcMP1e0gTvAtS7fIaR7cPFWLUkeQLp909WEWcgrn9lVx6y1/MFHkgscAlrEQoTeinQ7JNsfcxtYy3uxLy0OKq/2mm6i32CJwDO03HFIBBI90WTEImrEEyOaFMK9bEDAM3oO9XmzwN9XW7E58XHFguZzP1aFOQYC7EG0o= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40707+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1557941752139383.0707282874041; Wed, 15 May 2019 10:35:52 -0700 (PDT) Return-Path: X-Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by groups.io with SMTP; Wed, 15 May 2019 10:35:51 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 May 2019 10:35:50 -0700 X-ExtLoop1: 1 X-Received: from paagyema-desk2.amr.corp.intel.com ([10.7.159.148]) by orsmga006.jf.intel.com with ESMTP; 15 May 2019 10:35:49 -0700 From: "Agyeman, Prince" To: devel@edk2.groups.io Cc: Prince Agyeman Subject: [edk2-devel] [edk2-platforms] [PATCH 4/5] ClevoOpenBoardPkg: Added GCC5 build support Date: Wed, 15 May 2019 10:35:48 -0700 Message-Id: <6b46202ad1a48ae7aa0b9ceff50bda309b8b9f6d.1557779977.git.prince.agyeman@intel.com> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,prince.agyeman@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1557941751; bh=WAWjxhZTmbQjTMivW0i6e7B0TTrE4ikeSTGenrBQgkA=; h=Cc:Date:From:Reply-To:Subject:To; b=W7WmNzShk1HlJSk1/DI0vAp4Xj4p5cVuOwO2gKfi9qc4rU7dEDTV8adwm7PQJu342yK 5lptnisQMgov5vfS86MJuvsGeSgo/lAfRp4c7wwarhwLWkpTSzt6TToRlmmkgjsMMAu/J oQ6+n7P08/HS6wiN06PlhI0ZjjHnsbaPCTU= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: Prince Agyeman Fixes: * include file paths * gcc build options Gcc build was tested on Ubuntu 16.04.5 LTS with gcc version 5.4.0, nasm version 2.11.08 Signed-off-by: Prince Agyeman Reviewed-by: Michael Kubacki Reviewed-by: Nate DeSimone --- Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc | 2 ++ Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec | 4 ++= -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOptio= n.dsc b/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc index 92c7571..8d91d90 100644 --- a/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc +++ b/Platform/Intel/ClevoOpenBoardPkg/N1xxWU/OpenBoardPkgBuildOption.dsc @@ -108,6 +108,7 @@ DEFINE DSC_PLTPKG_FEATURE_BUILD_OPTIONS =3D $(DSC_PLTPK= G_FEATURE_BUILD_OPTIONS) $( # For IA32 Specific Build Flag # GCC: *_*_IA32_PP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) +GCC: *_*_IA32_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D = PI_SPECIFICATION_VERSION=3D0x00010015 -Wno-unused -Wl,--allow-multiple-defi= nition MSFT: *_*_IA32_ASM_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) MSFT: *_*_IA32_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=3D0x00010015 -DASF_PEI MSFT: *_*_IA32_VFRPP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) @@ -130,6 +131,7 @@ MSFT: *_*_IA32_ASLCC_FLAGS =3D $(DSC_PLTPKG_FEATURE_= BUILD_OPTIONS) $(OPTIMIZE_D # For X64 Specific Build Flag # GCC: *_*_X64_PP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) +GCC: *_*_X64_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) -D P= I_SPECIFICATION_VERSION=3D0x00010015 -Wno-unused -Wl,--allow-multiple-defin= ition MSFT: *_*_X64_ASM_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) MSFT: *_*_X64_CC_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) -D PI_SPECIFICATION_VERSION=3D0x00010015 MSFT: *_*_X64_VFRPP_FLAGS =3D $(DSC_PLTPKG_FEATURE_BUILD_OPTIONS) $(OP= TIMIZE_DISABLE_OPTIONS) diff --git a/Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec b/Platform/I= ntel/ClevoOpenBoardPkg/OpenBoardPkg.dec index aa457e6..f1d29f7 100644 --- a/Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec +++ b/Platform/Intel/ClevoOpenBoardPkg/OpenBoardPkg.dec @@ -24,8 +24,8 @@ PACKAGE_GUID =3D D04CCA80-5F71-478D-9A26-72BC751D0106 =20 [Includes] Include -N1xxWU\Include -Features\Tbt\Include +N1xxWU/Include +Features/Tbt/Include =20 [Guids] gBoardModuleTokenSpaceGuid =3D {0x72d1fff7, 0xa42a, 0x4219, {0= xb9, 0x95, 0x5a, 0x67, 0x53, 0x6e, 0xa4, 0x2a}} --=20 2.7.4 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40707): https://edk2.groups.io/g/devel/message/40707 Mute This Topic: https://groups.io/mt/31632306/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 06:54:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40708+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40708+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1557941752; cv=none; d=zoho.com; s=zohoarc; b=aN2VwRg9ev2zTPhP7tsLPFJN8NakemxtYQD1aC3Fa+/vcI+g2yBdKg1NPfwWb8ZIsrQFKWHwHBjuj/yeBYXu8XAraHop79AivGDLLfInrupmjKZgz5Cr67lGB/mGt3oW5TGpqVXXlafyD+mi36MxfL+aagitkqpuAsx8dOKu2QM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557941752; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=/OeGoT8MGTrUCmpaKCSvETb0PYnPUC4QWiIVUUUIWao=; b=Mus8JBY7zHl9Hb25l0tueK+wCZDz6ctjtVNivdUTrTJ25YHUHFphwRYvR4j2HFxklHCZoyKfFtPgmKXLHy1PBYgYl0ZH3ARsp61ZxC46xjV5wJZg8JQrUVg5DsiisXGjBSUPWEQjVLf0MpuIbq3xxdCg21vyL9Zsp/bAsO+W9rg= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40708+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1557941752242781.0771969186557; Wed, 15 May 2019 10:35:52 -0700 (PDT) Return-Path: X-Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by groups.io with SMTP; Wed, 15 May 2019 10:35:51 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 May 2019 10:35:50 -0700 X-ExtLoop1: 1 X-Received: from paagyema-desk2.amr.corp.intel.com ([10.7.159.148]) by orsmga006.jf.intel.com with ESMTP; 15 May 2019 10:35:49 -0700 From: "Agyeman, Prince" To: devel@edk2.groups.io Cc: Prince Agyeman Subject: [edk2-devel] [edk2-platforms] [PATCH 5/5] Intel/Readme.md: Updated readme with linux build instructions Date: Wed, 15 May 2019 10:35:49 -0700 Message-Id: <176c9351320200ab88e4f7a40f29a53c8e919b50.1557779977.git.prince.agyeman@intel.com> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,prince.agyeman@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1557941751; bh=mLAH0HFBOvcz1QxlBlfbLg7sCc+jdGlYQQHPEzcc9EM=; h=Cc:Date:From:Reply-To:Subject:To; b=JrkHeCxt3jhdFvWNLWiFZJ5/uRHBEkvs44QHRUYSo6MGEG/qTeMXrQPYOYa8C1DxkzV f06nFMq8ZwqDqzCgxH9SmCU+05DoXNsC8YHefVm3frkedab+fARXqBkl8KXcwh961okTr A4ccmmBTOLll2mCPlDvQgQTnhxiG8JPeBpE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" From: Prince Agyeman Signed-off-by: Prince Agyeman Reviewed-by: Nate DeSimone --- Platform/Intel/Readme.md | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index fbf7351..972a1b0 100644 --- a/Platform/Intel/Readme.md +++ b/Platform/Intel/Readme.md @@ -107,9 +107,13 @@ return back to the minimum platform caller. =20 **Building with the python script** =20 -1. Open command window, go to the workspace directory, e.g. c:\Kabylake. -2. Type "cd edk2-platforms\Platform\Intel -3. Type "python build_bios.py -p REPLACE_WITH_BOARD_NAME" +1. Open command window, go to the workspace directory, e.g. c:\Kabylake or= ~/Kabylake in the case of a linux OS +2. If using a linux OS + * Type "cd edk2" + * Type "source edksetup.sh" + * Type "cd ../" to go back to the workspace directory +3. Type "cd edk2-platforms/Platform/Intel +4. Type "python build_bios.py -p REPLACE_WITH_BOARD_NAME" =20 * build_bios.py arguments: =20 @@ -132,18 +136,19 @@ return back to the minimum platform caller. | | =20 * For more information on build options - * ``Type "python build_bios.py -h"`` + * Type "python build_bios.py -h" =20 * Note - * ``Python 2.7.16 and Python 3.7.3 compatible`` - * ``These python build scripts have been tested on Windows due to`` [cro= ss-platform limitations](#Known-limitations) + * Python 2.7.16 and Python 3.7.3 compatible + * This python build script has been tested on Windows 10 and Ubuntu 16.0= 4.5 LTS + * See [cross-platform limitations](#Known-limitations) =20 * Configuration Files - * ``The edk2-platforms\Platform\Intel\build.cfg file contains the defaul= t settings used by build_bios.py`` - * ``The default settings are under the DEFAULT_CONFIG section`` - * ``Each board can have a settings file that will override the edk2-plat= forms\Platform\Intel\build.cfg settings`` - * ``An example of a board specific settings:`` - * ``edk2-platforms\Platform\Intel\KabylakeOpenBoardPkg\KabylakeRvp3\bu= ild_config.cfg`` + * The edk2-platforms\Platform\Intel\build.cfg file contains the default = settings used by build_bios.py + * The default settings are under the DEFAULT_CONFIG section + * Each board can have a settings file that will override the edk2-platfo= rms\Platform\Intel\build.cfg settings + * An example of a board specific settings: + * edk2-platforms\Platform\Intel\KabylakeOpenBoardPkg\KabylakeRvp3\buil= d_config.cfg =20 * Workspace view of the build scripts *
@@ -212,8 +217,10 @@ Users can also flash the UEFI firmware image to the hi=
ghest area of the flash re
=20
 ### **Known limitations**
=20
-* All firmware projects can only build on Windows with the validated confi=
guration below.
+* All firmware projects can build on Windows with the validated configurat=
ion below.
   * Cross-platform build support is work-in-progress.
+* KabylakeOpenBoardPkg and ClevoOpenBoardPkg can build on Ubuntu 16.04.5 L=
TS
+with gcc version 5.4.0 and nasm version 2.11.08 with the build_bios.py scr=
ipt
=20
 **KabylakeOpenBoardPkg**
 1. This firmware project has only been tested on the Intel KabylakeRvp3 bo=
ard.
--=20
2.7.4


-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40708): https://edk2.groups.io/g/devel/message/40708
Mute This Topic: https://groups.io/mt/31632307/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-