From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: nathaniel.l.desimone@intel.com) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by groups.io with SMTP; Fri, 13 Sep 2019 19:23:52 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Sep 2019 19:23:51 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,492,1559545200"; d="scan'208";a="269613528" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by orsmga001.jf.intel.com with ESMTP; 13 Sep 2019 19:23:51 -0700 Received: from orsmsx111.amr.corp.intel.com (10.22.240.12) by ORSMSX103.amr.corp.intel.com (10.22.225.130) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 13 Sep 2019 19:23:51 -0700 Received: from orsmsx114.amr.corp.intel.com ([169.254.8.225]) by ORSMSX111.amr.corp.intel.com ([169.254.12.153]) with mapi id 14.03.0439.000; Fri, 13 Sep 2019 19:23:50 -0700 From: "Nate DeSimone" To: "devel@edk2.groups.io" , "Kubacki, Michael A" CC: "Agyeman, Prince" , "Bi, Dandan" , "Chaganty, Rangasai V" , "Chiu, Chasel" , "Gao, Liming" , "Kinney, Michael D" , "Sinha, Ankit" , "Wei, David Y" Subject: Re: [edk2-devel] [edk2-platforms][PATCH V2 1/1] Platform/Intel/Readme.md: Content update Thread-Topic: [edk2-devel] [edk2-platforms][PATCH V2 1/1] Platform/Intel/Readme.md: Content update Thread-Index: AQHVaqFyyet0qYmUbUaT+/zIHXV436cqcY4w Date: Sat, 14 Sep 2019 02:23:50 +0000 Message-ID: <02A34F284D1DA44BB705E61F7180EF0AAEEB9920@ORSMSX114.amr.corp.intel.com> References: <20190914020901.50404-1-michael.a.kubacki@intel.com> In-Reply-To: <20190914020901.50404-1-michael.a.kubacki@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNWVhZmVjNjctY2VjOC00YTAyLTg0YjktMWI0MzJhZDQzOGIwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiQk5sZnJRUW5jZEFlVEVFeUlPa0EyK1QxQTlPV2lLS1Z3bnFGdENBbVRJM1o2bHJUUldFNGxhU2RiRmhkblFrNiJ9 x-ctpclassification: CTP_NT x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Return-Path: nathaniel.l.desimone@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nate DeSimone -----Original Message----- From: devel@edk2.groups.io On Behalf Of Kubacki, Mi= chael A Sent: Friday, September 13, 2019 7:09 PM To: devel@edk2.groups.io Cc: Agyeman, Prince ; Bi, Dandan ; Chaganty, Rangasai V ; Chiu, Chasel = ; Gao, Liming ; Desimone, Nath= aniel L ; Kinney, Michael D ; Sinha, Ankit ; Wei, David Y Subject: [edk2-devel] [edk2-platforms][PATCH V2 1/1] Platform/Intel/Readme= .md: Content update This change makes the following updates: 1. Add SimicsOpenBoardPkg details. 2. Update Python instructions to Python 3.x and mention Python 2.x deprecation. 3. Add Linux build environment set up instructions. 4. Update supported compiler and tool versions to newer versions tested. * Ubuntu build: 16.04.5 LTS to 18.04.1 LTS * iASL: 20160527 to 20190816 * NASM: 2.11.08 to 2.12.02 5. Update ClevoOpenBoardPkg details. 6. Add instructions to build packages (e.g. AdvancedFeaturePkg). 6. Update Planned Activities and Ideas sections. Cc: Agyeman Prince Cc: Dandan Bi Cc: Sai Chaganty Cc: Chasel Chiu Cc: Liming Gao Cc: Nate DeSimone Cc: Michael D Kinney Cc: Ankit Sinha Cc: Wei David Y Signed-off-by: Michael Kubacki --- Platform/Intel/Readme.md | 139 ++++++++++++++------ 1 file changed, 101 insertions(+), 38 deletions(-) diff --git a/Platform/Intel/Readme.md b/Platform/Intel/Readme.md index 3ca= f362983..7cf1321bb2 100644 --- a/Platform/Intel/Readme.md +++ b/Platform/Intel/Readme.md @@ -56,8 +56,43 @@ A UEFI firmware implementation using MinPlatformPkg is = constructed using the fol * The `ClevoOpenBoardPkg` contains board implementations for Clevo system= s. * The `KabylakeOpenBoardPkg` contains board implementations for Kaby Lake= systems. * The `PurleyOpenBoardPkg` contains board implementations for Purley syst= ems. +* The `SimicsOpenBoardPkg` contains board implementations for the Simics = hardware simulator. * The `WhiskeylakeOpenBoardPkg` contains board implementations for Whiske= y Lake systems. =20 +### **Supported Hardware** + +#### Intel + +***Intel Reference and Validation Platform*** + +| Machine Name | Supported Chipsets = | BoardPkg | Board Name | +----------------------------------------|--------------------------------= ------------|------------------------------|--------------------| +| RVP 3 | Sky Lake, Kaby Lake, Kaby Lake = Refresh | KabylakeOpenBoardPkg | KabylakeRvp3 | +| WHL-U DDR4 RVP | Whiskey Lake = | WhiskeylakeOpenBoardPkg | WhiskeylakeURvp | + +*Note: RVP =3D Reference and Validation Platform* + +#### Microsoft + +| Machine Name | Supported Chipsets = | BoardPkg | Board Name | +----------------------------------------|--------------------------------= ------------|------------------------------|--------------------| +| Mt. Olympus | Purley = | PurleyOpenBoardPkg | BoardMtOlympus | + +#### Simics + +| Machine Name | Supported Chipsets = | BoardPkg | Board Name | +----------------------------------------|--------------------------------= ------------|------------------------------|--------------------| +| Simics Quick Start Package | Nehalem = | SimicsOpenBoardPkg | BoardX58Ich10 | + +#### System 76 + +***Galago Pro Laptop*** + +| Machine Name | Supported Chipsets = | BoardPkg | Board Name | +----------------------------------------|--------------------------------= ------------|------------------------------|--------------------| +| galp2 (Clevo N130BU) | Kaby Lake = | ClevoOpenBoardPkg | N1xxWU | +| galp3 & galp3-b (Clevo N1xxWU series) | Kaby Lake Refresh = | ClevoOpenBoardPkg | N1xxWU | + ## Board Package Organization The board package follows the standard EDK II package structure with the = following additional elements and guidelines: * Only code usable across more than one board at the root level. @@ -83,10 +118,19 @@ return back to the minimum platform caller. - Install into ```C:\ASL``` to match default tools_def.txt configuratio= n. * NASM assembler: Available from: http://www.nasm.us/ - Install into ```C:\NASM``` to match default tools_def.txt configurati= on. -* Python 2.7.6: Available from: https://www.python.org/download/releases= /2.7.6/ - - Install into ```C:\Python27``` to match default tools_def.txt configu= ration. - - Add C:\Python27 to your path - - Other versions of 2.7 may also work fine. +* Python 3.7.3: Available from:=20 +https://www.python.org/downloads/release/python-373/ + - Other versions of Python 3.x should be compatible. + - It is recommended to use the Python launcher to ensure the Python bui= ld script is launched using Python 3. + - E.g. "py -3.7 build_bios.py -l" + +## **Linux Build Instructions** + +### Pre-requisites + + * Set up a EDK II build environment for Linux following the instructions= in + [Using EDK II with Native GCC](https://github.com/tianocore/tianocore.= github.io/wiki/Using-EDK-II-with-Native-GCC). + * Proceed to the [Common EDK II build instructions for Linux](https://gi= thub.com/tianocore/tianocore.github.io/wiki/Common-instructions) + to verify your basic EDK II build environment is set up properly. =20 ### Download the required components =20 @@ -106,11 +150,11 @@ return back to the minimum platform caller. * FSP repository * ``git clone https://github.com/IntelFsp/FSP.git`` =20 -### Build +### Board Builds =20 **Building with the python script** =20 -1. Open command window, go to the workspace directory, e.g. c:\Kabylake o= r ~/Kabylake in the case of a linux OS +1. Open command window, go to the workspace directory, e.g.=20 +c:\Edk2Workspace or ~/Edk2Workspace in the case of a linux OS 2. If using a linux OS * Type "cd edk2" * Type "source edksetup.sh" @@ -146,11 +190,19 @@ return back to the minimum platform caller. * Type "python build_bios.py -h" =20 * Note - * Python 2.7.16 and Python 3.7.3 compatible - * Some dependency Python scripts might only support 2.x or 3.x, if that= happened use - "py -2" or "py -3" to launch build_bios.py - * This python build script has been tested on Windows 10 and Ubuntu 16.= 04.5 LTS - * See [cross-platform limitations](#Known-limitations) + * The Python build scripts were compatible with Python 2.7.16. But Pyth= on 2.x support is no longer maintained or recommended. + + * This python build script has been tested on Windows 10 and Ubuntu 18.= 04.1 LTS. + + * Unless otherwise noted, all boards build with the following component= s and versions: + * Linux build: Ubuntu 18.04.1 LTS with GCC version 5.4.0 + * Windows build: Windows 10 with the Microsoft Visual Studio 2015 com= piler + * iASL version: 20190816 + * NASM version: 2.12.02 + + * Unless otherwise noted all boards have been tested for boot to Window= s 10 x64 RS3. + + * See [known limitations](#Known-limitations) =20 * Configuration Files * The edk2-platforms\Platform\Intel\build.cfg file contains the default= settings used by build_bios.py @@ -185,6 +237,7 @@ return back to the mini= mum platform caller. | | | | build= settings, environment variables. | | | |---build_board.py: Optiona= l board-specific pre-build, build | | | and cle= an post-build functions. + | | | | | |------PurleyOpenBoardPkg | | | |------BoardMtOlympus | | | |---build_config.cfg: BoardMt= Olympus specific @@ -192,19 +245,26 @@ return back to the minimum platform caller. | | | |---build_board.py: Optional = board-specific pre-build, | | | build, po= st-build and clean functions. | | | + | | |------SimicsOpenBoardPkg + | | | |------BoardX58Ich10 + | | | |---build_config.cfg: BoardX5= 8Ich10 specific + | | | | build s= ettings, environment variables. + | | | | | |------WhiskeylakeOpenBoardPkg | | | |------WhiskeylakeURvp | | | |---build_config.cfg: Whiskey= lakeURvp specific build | | | setting= s environment variables. + | | | |------FSP =20 **Building with the batch scripts** + Only PurleyOpenBoardPkg still supports batch script build. Future board p= ackages must only use the Python build infrastructure. =20 For PurleyOpenBoardPkg -1. Open command window, go to the workspace directory, e.g. c:\Purley. +1. Open command window, go to the workspace directory, e.g. c:\Edk2Worksp= ace. 2. Type "cd edk2-platforms\Platform\Intel\PurleyOpenBoardPkg\BoardMtOlymp= us". 3. Type "GitEdk2MinMtOlympus.bat" to setup GIT environment. 4. Type "bld" to build Purley Mt Olympus board UEFI firmware image, "bld = release" for release build, "bld clean" to @@ -212,40 +272,43 @@ For Purley= OpenBoardPkg "bld cache-consume" Consume a cache of binary files from the specified= directory, BINARY_CACHE_PATH is empty, used "BinCache" as default path. =20 -The validated version of iasl compiler that can build MinPurley is 201806= 29. Older version may generate ACPI build +The validated version of iASL compiler that can build MinPurley is=20 +20180629. Older version may generate ACPI build errors. =20 ### **Known limitations** =20 **ClevoOpenBoardPkg** -1. Currently, support is only being added for the N1xxWU series of boards= . -2. The Windows build was tested on Windows 10 with Microsoft Visual Studi= o 2015 compiler. -3. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.= 0. -4. The build was tested with NASM version 2.11.08. -5. The firmware project has not been tested on an actual board, it *shoul= d not* be expected to boot. -6. The firmware project applies to all Clevo supported board configuratio= ns but is only being tested on System 76 Galago - Pro devices. +1. The firmware project has not been tested on the Galago Pro 3B. =20 **KabylakeOpenBoardPkg** -1. This firmware project has only been tested on the Intel KabylakeRvp3 b= oard. -2. This firmware project has only been tested booting to Microsoft Window= s 10 x64 with AHCI mode and Integrated Graphic - Device. -3. The Windows build was tested on Windows 10 with Microsoft Visual Studi= o 2015. -4. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.= 0. -5. The build was tested with NASM version 2.11.08. +1. This firmware project has only been tested for Microsoft Windows 10 x6= 4 boot with AHCI mode and Integrated Graphic + Device. =20 **PurleyOpenBoardPkg** -1. This firmware project has only been tested on the Microsoft MtOlympus = board. -2. This firmware project has only been tested booting to Microsoft Window= s Server 2016 with NVME on M.2 slot. -3. This firmware project build has only been tested using the Microsoft V= isual Studio 2015 compiler. +1. This firmware project has only been tested booting to Microsoft Window= s Server 2016 with NVME on M.2 slot. +2. This firmware project does not build with the GCC compiler. +3. This firmware project does not build with the Python build script infr= astructure. + +**SimicsOpenBoardPkg** +1. This firmware project has only been tested booting to Microsoft Window= s 10 x64 and Ubuntu 17.10 with AHCI mode. =20 **WhiskeylakeOpenBoardPkg** -1. This firmware project has only been tested on the Intel WhiskeylakeURv= p board. -2. This firmware project has only been tested booting to Microsoft Window= s 10 x64 with AHCI mode and Integrated Graphic - Device. -3. The Windows build was tested on Windows 10 with Microsoft Visual Studi= o 2015. -4. The Linux build was tested on Ubuntu 16.04.5 LTS with GCC version 5.4.= 0. -5. The build was tested with NASM version 2.11.08. +1. This firmware project has only been tested booting to Microsoft Window= s 10 x64 with AHCI mode and Integrated Graphic + Device. + +### **Package Builds** + +In some cases, such as AdvancedFeaturePkg, a package may provide a set=20 +of functionality that is included in other packages. To test the build of= the whole package, the "build" command should be used following the instru= ctions below. + +1. Execute edksetup.bat (Windows) or edksetup.sh (Linux). +2. Verify the "WORKSPACE" environment variable is set to the edk2 directo= ry in your workspace. +3. Set the "PACKAGES_PATH" enviornment variable to include the edk2-platf= orms/Platform/Intel and edk2-platforms/Silicon/Intel + directories. + * Windows example: set=20 +PACKAGES_PATH=3Dc:\Edk2Workspace\edk2-platforms\Platform\Intel;c:\Edk2Wor +kspace\edk2-platforms\Silicon\Intel +4. Build the package by specifying the package DSC as the platform build = target from the Platform/Intel or Silicon/Intel directory: + "build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc" + =20 ### **Firmware Image Flashing** =20 @@ -259,14 +322,14 @@ that authenticates the initial firmware boot image s= uch as Boot Guard, it will f that is not signed properly. =20 ### **Planned Activities** -* Replace the batch build scripts with cross-platform Python build script= s. -* Publish a Minimum Platform specification to describe the architecture a= nd interfaces in more detail. +* Expand Intel's open source platform code presence through new platform = and board support. +* Expand advanced feature code and quality. +* Support open source community continuous integration for Minimum Platfo= rm compliant boards. =20 ### **Ideas** If you would like to help but are not sure where to start some areas curr= ently identified for improvement include: * Adding board ports for more motherboards and systems * Adding Clang support - * Adding GCC support =20 Please feel free to contact Michael Kubacki (michael.a.kubacki at intel.c= om) and Isaac Oram (isaac.w.oram at intel.com) if you would like to discus= s contribution ideas. -- 2.16.2.windows.1