System Tools For Broxton APL_System_Tools_User_Guide_TXE 3_0_Rev 1.0 APL User Guide TXE 3 0 Rev
User Manual: APL_System_Tools_User_Guide_TXE 3_0_Rev 1.0
Open the PDF directly: View PDF .
Page Count: 90
Download | |
Open PDF In Browser | View PDF |
System Tools for Apollo Lake: Intel® Trusted Execution Environment 3.0 User Guide June 2016 Revision: 1.0 Release Intel Confidential You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein. No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document. Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at Intel.com, or from the OEM or retailer. No computer system can be absolutely secure. Intel does not assume any liability for lost or stolen data or systems or any damages resulting from such losses. The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade. Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at intel.com, or from the OEM or retailer. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel product specifications and roadmaps. Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-5484725 or visit www.intel.com/design/literature.htm. By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Intel, vPro and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries. *Other names and brands may be claimed as the property of others. Copyright © 2016, Intel Corporation. All rights reserved. 2 Intel Confidential Contents 1 Introduction ...................................................................................................... 8 1.1 1.2 2 Terminology ........................................................................................... 8 Reference Documents............................................................................ 11 Preface ........................................................................................................... 12 2.1 Overview ............................................................................................. 12 2.2 Image Editing Tools .............................................................................. 12 2.3 Manufacturing Line Validation Tool .......................................................... 12 2.4 Intel® TXE Setting Checker Tool ............................................................. 13 2.5 Operating System Support ..................................................................... 13 Windows* 10 DT 32-bit will be supported post TTM.... Error! Bookmark not defined. 2.6 Generic System Requirements ................................................................ 13 2.7 Error Return ......................................................................................... 14 2.8 Usage of the Double-Quote Character (") ................................................. 14 2.9 PMX Driver Limitation ............................................................................ 14 3 Intel® Flash Image Tool (Intel® FIT) ................................................................... 16 3.1 3.2 3.3 4 System Requirements ........................................................................... 16 Required Files....................................................................................... 16 Intel® FIT ............................................................................................ 16 3.3.1 Configuration Files ................................................................... 17 3.3.2 Creating a New Configuration .................................................... 17 3.3.3 Opening an Existing Configuration ............................................. 17 3.3.4 Saving a Configuration ............................................................. 17 3.3.5 Environment Variables ............................................................. 17 3.3.6 Image Build Settings ................................................................ 20 3.3.7 DnX Build Settings ................................................................... 21 3.3.8 Target Platform and Flash Settings ............................................ 22 3.3.9 Flash Layout Tab ..................................................................... 22 3.3.10 Flash Settings Tab ................................................................... 23 3.3.11 Platform Protection .................................................................. 25 3.3.12 Integrated Sensor Hub ............................................................. 26 3.3.13 Download and Execute ............................................................. 26 3.3.14 GPIO Profiles........................................................................... 26 3.3.15 End Of Manufacturing State ...................................................... 27 3.3.16 Platform Configuration Tab ....................................................... 27 3.3.17 Other Configuration Tabs .......................................................... 27 3.3.18 Building a Flash Image ............................................................. 27 3.3.19 Decomposing an Existing Flash Image ........................................ 28 3.3.20 Command Line Interface .......................................................... 28 3.3.21 Example – Decomposing an Image and Extracting Parameters ...... 30 Flash Programming Tool ................................................................................... 32 4.1 4.2 4.3 4.4 4.5 4.6 System Requirements ........................................................................... 32 Microsoft Windows* Required Files .......................................................... 32 EFI Required Files ................................................................................. 33 Programming the Flash Device ............................................................... 33 Programming CVARS ............................................................................. 34 Usage .................................................................................................. 34 Intel Confidential 3 4.7 4.8 5 Intel® TXEManuf and TXEManufWin .................................................................... 42 5.1 5.2 5.3 5.4 5.5 6 Fparts.txt File ....................................................................................... 38 Examples ............................................................................................. 39 4.8.1 Complete SPI Flash Device Burn with Binary File ......................... 39 4.8.2 Dump full image ...................................................................... 39 4.8.3 Display SPI Information............................................................ 39 4.8.4 Verify Image with Errors ........................................................... 39 4.8.5 Verify Image Successfully ......................................................... 40 4.8.6 Get Intel® TXE settings ............................................................ 40 4.8.7 Compare Intel® TXE Settings .................................................... 40 4.8.8 CVAR Configuration File Generation (-cfggen) ............................. 40 Windows* PE Requirements ................................................................... 42 How to Use Intel® TXEManuf .................................................................. 42 Usage .................................................................................................. 43 5.3.1 Host-based Tests ..................................................................... 44 Intel® TXEManuf –EOL Check ................................................................. 44 5.4.1 TXEManuf.cfg File .................................................................... 44 5.4.2 TXEManuf –EOL Variable Check ................................................. 44 5.4.3 TXEManuf –EOL Config Check.................................................... 45 5.4.4 Output/Result ......................................................................... 45 Examples ............................................................................................. 45 5.5.1 Example for Consumer Intel® TXE FW SKU ................................. 45 Intel® TXEInfo ................................................................................................. 47 6.1 6.2 6.3 Windows* PE Requirements ................................................................... 47 Usage .................................................................................................. 47 Examples ............................................................................................. 51 6.3.1 Intel® TXE FW SKU .................................................................. 51 6.3.2 Retrieve the Current Value of the Flash Version ........................... 52 7 Intel® Platform Flash Tool ................................................................................. 53 8 Intel® Manifest Extension Utility (MEU) ............................................................... 54 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 Introduction ......................................................................................... 54 Intel MEU XML ...................................................................................... 54 Intel MEU Configuration ......................................................................... 55 8.3.1 Signing Tool Configuration ........................................................ 55 8.3.2 LZMA Compression Tool ........................................................... 56 8.3.3 User Path Variables .................................................................. 56 Supported Binary Formats ..................................................................... 57 8.4.1 Binary Types ........................................................................... 57 8.4.2 Example: OEM Key Manifest Creation ......................................... 58 Creating a Public Key Hash: ................................................................... 58 8.5.1 Example: Key Hash Generation ................................................. 59 Decomposing a Binary ........................................................................... 59 Resigning a Binary ................................................................................ 60 Exporting a Manifest ............................................................................. 61 Importing a Manifest ............................................................................. 61 Command Line Options .......................................................................... 62 9 Widevine* KeyBox Provisioning Procedure .......................................................... 63 Appendix A Intel® TXE CVARs ............................................................................................ 65 4 Intel Confidential Appendix B Tool Detail Error Codes ..................................................................................... 69 B.1 Common Error Code for All Tools ....................................................................... 69 B.2 Firmware Update Errors .................................................................................... 75 B.3 Intel® TXEManuf Errors .................................................................................... 76 B.4 Intel® TXEINFO Errors ...................................................................................... 80 B.5 FPT Errors....................................................................................................... 81 B.6 MEU Errors ..................................................................................................... 83 Appendix C Tool Option Dependency on BIOS/Intel® TXE Status ............................................ 85 Appendix D : Using Local Android* Intel® TXE System Tools ................................................. 86 D.1 Using Android* System Tools ............................................................................ 86 D.2 Setup & Install ADB and Fastboot ...................................................................... 86 D.3 Using Fastboot ................................................................................................ 86 D.4 How to Push & Use the Intel® TXE System Tools ................................................. 86 Appendix E : Google* Widevine for Intel® TXE .................................................................... 88 E.1 Creating Widevine* CEK (Customer Encryption Key) ............................................ 88 E.1.1 FITC CEK File Creation Procedure....................................................................... 88 E.1.1.1 Cleartext CEK .................................................................................................. 88 E.1.1.2 Ciphertext CEK ................................................................................................ 89 E.2 Constructing Widevine* Provisioning KeyBox File ................................................. 90 E.2.1 KeyBox Creation Procedure ............................................................................... 90 Figures Figure Figure Figure Figure Figure Figure Figure 3-1. 3-2. 3-3. 3-4. 3-5. 3-6. 3-7. Environment Variables in Build Settings Dialog ................................... 18 Image Build Settings in Build Settings Dialog ...................................... 21 DnX Build Settings in Build Settings Dialog Error! Bookmark not defined. Flash Layout Tab ............................................................................. 23 Add VSCC Table Entry Dialog ............................................................ 24 Deleting VSCC Table Entry Dialog ...................................................... 25 Platform Protection Tab .................................................................... 26 Tables Table Table Table Table Table 2-1: OS Support for Tools ........................................................................ 13 3-1. Environment Variables Options........................................................... 18 3-2: Build Settings Dialog Options ............................................................. 20 3-3: DnX Build Settings Dialog Options ...................................................... 21 3-4: Target Platform and Flash Options ...................................................... 22 Intel Confidential 5 Table Table Table Table Table Table Table Table Table Table Table 6 3-5. Key Platform Protection Fields ............................................................ 25 3-6. DnX Fields ....................................................................................... 26 3-7. Intel FIT Command Line Options ........................................................ 28 4-1: FPT OS Requirements ....................................................................... 33 4-2. Named Variables Options .................................................................. 34 4-3. Command Line Options for fpt.efi, fpt.exe and fptw.exe ........................ 34 4-4. FPT –closemnf Behavior .................................................................... 38 5-1: Options for the Tool .......................................................................... 43 5-2: TXEManuf - EOL Config Tests ............................................................. 45 6-1. Intel® TXEInfo Command Line Options ................................................ 47 6-2. List of Components that Intel® TXEINFO Displays ................................. 48 Intel Confidential Revision History Revision Number Description 0.3 Pre-Alpha Release 0.4 Updated OS matrix with Linux library support 0.6 Alpha version release 0.7 Updated OS matrix with Win10 32-bit support Revision Date September 2015 October 2015 Added details to MEU on key hash generation 0.8 Updated OS matrix November 2015 Updated MEU error codes, and additional functionality 0.81 Removed CommitFPF command, updated details of – TXE flag, updated details of –CLOSEMNF flag January 2016 Windows 10 DT 32-bit will be supported post-TTM Updated FIT settings location, based on Beta build locations. Added note about Disable Boot Source FPFs. Multiple minor clarfications and corrections 0.85 Added Appendix on using Local Android* Intel® System Tools April 2016 Added chapter and Appendix on Google Widevine provisioning and processes Added usage of –ISH –fwstat combination flag in Intel® TXEInfo Removal of Win10 32-bit OS support from all tools, impacting Win10 PE 32-bit and EFI Shell 32 bit as well Removed NFC flags from tools 1.0 Removed all mention of Broxton July 2016 §§ Intel Confidential 7 Introduction 1 Introduction The purpose of this document is to describe the tools that are used in the platform design, manufacturing, testing, and validation process. 1.1 Terminology Acronym/Term AC Alternating Current Agent Software that runs on a client PC with OS running API Application Programming Interface BIN Binary file BIOS Basic Input Output System BIOS-FW Basic Input Output System Firmware BIST Built In Self-Test CLI Command Line Interface CRB Customer Reference Board CVAR Changeable Variable DLL Dynamic Link Library DNS Domain Naming System DnX Download and Execute Technology EC Embedded Controller EFI Extensible Firmware Interface EHCI Enhanced Host Controller Interface End User The person who uses the computer (either Desktop or Mobile). The user usually may not have administrator privileges. EOP End Of Post Intel® FIT Intel® Flash Image Tool FLOCKDN Flash Configuration Lock-Down FOV Fixed Offset Variable Intel FPT Intel® Flash Programming Tool FQDN Fully Qualified Domain Name FW Firmware G3 A system state of Mechanical Off where all power is disconnected from the system. A G3 power state does not necessarily indicate that RTC power is removed. GPIO General Purpose Input/output ® 8 Definition Intel Confidential Introduction Acronym/Term Definition GUI Graphical User Interface GUID Globally Unique Identifier HECI (deprecated) Host Embedded Controller Interface Host or Host CPU The processor running the operating system. This is different than the processor running the Intel® TXE FW. Host Service/ Application An application running on the host CPU HW Hardware IBV Independent BIOS Vendor ICC Integrated Clock Configuration ID Identification INF An information file (.inf) used by Microsoft operating systems that support the Plug & Play feature. When installing a driver, this file provides the OS with the necessary information about driver filenames, driver components, and supported hardware. Intel® DAL Intel® Dynamic Application Loader (Intel® DAL) Intel® TXE Intel® Trusted Execution Engine. The embedded processor residing in the chipset MCH. Intel® TXEI driver Intel® TXE host driver that runs on the host and interfaces between ISV Agent and the Intel® TXE HW. ISV Independent Software Vendor IT User Information Technology User. Typically very technical and uses a management console to ensure multiple PCs on a network function. LAN Local Area Network LED Light Emitting Diode LPC Low Pin Count Bus CM0 Intel® TXE power state where all HW power planes are activated. Host power state is S0. CM1 Intel® TXE power state where all HW power planes are activated but the host power state is different than S0. (Some host power planes are not activated.) The Host PCI-E* interface is unavailable to the host SW. This power state is not available in Cougar Point. CM3 Intel® TXE power state where all HW power planes are activated but the host power state is different than S0. (Some host power planes are not activated.) The Host PCI-E* interface is unavailable to the host SW. The main memory is not available for Intel® TXE use. CM-Off No power is applied to the processor subsystem. Intel® TXE is shut down. MAC address Media Access Control address MCP Multi-Chip Package (Central Processing Unit / Platform Controller Hub) Intel Confidential 9 Introduction Acronym/Term Definition NM Number of Masters NVM Non-Volatile Memory NVRAM Non-Volatile Random Access Memory ODM Original Device Manufacturer OEM Original Equipment Manufacturer OEM ID Original Equipment Manufacturer Identification OS Operating System OS Hibernate OS state where the OS state is saved on the hard drive. OS not Functional The Host OS is considered non-functional in Sx power state in any one of the following cases when the system is in S0 power state: OS is hung After PCI reset OS watch dog expires OS is not present 10 PAVP Protected Video and Audio Path PC Personal Computer PCI Peripheral Component Interconnect PCIe Peripheral Component Interconnect Express PHY Physical Layer PID Provisioning ID PKI Public Key Infrastructure PM Power Management ROM Read Only Memory RSA A public key encryption method RTC Real Time Clock S0 A system state where power is applied to all HW devices and the system is running normally. S1, S2, S3 A system state where the host CPU is not running but power is connected to the memory system (memory is in self refresh). S4 A system states where the host CPU and memory are not active. S5 A system state where all power to the host system is off but the power cord is still connected. SDK Software Development Kit SHA Secure Hash Algorithm SMBus System Management Bus SPI Serial Peripheral Interface SPI Flash Serial Peripheral Interface Flash Intel Confidential Introduction Acronym/Term 1.2 Definition Sx All S states which are different than S0 SW Software System States Operating System power states such as S0, S1, S2, S3, S4, and S5. UI User Interface UMA Unified Memory Access Un-configured state The state of the Intel® TXE FW when it leaves the OEM factory. At this stage the Intel® TXE FW is not functional and must be configured. USB Universal Serial Bus VSCC Vendor Specific Component Capabilities Windows* PE Windows* Pre installation Environment XML Extensible Markup Language. Reference Documents Document Document No./Location Apollo Lake- Intel®Trusted Execution Engine (Intel®TXE) Firmware Bring-Up Guide Release kit EDS CDI Apollo Lake Soc SPI and Signed Master Image Profile(SMIP) Programming Guide Release kit Apollo Lake Signing and Manifesting Guide Release kit §§ Intel Confidential 11 Preface 2 Preface 2.1 Overview This document covers the system tools used for creating, modifying, and writing binary image files, manufacturing testing, Intel® TXE setting information gathering, and Intel® TXE FW updating. The tools are located in Kit directory\Tools\System tools. For information about other tools, see the tool's user guides in the other directories in the FW release. The system tools described in this document are platform specific in the following ways: 2.2 Apollo Lake (APL) platforms – All tools in the Apollo Lake FW release kit are designed for Apollo Lake platforms only. These tools do not work properly on any other legacy platforms. Tools designed for other platforms also do not work properly on the Apollo Lake platforms. Intel® TXE Firmware 3.0 SKU – The tools are provided for the Intel® TXE FW 3.0 SKUs. Image Editing Tools The following tools create and write flash images: Intel® FIT: Combines the BIOS, Intel® TXE FW and other binaries into one image. Configures SMIPs and CVARs for Intel® TXE settings that can be programmed by a flash programming device or the FPT Tool. FPT: Programs the SPI flash memory of individual regions or the entire SPI flash device. Modifies some Intel® TXE settings (CVAR) after Intel® TXE is flashed on the flash memory part. 2.3 Platform Flash Tool (using DnX) Manufacturing Line Validation Tool The manufacturing line validation tool (Intel® TXEManuf) allows the Intel® TXE functionality to be tested immediately after the chipset is generated. This tool is designed to be able to run quickly. It can run on simple operating systems, such as EFI, Windows* 98. The Windows* version is written to run on Windows* 7, Windows* 8.1 and Win* PE 32 and 64. This tool is mostly run on the manufacturing line to do manufacturing testing. 12 Intel Confidential Preface 2.4 Intel® TXE Setting Checker Tool The Intel® TXE setting checker tool (Intel® TXEInfo) retrieves and displays information about some of the Intel® TXE settings, the Intel® TXE FW version, and the FW capability on the platform. 2.5 Operating System Support Windows 10 Mobile Android M Dessert 64 bit (both user and kernel 64 bit) Fedora /RedHat * Linux (Glibc 2.19, Kernel 3.18.20) 64bit X X X Intel® TXEManuf Tool X X X X X X X X X Intel® TXE Info Tool X X X X X X X X X X Windows* 10 DT 64bit X X Windows* PE 5.1 64bit X Windows 8.1 64bit X X Windows* 8.1 32bit X X Windows* PE 3.1 64bit X Windows* 7 SP1 64bit X Intel® Flash Image Tool Windows * 7 SP1 32bit Intel Flash Programming Tool Intel® TXE and Manufacturing Tools EFI Shell 64 bit Windows * 10 PE 64bit Table 2-1: OS Support for Tools X ® 2.6 Manifest Extension Tool X X X X Platform Flash Tool and Token Manager Tool X X X X X X Generic System Requirements The installation of the following driver is required by integration validation tools that run locally on the system under test with the Intel® TXE: Intel® TXEI driver. See the description of each tool for its exact requirements. Intel Confidential 13 Preface 2.7 Error Return Intel® FIT and Intel® MEU return a non-0 number on an error, and the final error code is printed. Other tools return 0/1/2 for the error level (0 = success, 1= error, 2 = Success with warning). A detailed error code is displayed on the screen and stored on an error.log file in the same directory as the tools. (See Appendix B for a list of these error codes.) 2.8 Usage of the Double-Quote Character (") The EFI version of the tools handle multi-word argument is different than the DOS/Windows* version. If there is a single argument that consists of multiple words delimitated by spaces, the argument needs to be entered as following: FPT.efi –f “” arguments ””. The command shell used to invoke the tools in EFI and Windows* has a built-in CLI. The command shell was intended to be used for invoking applications as well as running in batch mode and performing basic system and file operations. For this reason, the CLI has special characters that perform additional processing upon command. The double-quote is the only character which needs special consideration as input. The various quoting mechanisms are the backslash escape character (/), single-quotes ('), and double-quotes ("). A common issue encountered with this is the need to have a double-quote as part of the input string rather than using a double-quote to define the beginning and end of a string with spaces. For example, the user may want these words – one two – to be entered as a single string for a vector instead of dividing it into two strings ("one", "two"). In that case, the entry – including the space between the words – must begin and end with doublequotes ("one two") in order to define this as a single string. When double-quotes are used in this way in the CLI, they define the string to be passed to a vector, but are NOT included as part of the vector. The issue encountered with this is how to have the double-quote character included as part of the vector as well as bypassed during the initial processing of the string by the CLI. This can be resolved by preceding the double-quote character with a backslash (\"). For example, if the user wants these words to be input – input"string – the command line is: input\"string. 2.9 PMX Driver Limitation Several tools (Intel® TXEInfo, Intel® TXEInfo, and Intel® FPT) use the PMX library to get access to the PCI device. Only one tool can get access to the PMX library at a time because of library limitation. Therefore, running multiple tools to get access to PMX library will result in an error (failure to load driver). The PMX driver is not designed to work with the latest Windows* driver model (it does not conform to the new driver's API architecture). 14 Intel Confidential Preface In Windows* 7 (and higher), the verifier sits in kernel mode, performing continual checks or making calls to selected driver APIs with simulations of well-known driver related issues. Warning: Running the PMX driver with the Windows* 7 (and higher) driver verifier turned on causes the OS to crash. Do not include PMX as part of the verifier driver list if the user is running Windows* 7 (and higher) with the driver verifier turned on. §§ Intel Confidential 15 Intel® Flash Image Tool (Intel® FIT) 3 Intel® Flash Image Tool (Intel® FIT) The Intel® Flash Image Tool (Intel® FIT) creates and configures a complete SPI, eMMc or UFS flash image file for Apollo Lake platforms in the following way: 1. Intel FIT creates and allows configuration of the SPI Flash Descriptor Region, which contains configuration information for platform hardware and FW (SPI images only) 2. Intel FIT assembles the following into a single firmware image: BIOS IUnit PMC uCode Intel® TXE SMIP configuration settings Manifest files SPI Flash Descriptor Region (SPI images only) 3. The user can manipulate the firmware image before its generation via a GUI or xml file and change the various chipset parameters to match the target hardware. Various configurations can be saved to independent files, so the user does not have to recreate a new image each time. Intel FIT supports a set of command line parameters that can be used to build an image from the CLI or from a makefile. When a previously stored configuration is used to define the image layout, the user does not have to interact with the GUI. Note: Intel FIT just generates a complete firmware image file; it does not program the flash device. This complete firmware image must be programmed into the flash with Intel® FPT, DnX, any third-party flash burning tool, or some other flash burner device. 3.1 System Requirements Intel® FIT runs on the OSs described in section 2.5. The tool does not have to run on an Intel® TXE-enabled system. 3.2 Required Files The Intel FIT main executable is FIT.exe. The following files must be in the same directory as FIT.exe: 3.3 vsccommn.bin Intel® FIT See the following for further information: 16 Intel Confidential Intel® Flash Image Tool (Intel® FIT) 3.3.1 General configuration information – See the FW Bring Up Guide from the appropriate Intel® TXE FW kit. Detailed information on how to configure SPI descriptor and SMIPs – See Apollo Lake Soc SPI and Signed Master Image Profile(SMIP) Programming Guide. Configuration Files The flash image can be configured in many different ways, depending on the target hardware and the required FW options. Intel FIT lets the user change this configuration in a graphical manner (via the GUI). Each configuration can be saved to an XML file. These XML files can be loaded at a later time and used to build subsequent flash images. 3.3.2 Creating a New Configuration Intel FIT provides a XML configuration file template that will help the user can use to create their own configuration XML. This template configuration XML file can be created by clicking File > New and then save. It can also be created from the command line using –save option. 3.3.3 Opening an Existing Configuration To open an existing configuration file: 1. Choose File > Open; the Open File dialog appears. 2. Select the XML file to load 3. Click Open. Note: The user can also open a file by dragging and dropping a configuration file into the main window of the application. 3.3.4 Saving a Configuration To save the current configuration in an XML file: Choose File > Save or File > Save As; the Save File dialog appears if the configuration has not been given a name or if File > Save As was chosen. 1. Select the path and enter the file name for the configuration. 2. Click Save. 3.3.5 Environment Variables A set of environment variables is provided to make the image configuration files more portable. The configuration is not tied to a particular root directory structure because all of the paths in the configuration are relative to environment variables. The user can set the environment variables appropriate for the platform being used, or override the variables with command line options. It is recommended that the environment variables be the first thing that the user sets when working with a new configuration. This ensures that Intel FIT can properly substitute environment variables into paths to keep them relative. Doing this also speeds up configuration because many of the Open File dialogs default to particular environment variable paths. Intel Confidential 17 Intel® Flash Image Tool (Intel® FIT) To modify the environment variables: 1. Choose Build > Build Settings; a dialog appears displaying the current working directory on top, followed by the current values of all the environment variables: Table 3-1. Environment Variables Options Option Description $WorkingDir the directory functions as a basic path variable when modified in the GUI. If $WorkingDir CLI flag is used when launching FIT GUI, then the fit.log will be created in $WorkingDir directory. $SourceDir the directory that contains the base image binary files from which a complete flash image is prepared. Usually these base image binary files are obtained from Intel® VIP on the Web, a BIOS programming resource, or another source. $DestDir the directory in which the final combined image is saved, as well as intermediate files generated during the build. Also the directory where the components of an image are stored when an image is decomposed. $UserVar1-3 used when the above variables are not populated Figure 3-1. Environment Variables in Build Settings Dialog 18 Intel Confidential Intel® Flash Image Tool (Intel® FIT) 2. Click the button next to an environment variable and select the directory where that variable's files will be stored; the name and relative path of that directory appears in the field next to the variable's name. 3. Repeat Step 2 until the directories of all relevant environment variables have been defined. 4. Click OK. 5. The environment variables are saved in the XML file. They can be overridden on the command line if using the XML file on multiple systems. Intel Confidential 19 Intel® Flash Image Tool (Intel® FIT) 3.3.6 Image Build Settings Intel FIT lets the user set several options that control how the image is built. The options that can be modified are described in Table 3-2. To modify the build setting: 1. Choose Build > Build Settings; a dialog appears showing the current build settings. 2. Modify the relevant settings in the Build Settings dialog. 3. Click OK; the modified build settings are saved in the XML configuration file. Table 3-2: Build Settings Dialog Options Option 20 Description Output filename The path and filename where the final image should be saved after it is built. (Note: Using the $DestDir environment variable makes the configuration more portable.) Generate intermediate build files Causes the application to generate separate (intermediate) binary files, in addition to the final image file. These files are located in the specified output folder's INT subfolder. Enable Boot Guard Warning message at build time Enables Boot Guard warning messages at build time Enable Intel® Platform Trust Technology messages at build time Enables Intel® Platform Trust Technology warning messages at build time Target Type If building an SPI/eMMc/UFS image IFWI Build Version 32-bit value to use as the IFWI build version number Manifest Extension Utility Path Path to the Intel MEU application, which creates and adds a manifest to the SMIP data Signing Tool Path Path to the signing tool (normally OpenSSL), to sign the SMIP data Signing Tool Name of the signing tool (normally OpenSSL) to sign the SMIP data Intel Confidential Intel® Flash Image Tool (Intel® FIT) Figure 3-2. Image Build Settings in Build Settings Dialog 3.3.7 DnX Build Settings Intel FIT lets the user set several options that control if and how a DnX image is built. The options that can be modified are described in Table 3-2. NOTE: In early versions of the tool, these settings are visible in the DnX tab of the tool, and not the Build Settings Dialog. To modify the build setting: 1. Choose Build > Build Settings; a dialog appears showing the current build settings. 2. Modify the relevant settings in the Build Settings dialog. 3. Click OK; the modified build settings are saved in the XML configuration file. Table 3-3: DnX Build Settings Dialog Options Option Description Build DnX image Should Intel FIT build a DnX image DnX Output Filename The path and filename where the final DnX image should be saved after it is built. (Note: Using the $DestDir environment variable makes the configuration more portable.) Intel Confidential 21 Intel® Flash Image Tool (Intel® FIT) Option 3.3.8 Description Signing Key Private key for signing the DnX image. Must be the same private key used to sign the OEM Key Manifest, and whose public key hash is entered into OEM Public Key Hash field in Platform Protection tab, and which gets burned to an FPF. Platform ID Platform ID that DnX uses to verify the image is suitable for the platform. OEM ID OEM ID that DnX uses to verify the image is suitable for the platform. Target Platform and Flash Settings Intel FIT lets the user define the target platform and flash type of the final image. These options are displayed in drop-down combo boxes on the toolbar. NOTE: In early versions of the tool, the Flash Type setting is visible in the Build Settings Dialog. Table 3-4: Target Platform and Flash Options Combo 3.3.9 Options Target Platform Apollo Lake Flash Type eMMc / UFS / SPI Flash Layout Tab The Flash Layout tab contains information about the various binaries that need to be stitched together in the final image. It allows uploading the paths of these binaries that need to be present on the same system as Intel FIT. During image compilation, these binary files are stitched into the image. 22 Intel Confidential Intel® Flash Image Tool (Intel® FIT) Figure 3-3. Flash Layout Tab 3.3.10 Flash Settings Tab The Flash Settings tab contains information about the flash image and the target hardware. It is important for this region to be configured correctly or the target computer may not function as expected. This region also needs to be configured correctly in order to ensure that the system is secure. Most of the settings here are relevant only to SPI images, but there are also some settings relevant to eMMc or UFS. Based on the selections in the Target Platform and Flash combo boxes, only relevant fields will be editable. There is a section in this tab called “Boot Source Selection” which enables the setting of FPFs to disable boot sources that the platform will not support. Note that while setting these FPFs can speed platform boot, since they are burned to fuses at End of Manufacture, the system can then never be changed to boot from a different boot source. 3.3.10.1 SPI Region Access Control Regions of the SPI flash can be protected from read or write access by setting a protection parameter in the Descriptor Region. The Descriptor Region must be locked before Intel® TXE devices are shipped. If the Descriptor Region is not locked, the Intel® TXE device is vulnerable to security attacks. The level of read/write access provided is at the discretion of the OEM/ODM. Intel FIT gives 3 options for access control full access, which is suitable for pre-production images Intel recommended settings, which lock the regions based on the recommendations in the APL SPI and SMIP Programming Guide, allowing host OS access to the PDR region. Intel recommended settings, which lock the regions based on the recommendations in the APL SPI and SMIP Programming Guide, forbidding host OS access to the PDR region. Intel Confidential 23 Intel® Flash Image Tool (Intel® FIT) 3.3.10.2 SPI VSCC Table This section is used to store information to setup SPI flash access for Intel® TXE. This does not have any effect on the usage of the FPT. If the information in this section is incorrect, Intel® TXE FW may not communicate with the flash device. The information provided is dependent on the flash device used on the system. (For more information, see the Apollo Lake Soc SPI and Signed Master Image Profile(SMIP) Programming Guide, Section 6.4.) VSCC Table can be accessed: 1. Select Flash Settings Tab on the left pan 2. Expand VSCC Entries on the right pan as shown in Figure 9 below: 3.3.10.3 Adding a New Table To add a new table: 1. Choose on top left > VSCC Entry. Figure 3-4. Add VSCC Table Entry Dialog 2. Enter a name into the Entry Name field. (Note: To avoid confusion it is recommended that each table entry name be unique. There is no checking mechanism in Intel FIT to prevent table entries that have the same name and no error message is displayed in such cases.) 3. User can enter into the values for the flash device. NOTES: The VSCC register value will be automatically populated by Intel FIT using the vsccommn.bin file the appropriate information for the Vendor and Device ID. NOTES: If the descriptor region is being built manually the user will need to reference the VSCC table information for the parts being supported from the manufacturers’ serial flash data sheet. The Apollo Lake SPI Programming Guide should be used to calculate the VSSC values. 3.3.10.4 Removing an Existing VSCC Table To remove an existing table: 1. Click on the name of the table in the top tab that the user wants to remove as shown in Figure 12. 24 Intel Confidential Intel® Flash Image Tool (Intel® FIT) Figure 3-5. Deleting VSCC Table Entry Dialog 2. Click close; the table and all of the information will be removed. 3.3.11 Platform Protection This tab includes many settings relating to the protection of the platform, and its integrity. In particular, it includes Table 3-5. Key Platform Protection Fields Option Description SMIP signing key This is the path to the private key used to sign the SMIP, while public key hash of it is included in the OEM hash manifest. OEM Public Key Hash This option is for entering the raw hash string or certificate file for the SHA-256 hash of the OEM public key corresponding to the private key used to sign the OEM Key hash manifest. When manufacture is completed, this hash value is burned into an FPF. This value is used to verify the OEM Key hash, and also DnX images OEM Key Manifest Binary Signed manifest file (created by Intel MEU) containing hashes of keys used for signing components of image There are also fields for configuring Boot Guard and Intel® PTT. Intel Confidential 25 Intel® Flash Image Tool (Intel® FIT) Figure 3-6. Platform Protection Tab 3.3.12 Integrated Sensor Hub This tab allows the enabling of Integrated Sensor Hub (ISH) in the image, and inclusion of a binary file for it. 3.3.13 Download and Execute This tab allows the configuration of settings related to Download and Execute (DnX). Table 3-6. DnX Fields Option DnX Enabled 3.3.14 Description Permanently enable/disable DnX on the platform. This variable gets burned into a fuse (FPF) at close of manufacture, and can never be changed after that. Platform ID Platform ID that DnX uses to verify the image is suitable for the platform. This variable gets burned into a fuse (FPF) at close of manufacture, and can never be changed after that. OEM ID OEM ID that DnX uses to verify the image is suitable for the platform. This variable gets burned into a fuse (FPF) at close of manufacture, and can never be changed after that. USB configurations Series of settings for USB for DnX GPIO Profiles Intel FIT supports the configuration of up to 5 sets of GPIO profiles, as defined in the SPI and SMIP programming guide. By default, Intel FIT creates a single profile, further ones can be added, and extra ones removed, in the same method as VSCC tables are 26 Intel Confidential Intel® Flash Image Tool (Intel® FIT) added and removed (see section 3.3.10.2). When building the image, only the first profile is compiled into the IFWI image. All of the profiles are built as binary files, and placed in the build output directory. They can be used later by Intel ® FPT to update the profile in the image to one of the other profiles defined within FIT. 3.3.15 End Of Manufacturing State In SPI platforms, End of Manufacturing state is implicitly set in the image if the SPI regions are locked with the flash settings. If the regions are not locked, End of Manufacturing state can be set during manufacturing using the FPT tool. On eMMc and UFS platforms, which do not have region locking, End of Manufacturing state can be explicitly set in the Intel FIT image using a dedicated setting. This field is un the Intel® TXE Kernel tab, in the ‘Manufacturing Settings’ section, and is called ‘End of Manufacturing Enable’. 3.3.16 Platform Configuration Tab The PMIC/VR Configuration option in the Platform Configuration tab is new in APL platforms. This allows users to select from a dropdown with 4 voltage regulator (VR) options for the Power Management IC (PMIC) supported on the platform. Selecting the correct option is critical – the platform will not boot if the wrong one is selected. 3.3.17 Other Configuration Tabs Intel FIT has multiple other tabs of settings that can be configured. Each one should be opened, and the settings changed where relevant. In many cases, default values are provided which can be retained. Each field includes help text clarifying its meaning. 3.3.18 Building a Flash Image The flash image can be built with the Intel FIT GUI interface. To build a flash image with the currently loaded configuration: Choose Build > Build Image. – OR – Specify an XML file with the /b option in the command line. Intel FIT uses an XML configuration file and the corresponding binary files to build the SPI flash image. The following is produced when an image is built: Binary file representing the image Text file detailing the various regions in the image Optional set of intermediate files (see Section 5). Multiple binary files containing the image broken up according to the flash component sizes (Note: These files are only created if two flash components are specified.) Intel Confidential 27 Intel® Flash Image Tool (Intel® FIT) The individual binary files can be used to manually program independent flash devices using a flash programmer. However, the user should select the single larger binary file when using Intel FPT. 3.3.19 Decomposing an Existing Flash Image Intel FIT is capable of taking an existing flash image and decomposing it in order to create the corresponding configuration. This configuration can be edited in the GUI like any other configuration (see below). A new image can be built from this configuration that is almost identical to the original, except for the changes made to it. To decompose an image: 1. Chose File > Open. 2. Change the file type filter to the appropriate file type. 3. Select the required file and click Open; the image is automatically decomposed, the GUI is updated to reflect the new configuration, and a folder is created with each of the components in a separate binary file. Note: It is also possible to decompose an image by simply dragging and dropping the file into the main window. When decomposing an image, there are some CVARs which will not be able to be decomposed by Intel FIT. Intel FIT will use Intel default value instead. User might want to check the log file to find out which CVARs were not parsed. Note: The TXE region binary contained in INT folder after image generation only contains the firmware default base settings for TXE region no Intel FIT customization is applied. Note: Rebuilding an image requires access to some of the private keys used for SMIP signing in its initial creation. 3.3.20 Command Line Interface Intel FIT supports command line options. To view all of the supported options: Run the application with the -? option. The command line syntax for Intel FIT is: fit.exe [-exp] [-h|?] [-version|ver] [-b] [-o] [-f] [-me] [-bios] [-pdr] [-bios_overlap] [-pmcp] [-ucode1] [-ucode2] [-iunit] [-ufs_phy] [-sd_token] [-iafw_smip] [-pmc_smip] [-smip_key] [-meu_path] [-st_path] [-st] [-w] [-s] [-d] [-u1] [-u2] [-u3] [-i] [-flashcount] [-flashsize1] [-flashsize2] [-save] Table 3-7. Intel FIT Command Line Options Option 28 Description -exp Displays example usage of the tool -H or -? Displays the command line options. Intel Confidential Intel® Flash Image Tool (Intel® FIT) Option -B Description Automatically builds the flash image. The GUI does not appear if this flag is specified. This option causes the program to run in auto-build mode. If there is an error, a valid message is displayed and the image is not built. If a BIN file is included in the command line, this option decomposes it. -OPath and filename where the image is saved. This command overrides the output file path in the XML file. -f Specifies input file. XML, full image binary, or ME only binary. -TXE Overrides the binary source file for the Intel® TXE Region with the specified binary file. -BIOS Overrides the binary source file for the BIOS Region with the specified binary file. -pdr Overrides the binary source file for the PDR region bios_overlap Overrides the Bios region overlap setting in the XML file. -pmcp Overrides the binary source file for the PMCP region -ucode1 Overrides the binary source file for the uCode1 patch -ucode2 Overrides the binary source file for the uCode2 patch -iunit Overrides the binary source file for the iUnit region -ufs_phy Overrides the binary source file for the UFS PHY -sd_token Overrides the binary source file for the Secure Debug Token -iafw_smip Overrides the binary source file for the IAFW SMIP -pmc_smip Overrides the binary source file for the PMC SMIP -smip_key Overrides Key used to sign SMIP sub partition -meu_path Overrides path to Manifest Extension Utility -st_path Overrides path to Signing tool. -st Overrides signing tool setting -W Overrides the working directory environment variable $WorkingDir. It is recommended that the user set these environmental variables first. (Suggested values can be found in the OEM Bringup Guide.) -S Overrides the source file directory environment variable $SourceDir. It is recommended that the user set these environmental variables before starting a project. -D Overrides the destination directory environment variable $DestDir. It is recommended that the user set these environmental variables before starting a project. -U1 Overrides the $UserVar1 environment variable with the value specified. Can be any value required. -U2 Overrides the $UserVar2 environment variable with the value specified. Can be any value required. Intel Confidential 29 Intel® Flash Image Tool (Intel® FIT) Option Description -U3 Overrides the $UserVar3 environment variable with the value specified. Can be any value required. -I Enables or disables intermediate file generation. -FLASHCOUNT <0, 1 or 2> Overrides the number of flash components in the Descriptor Region. If this value is zero, only the Intel® TXE Region is built. -FLASHSIZE1 <0, 1, 2, 3, 4, 5, 6 or 7> Overrides the size of the first flash component with the size of the option selected as follows: 0 = 512KB 1 = 1MB 2 = 2MB 3 = 4MB 4 = 8MB 5 = 16MB 6 = 32MB 7 = 64MB -FLASHSIZE2 <0, 1, 2, 3, 4, 5, 6 or 7> Overrides the size of the first flash component with the size of the option selected as follows: 0 = 512KB 1 = 1MB 2 = 2MB 3 = 4MB 4 = 8MB 5 = 16MB 6 = 32MB 7 = 64MB -Save 3.3.21 Saves the XML file. Example – Decomposing an Image and Extracting Parameters The CVARS variables and the current value parameters of an image can be viewed by dragging and dropping the image into the main window, which then displays the current values of the image's parameters. An image's parameters can also be extracted by entering the following commands into the command line: fit.exe -f output.bin -save output.xml This command would create a folder named "output". The folder contains the individual region binaries and the Map file. The xml file contains the current Intel® TXE parameters. The Map file contains the start, end, and length of each region. 30 Intel Confidential Intel® Flash Image Tool (Intel® FIT) Note: If using paths defined in the kit, be sure to put "" around the path as the spaces cause issues. Note: The TXE override option changes the TXE base used on command line but still uses the values from the xml or binary passed in. §§ Intel Confidential 31 Flash Programming Tool 4 Flash Programming Tool The FPT is used to program a complete SPI image into the SPI flash device(s). On SPI flash only, FPT can program each region individually or it can program all of the regions with a single command. The user can also use FPT to perform various functions such as: View the contents of the flash on the screen. Write the contents of the flash to a log file. Perform a binary file to flash comparison. Write to a specific address block. Note: For proper function in a Multi-SPI configuration the Block Erase, Block Erase Command and Chip Erase must all match. On all flash types, the user can also use FPT to Program Named variables. 4.1 System Requirements The EFI versions of FPT (fpt.efi) run on a 32-bit or 64-bit EFI environment. Ensure to take the respective binary from within the kit. The Windows* versions (fptw.exe and fptw64.exe) run on a 32-bit or 64-bit EFI environment. The Windows* 64 bit version (fptw64.exe) is designed for running in native 64 bit OS environment which does not have 32 bit compatible mode available for example Windows*PE 64. Both versions require administrator privileges to run under Windows* OS. The user needs to use the Run as Administrator option to open the CLI. FPT requires that the platform is bootable (i.e. working BIOS) and an operating system to run on. It is designed to deliver a custom image to a computer that is already able to boot and is not a means to get a blank system up and running. FPT must be run on the system with the flash memory to be programmed. One possible workflow for using FPT is: 1. A pre-programmed flash with a bootable BIOS image is plugged into a new computer. 2. The computer boots. 3. FPT is run and a new IFWI image is written to flash. 4. The computer powers down. 5. The computer powers up, boots, and is able to access its Intel ® TXE capabilities as well as any new custom BIOS features. 4.2 Microsoft Windows* Required Files The Microsoft Windows* version of the FPT executable is fptw.exe. The following files must be in the same directory as fptw.exe: 32 Intel Confidential Flash Programming Tool fparts.txt – contains a comma-separated list of attributes for supported flash devices. The text in the file explains each field. An additional entry may be required in this file to describe the flash part which is on the target system. Examine the target board before adding the appropriate attribute values. The supplied file is already populated with default values for SPI devices used with Intel CRBs. fptw.exe – the executable used to program the final image file into the flash. pmxdll.dll idrvdll.dll In order for tools to work under the Windows* PE environment, you must manually load the driver with the .inf file in the Intel® TXE driver installation files. Once you locate the .inf file you must use the Windows* PE cmd drvload HECI.inf to load it into the running system each time Windows* PE reboots. Failure to do so causes errors for some features. Table 4-1: FPT OS Requirements FPT version Target OS Support Drivers FPTw.EXE Windows* 32 / 64 bit w/WOW64 idrvdll.dll, pmxdll.dll FPTW64.EXE Windows* Native 64 bit idrvdll32e.dll, pmxdll32e.dll Note: In the Windows* environment for operations involving global reset you should add a pause or delay when running FPTW using a batch or script file. 4.3 EFI Required Files The EFI version of the FPT executable is fpt.efi. The following files must be in the same directory as fpt.efi: 4.4 fparts.txt – contains a comma-separated list of attributes for supported flash devices. The text in the file explains each field. An additional entry may be required in this file to describe the flash part which is on the target system. Examine the target board before adding the appropriate attribute values. The supplied file is already populated with default values for SPI devices used with Intel CRBs. fpt.efi – the executable used to program the final image file into the flash. Before running fpt.efi, all the required files must be placed at root directory of the disk otherwise errors like “FPT is unable to find FPARTS.TXT “might be displayed. Programming the Flash Device Once the Intel® TXE is programmed, it runs at all times. Intel® TXE is capable of writing to the flash device at any time, even when the management mode is set to none and it may appear that no writing would occur. Intel Confidential 33 Flash Programming Tool 4.5 Programming CVARS FPT can program the CVARS and change the default values of the parameters. The modified parameters are used by the Intel® TXE FW after a global reset (Intel® TXE + HOST reset) or upon returning from a G3 state. CVARS can be programmed using getfile/setfile/CommitFiles APIs. The variables can be modified individually or all at once via a text file. Note: After setting CVARs, you need to call the –commit command to ensure they are committed. This is different to previous platforms. Table 4-2. Named Variables Options Option Description fpt.exe –CVARS Displays a list of the supported manufacturing configurable named variables (CVARs). fpt.exe –cfggen Creates a list of blank CVARs in a text file that lets the user update multiple line configurable CVARS. The variables have the following format in the text file: CVAR name = value which will be used by setfile. fpt.exe –U –N Accept the CVAR name fpt.exe –IN Accepts cfggen file with values set and will use setfile to update See Appendix A for a description of all the CVAR parameters. 4.6 Usage The EFI and Windows* versions of the FPT can run with command line options. To view all of the supported commands: Run the application with the -? option. The commands in EFI and Windows* versions have the same syntax. The command line syntax for fpt.efi, fpt.exe and fptw.exe is: FPT.exe [-H|?] [-VER] [-EXP] [-VERBOSE] [-Y] [-P] [-LIST] [-I] [-F] [-ERASE] [-VERIFY][-NOVERIFY] [-D] [-DESC] [-BIOS] [-TXE] [-PDR] [-B] [-E][REWRITE] [-ADDRESS|A] [-LENGTH|L] [-CVARS] [-CFGGEN] [-U] [-O] [-IN] [-N][-V] [-CLOSEMNF] [-GRESET] [-PAGE] [-SPIBAR] [-R] [-VARS] [-COMMIT] [-HASHED] [-FPFS] [-COMMITFPFS][-RPBIND] [-GETPID] Table 4-3. Command Line Options for fpt.efi, fpt.exe and fptw.exe Option 34 Description Help (-H, -?) Displays the list of command line options supported by FPT tool. -VER Shows the version of the tools. -EXP Shows examples of how to use the tools. Intel Confidential Flash Programming Tool Option Description -VERBOSE [ ] Displays the tool's debug information or stores it in a log file. -Y Bypasses Prompt. FPT does not prompt user for input. This confirmation will automatically be answered with "y". -P Flash parts file. Specifies the alternate flash definition file which contains the flash parts description that FPT has to read. By default, FPT reads the flash parts definitions from fparts.txt. -LIST Supported Flash Parts. Displays all supported flash parts. This option reads the contents of the flash parts definition file and displays the contents on the screen. -I Info. Displays information about the image currently used in the flash. -F Flash. Programs a binary file into an SPI flash. The user needs to specify the binary file to be flashed. FPT reads the binary, and then programs the binary into the flash. After a successful flash, FPT verifies that the SPI flash matches the provided image. Without specify the length with –L option, FPT will use the total SPI size instead of an image size. The NOVERFY sub-option *must* follow the file name. This will allow flashing the SPI without verifying the programming was done correctly. The user will be prompted before proceeding unless ‘-y’ is used. -ERASE: Block Erase. Erases all the blocks in a flash. This option does not use the chip erase command but instead erases the SPI flash block by block. This option can be used with a specific region argument to erase that region. This option cannot be used with the –f, -b, -c, -d or –verify options. -VERIFY : Verify. Compares a binary to the SPI flash. The image file name has to be passed as a command line argument if this flag is specified. -D : Dump. Reads the SPI flash and dumps the flash contents to a file or to the screen using the STDOUT option. The flash device must be written in 4KB sections. The total size of the flash device must also be in increments of 4KB. -DESC: Read/Write Descriptor region. Specifies that the Descriptor region is to be read, written, or verified. The start address is the beginning of the region. -BIOS: Read/Write BIOS region. Specifies that the BIOS region is to be read, written, or verified. Start address is the beginning of the region. Note that in APL platforms, the entire IFWI image resides in the BIOS region. -TXE: Read/Write Intel® TXE region. Specifies that the Intel® TXE region is to be read, written, or verified. The start address is the beginning of the region. Note that in APL platforms, the entire IFWI image resides in the BIOS region, and the TXE region in SPI is only used for TXE ROM Bypass code. Intel Confidential 35 Flash Programming Tool Option Description -PDR: Read/Write PDR region. Specifies that the PDR region is to be read, written, or verified. The start address is the beginning of the region. -B: Blank Check. Checks whether the SPI flash is erased. If the SPI flash is not empty, the application halts as soon as contents are detected. The tool reports the address at which data was found. -E: Skip Erase. Does not erase blocks before writing. This option skips the erase operation before writing and should be used if the part being flashed is a blank SPI flash device. -A , -ADDRESS Write/Read Address. Specifies the start address at which a read, verify, or write operation must be performed. The user needs to provide an address. This option is not used when providing a region since the region dictates the start address. -L , LENGTH Write/Read Length. Specifies the length of data to be read, written, or verified. The user needs to provide the length. This option is not used when providing a region since the region/file length determines this. -CVARS: Lists all the current manufacturing line configurable variables. -U: Update. Updates the CVARs in the flash. The user can update the multiple FOVs by specifying their names and values in the parameter file. The parameter file must be in an INI file format (the same format generated by the –cfggen command). The -in option is used to specify the input file. -O Output File. The file used by FPT to output CVAR information. -IN Input File. The file used by FPT for CVAR input. This option flag must be followed by a text file (i.e., fpt –u –in FPT.cfg). The tool updates the CVARs contained in the text file with the values provided in the input file. User can also use FPT –cfggen to generate this file. -N Name. Specifies the name of the CVAR that the user wants to update in the image file or flash. The name flag must be used with Value (-v). -V Value. Specifies the value for the CVAR variable. The name of variable is specified in the Name flag. The Value flag must follow the Name flag. -CLOSEMNF : End of Manufacturing. This option is executed at the end of manufacturing phase. This option does the following: CloseMnf does the following: Commits all FPFs (if firmware is PV), even if CommitFPF was not called Does RPMB binding Sets SOC Config lock Sets all ‘Return to Factory Defaults’ to default values Creates eMMc/UFS data partitions Sets the Intel® TXE manufacturing mode done bit (Global Locked bit). 36 Intel Confidential Flash Programming Tool Option Description Verifies that the Intel TXE manufacturing mode done bit (Global Locked) is set. ® For SPI, sets the master region access permission in the Descriptor region to its Intel-recommended value, and verifies that flash regions are locked. If the image was properly set before running this option, FPT skips all of the above and reports PASS. If anything was changed, FPT automatically forces a global reset through the CF9GR mechanism. The user can use the no reset option to bypass the reset. If nothing was changed, based on the current setting, the tool reports PASS without any reset. The "NO" addition will prevent the system from doing a global reset following a successful update of the TXE Manufacturing Mode Done, the Region Access permissions, or both. The "PDR" addition will allow CPU\BIOS Read & Write access to the PDR region of flash. Note: In order to allow FPT to perform a global reset, BIOS should not lock CF9GR when Intel® TXE is in manufacturing mode. This step is highly recommended to the manufacturing process. Without doing proper end of manufacturing process would lead to ship platform with potential security/privacy risk. Important: Before using this option with Production MCP / FW verify that the values for the PTT and Anchor Cove are correct in your image. Once this setting is used it will permanently commit values into the Field Programmable Fuses and cannot be undone. -GRESET : Global Reset. FPT performs a global reset. On mobile platforms this includes driving GPIO30 low. Mobile platforms require a SUS Well power-down acknowledge-driven low before the global reset occurs or the platform may not boot up from the reset. The "NO" afterwards disables the driving of GPIO30 for mobile SKUs. -CFGGEN CVAR Input file generation option. This creates a file which can be used to update the line configurable CVARS. -SPIBAR: Display SPI BAR. FPT uses this option to display the SPI Base Address Register. -R CVAR or FPF Read. FPT uses this option to retrieve value for a specific CVAR or FPF file name. The value of the variable is displayed. By default, all non- secure variables are displayed in clear-text and secure CVAR will be displayed in HASH. The -hashed option can be used to display the hash of a value instead of the clear-text value. -VARS: Display Supported Variables. FPT uses this option to display all variables supported for the -R and -COMPARE commands. -COMMIT: Commit. FPT uses this option to commit all setfile commands CVARs changes to CVAR and cause relevant reset accordingly If no pending variable changes are present, Intel® TXE does not reset and the tool displays the status of the commit operation. -COMMITFPF Commits CVAR values to FPF via firmware and prevents further modification of FPFs Intel Confidential 37 Flash Programming Tool Option Description -PAGE Pauses the screen when a page of text has been reached. Hit any key to continue. -HASHED: Hash Variable Output. FPT uses this option to distinguish whether the displayed output is hashed by the FW. For variables that can only be returned in hashed form this option has no effect – the data displayed is hashed regardless. -FPFS Displays a list of the FPFs -COMMITFPFS Commit the FPFs permanently into the MCP. -REWRITE Allows to rewrite the SPI with file data even if flash is identical. -RPBIND Bind RP -GETPID Retrieve the part id into a file Table 4-4. FPT –closemnf Behavior Condition before FPT closemnf Condition after FPT -closemnf Other FPT Action Intel TXE Mfg Done bit set Flash Access set to Intel rec values Intel TXE Mfg Mode Intel TXE Mfg Done bit set Flash Access set to Intel rec values? Intel TXE Mfg Mode FPT return value ** Global Reset No No Enabled Yes Yes Disabled 0 Yes No Yes Enabled No Yes Enabled 1 No Yes No Enabled Yes Yes Disabled 0 Yes Yes Yes Disabled Yes Yes Disabled 0 No ** Return value 0 indicates successful completion. In the second case, FPT –closemnf returns 1 (= error) because it is unable to set the Intel TXE Mfg Done bit, because flash permissions are already set to Intel recommended values (host cannot access Intel TXE Region). 4.7 Fparts.txt File The fparts.txt file contains a list of all SPI flash devices that are supported by FPT. The flash devices listed in this file must contain a 4KB erase block size. If the flash device is not listed, the user will receive the following error: Intel (R) Copyright Platform: Error 75: Flash Programming Tool. Version: x.x.x.xxxx (c) 2007-2014, Intel Corporation. All rights reserved. Intel(R) Qxx Express Chipset “fparts.txt” file not found. If the SPI flash device is not located in fparts.txt, the user is expected to provide information about the device, inserting the values into fparts.txt in same format as is used for the rest of the devices. Detailed information on how to derive the values in fparts.txt is found in the Apollo Lake SPI Programming Guide. The device must have a 4KB erase sector and the total size of the SPI Flash device must be a multiple of 4KB. The values are listed in columns in the following order: 38 Intel Confidential Flash Programming Tool 4.8 Display name Device ID (2 or 3 bytes) Device Size (in bits) Block Erase Size (in bytes - 256, 4K, 64K) Block Erase Command Write Granularity (1 or 64) Unused Examples The following examples illustrate the usage of the EFI version of the tool (fpt.efi). The Windows* version of the tool (Fptw.exe) behaves in the same manner apart from running in a Windows* environment. 4.8.1 Complete SPI Flash Device Burn with Binary File C:\ fpt.exe –f spi.bin EFI: >fpt.efi –f spi.bin or fs0:\>fpt.efi –f spi.bin This command writes the data in the spi.bin file into a whole SPI flash from address 0x0 4.8.2 Dump full image fpt.exe –d imagedump.bin This command dumps the full image into the imagedump.bin file. 4.8.3 Display SPI Information fptw.exe –I This command displays information about the flash devices present in the computer. The base address refers to the start location of that region and the limit address refers to the end of the region. If the flash device is not specified in fparts.txt, FPT returns the error message "There is no supported SPI flash device installed". 4.8.4 Verify Image with Errors fpt.exe -verify outimage.bin Intel Confidential 39 Flash Programming Tool This command compares the Intel® TXE region programmed on the flash with the specified FW image file outimage.bin. If the -y option is not used; the user is notified that the file is smaller than the binary image. This is due to extra padding that is added during the program process. The padding can be ignored when performing a comparison. The -y option proceeds with the comparison without warning. 4.8.5 Verify Image Successfully fpt.exe -verify outimage.bin This command compares image.bin with the contents of the flash. Comparing an image should be done immediately after programming the flash device. Verifying the contents of the flash device after a system reset results in a mismatch because Intel® TXE changes some data in the flash after a reset. 4.8.6 Get Intel® TXE settings fpt.exe –r “Privacy/SecurityLevel” Please note that only –r (get command) supports the –hashed optional command argument. When –hashed is used, variable value will be returned in hashed format, otherwise it will be returned in clear txt. There are a few exceptions in the case of variables PID and PPS, their value will be always returned in hashed format regardless –hashed is used or not. This is primarily because of security concern. 4.8.7 Compare Intel® TXE Settings FPT –verbose –compare vars.txt compares variables with suggested values in vars.txt, and report result on the screen. Vars.txt can have the following data with verbose information: FPT –VARS can be used to get the VAR list for the platform and get the value/format from Intel FIT advanced mode. There are settings in the Intel® TXE which are stored encrypted. Users will not be able to compare them using clear text values. Please use FPT –R option to read the hash value of those settings and use them as baseline for the expected value. 4.8.8 CVAR Configuration File Generation (-cfggen) It creates an input file which can be used to update CVARs. The file includes all the current CVAR. When creating the file, it extracts the fixed offset variables from flash. Note, the file generated will change every time the list of CVAR changes. fpt.exe –cfggen [ -o
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 90 Language : en-US Title : System Tools for Broxton: Intel® Trusted Execution Environment 3.0 User Guide Author : CCE Tech Pubs - Intel Corp Creator : Microsoft® Word 2013 Create Date : 2016:06:14 10:33:54-07:00 Modify Date : 2016:06:14 10:33:54-07:00 Producer : Microsoft® Word 2013EXIF Metadata provided by EXIF.tools