summaryrefslogtreecommitdiff
path: root/Platform
AgeCommit message (Collapse)Author
2019-09-06QemuVirt: Add support for building StandaloneMm imagestmm_on_qemuSughosh Ganu
Add support for building StandaloneMm image for the qemu virt platform by adding the description(dsc) and fdf files. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
2019-08-16Platforms/RPi3: Add multiple embedded Device Tree selectionHEADmasterPete Batard
The Raspberry Pi 3 platform currently has 2 different models, each with a different Device Tree. Rather than embedding a single one, and requiring users to manually provide the other, this patch ensures that we now embed both and and serve the relevant one at runtime. This patch also adds support for the Raspberry Pi 4 in FdtDxe. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-08-16Platforms/RPi3: Improve debug output in FdtDxePete Batard
Harmonize messages, avoid acronyms and provide human readable status codes. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-08-15Vlv2TbltDevicePkg/FmpDeviceLib: Implement new APIsJin, Eric
Implement new APIs defined in FmpDeviceLib * RegisterFmpUninstaller() * FmpDeviceSetContext() * FmpDeviceGetHardwareInstance() Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Eric Jin <eric.jin@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com>
2019-08-12ClevoOpenBoardPkg: Remove batch build scriptsAgyeman, Prince
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1775 Removed batch build scripts as they are replaced by build_bios.py Signed-off-by: Agyeman <prince.agyeman@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-08-12Platform/Intel: Update Readme.md to point to edk2-non-osi master branchNate DeSimone
Updated Platform/Intel/Readme.md to point to master branch on edk2-non-osi instead of devel-MinPlatform Updated edk2-platforms/Readme.md to point to Platform/Intel/Readme.md for build instructions on Intel based Minimum Platforms Added a link to the EDK II Minimum Platform Draft Specification to Platform/Intel/Readme.md Cc: Andrew Fish <afish@apple.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-08-12Vlv2TbltDevicePkg/VlvPlatformInitDxe: Avoid memset() intrinsicMichael D Kinney
VS2017 builds for X64 are failing due to the use of the memset() intrinsic. The local variable GopVersion is an array that is initialed in the declaration. Update to use ZeroMem() to initialize GopVersion. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <Zailiang.sun@intel.com> Reviewed-by: Gary Lin <glin@suse.com>
2019-08-12Vlv2Tbl2DevicePkg/PlatformSetupDxe: Fix setup info regressionMichael D Kinney
The following commit removed the call to SetupInfo() from SystemConfigExtractConfig(). This caused the BIOS, Processor, Platform, and Memory information strings from being filled in with their proper values. https://github.com/tianocore/edk2-platforms/commit/6738c654c8eddccc2a1230a4541bc2cb74c10ea5 The call to SetupInfo() is added back. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <Zailiang.sun@intel.com> Tested-by: Gary Lin <glin@suse.com>
2019-08-11Platform/Intel/KabylakeOpenBoardPkg: Fix build.Nate DeSimone
The build for KabylakeOpenBoardPkg is presently broken due to WORKSPACE_PLATFORM_BIN being defined to a marco of the same name in KabylakeOpenBoardPkg/KabylakeRvp3/build_config.cfg Setting this macro to an empty string resolves the issue. Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Michael Kubacki <michael.a.kubacki@intel.com> Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com>
2019-08-09Vlv2TbltDevicePkg: Convert the device GUIDs of capsules to lowercasedevel@edk2.groups.io
LVFS assumes the GUIDs in the metainfo.xml are lowercase, so fwupdmgr may fail to match the devices. Convert the GUIDs to lowercase to be compatible with LVFS. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-08-09Vlv2TbltDevicePkg: Add the missing SMBIOS bitsGary Lin
fwupd 1.2.10 checks the bit 3 of BIOS Characteristics Extension Byte 2, i.e. UefiSpecificationSupported, to determine if the system supports UEFI or not. Since the bit was missing, fwupd failed to load uefi plugin. This commit adds 3 bits of BIOS Characteristics Extension Byte 2: TargetContentDistributionEnabled, UefiSpecificationSupported, and VirtualMachineSupported to complete the table. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-08-09Vlv2TbltDevicePkg: Clean up the unused variables and functionGary Lin
In PlatformBootOption.c: * mContinueBoot and mBootMenuBoot were assigned as "!EnterSetup" before being used. However, EnterSetup is always "FALSE", so it's meaningless to keep those variables. * mPxeBoot is defined but never used. * DetectKeypressCallback() is never used. So we can remove it altogether with mHotKeypressed and HotKeyEvent. * RegisterBootOptionHotkey() only uses EFI_INPUT_KEY from EFI_KEY_DATA, so we don't need to use EFI_KEY_DATA for F2 and F7 in RegisterStaticHotkey(). v2: Update the description for the removal of EFI_KEY_DATA Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-08-09Vlv2TbltDevicePkg: Only sort boot options when necessarydevel@edk2.groups.io
* PlatformBootManagerAfterConsole() always sorted the boot options at the end, and this would invalidate the BootOrder created by the user. Besides, the current implementation would sort the boot options twice, and this is not efficient. We should just sort the boot options once at the end of the function only for the very first boot. * Update the string in IsNeedSortBootOption() to match the description of BootManagerMenuApp. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-08-09Vlv2TbltDevicePkg: Add the missing BootManagerMenuAppGary Lin
* BootManagerMenuApp wasn't imported so the Boot Device Menu never showed correctly. * Also fix the description of UiApp. In the "Rule.Common.UEFI_APPLICATION.UI" section, it intends to change the description of UiApp to "Enter Setup" to make the boot option self-explaining in the Boot Menu. But this didn't happen since the rule wasn't assigned to UiApp correctly, so the Boot Menu only showed "UiApp" which is not understandable to users. This patch adds "RuleOverride = UI" to UiApp.inf to change the description. v2: Update the description Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-08-09Vlv2TbltDevicePkg: Adjust the device priorityGary Lin
In BootOptionPriority(), the higher number implies the lower boot priority. This commit lowers the priority of network booting and raises the priority of the local devices. Besides, SD and EMMC are also added to BootOptionPriority() since Minnowboard comes with a SD card slot. v2: Also match MSG_URI_DP to sort HTTP Boot options Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-08-09Platform/RPi3: Report device tree modification errors using Print()Michael Brown
Most functions in FdtDxe currently return VOID and report errors using only DEBUG. Update functions to return EFI_STATUS and report errors using Print() so that errors are at least visible in non-debug builds. Signed-off-by: Michael Brown <mbrown@fensystems.co.uk> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-08-08KabylakeOpenBoardPkg: Fix duplicate GUID in DSCMichael Kubacki
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2063 Assigns a unique GUID to PLATFORM_GUID. Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-08-08ClevoOpenBoardPkg: Fix duplicate GUID in DSCMichael Kubacki
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2064 Assigns a unique GUID to PLATFORM_GUID. Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-08-08MinPlatformPkg: Fix duplicate GUIDMichael Kubacki
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1983 PeiLib.inf and TestPointCheckLibNull.inf currently have the same GUID. This patch assigns a unique GUID to each library INF file. Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2019-08-08NetsecDxe: SnpInitialize() waits for media linking upSatoru Okamoto
The latest NetsecDxe requires issueing phy reset at the last stage of initialization to safely exit loopback mode. However, as a result, it takes a couple of seconds for link state to get stable, which could cause auto-chosen pxeboot to fail due to MediaPresent check error. This patch adds link state check with 5s timeout in NetsecDxe initialization. The timeout value can be adjustable via configuration file. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-08-08Platform/RPi3: Add Debian 10 installation in Systems.mdPete Batard
This documents the installation of vanilla Debian 10.0 ARM64 (netinst), which we validated for both Model B and Model B+. Also fix an erroneous reference in an RPi3.fdf comment. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-07-31ClevoOpenBoardPkg: Auto configure Fsp*BaseAddress PCDChasel Chiu
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1863 PcdFsp*BaseAddress now will be updated in FDF basing on flash map. DSC will only define types of those PCDs and always having 0 as default. Test: internal platform booted with this patch. Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-07-31KabylakeOpenBoardPkg: Auto configure Fsp*BaseAddress PCDChasel Chiu
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1863 PcdFsp*BaseAddress now will be updated in FDF basing on flash map. DSC will only define types of those PCDs and always having 0 as default. Test: internal platform booted with this patch. Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-07-31Platform/Intel: Auto configure Fsp*BaseAddress PCDChasel Chiu
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1863 Consume RebaseFspBinBaseAddress.py which will only rebase FSP binary without patching platform DSC. Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-07-31MinPlatformPkg: Auto configure Fsp*BaseAddress PCDChasel Chiu
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1863 Add python script which will rebase FSP binary without patching platform DSC for Fsp*BaseAddress PCDs. Those base address PCD will be updated in FDF basing on flash map. Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-07-30ClevoOpenBoardPkg: Add display supportAgyeman, Prince
Added vbt and configured gpio to enable N1xxxW display. Cc: Liming Gao <liming.gao@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Signed-off-by: Prince Agyeman <prince.agyeman@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-07-29Platform/SolidRun: Replace BSD License with BSD+Patent LicenseMichael D Kinney
https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Email thread with approval from Marvell: https://edk2.groups.io/g/devel/message/41507 Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Marcin Wojtas <mw@semihalf.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Marcin Wojtas <mw@semihalf.com>
2019-07-29Platform/Marvell: Replace BSD License with BSD+Patent LicenseMichael D Kinney
https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Email thread with approval from Marvell: https://edk2.groups.io/g/devel/message/41507 Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Marcin Wojtas <mw@semihalf.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Marcin Wojtas <mw@semihalf.com>
2019-07-25Platform/RPi3: Provide "ethernet[0]" aliases in device treeMichael Brown
Older device trees tend to use the alias "ethernet". Newer device trees tend to use "ethernet0" since older versions of U-Boot would skip aliases that do not include an index number. See, for example, Linux kernel commit 10b6c0c ("ARM: dts: bcm2835: add index to the ethernet alias") and U-Boot commit f8e57c6 ("fdt_support: Fixup 'ethernet' aliases not ending in digits"). Ensure that both "ethernet" and "ethernet0" aliases are present within the device tree, to provide compatibility with operating systems that expect either alias, and with device trees that contain either (or both) aliases. Signed-off-by: Michael Brown <mbrown@fensystems.co.uk> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-07-23Vlv2TbltDevicePkg/PlatformDxe: Use S3BootScriptWidth enumsMichael D Kinney
Update to use S3BootScriptWidth enum values instead of EfiBootScriptWidth enum values when calling S3BootScriptLib services. This fixes an XCODE5 build failure. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Reviewed-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg: Remove __GNUC__ specific #ifdefsMichael D Kinney
Remove #ifdefs for __GNUC__, so the builds are the same for GCC, VS20xx, and XCODE5. This resolves an XCODE5 build break for an unsupported pragma. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Tested-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg: Fix XCODE5 build errorsMichael D Kinney
* Remove extra parenthesis in if statements * Remove local variable structure initialization that adds use of memcpy() on XCODE X64 builds. Move per-initialize structure to a module global. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Tested-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg: Add XCODE5 4K alignment DLINK_FLAGSMichael D Kinney
Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Tested-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg/PlatformDxe: Add missing #ifMichael D Kinney
Add missing #if for SENSOR_INFO_VAR_SUPPORT around the function InitializeSensorInfoVariable(). This function is referencing 2 global variables that are not defined, and this breaks VS2017 for undefined global variables. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Tested-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2Tbl2DevicePkg/EfiRegTableLib: Use S3_BOOT_SCRIPT_LIB_WIDTHMichael D Kinney
Update calls to S3BootScriptxxx() services to use type S3_BOOT_SCRIPT_LIB_WIDTH instead of EFI_BOOT_SCRIPT_WIDTH. Fixes XCODE5 build failures. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Reviewed-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg: Remove non ASCII characters from source filesMichael D Kinney
Remove non-ASCII characters from comments in source files. These are preventing the build tool from generating report files on Linux systems. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Reviewed-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to PythonMichael D Kinney
Convert Build_IFWI and bld_vlv BAT/sh scripts to OS independent python script PreBuild.py. This script generates the BiosId file. Standard EDK II build commands are used to build FW images and capsules. * Sample VS2015x86 commands for IA32/X64 and DEBUG/RELEASE build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc build -a IA32 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc build -a IA32 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc * Sample GCC5 commands for IA32/X64 and DEBUG/RELEASE build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc build -a IA32 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc build -a IA32 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Reviewed-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg: Convert BAT/sh Capsule scripts to PythonMichael D Kinney
Convert all the BAT/sh files used to generate capsules to OS independent Python script. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Reviewed-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg: Remove Linux/GCC specific DSC/FDF filesMichael D Kinney
* Consolidate DSC/FDF files to remove Linux/GCC specific ones. Since the FCE tool is no longer required, the FDF files for building under all supported Host OS environments are now the same. * Update the IA32 and X64 build output directories to use a consistent naming convention. * Make small adjustment to FV layout so everything still fits when SOURCE_DEBUG_ENABLE is TRUE. * Remove unused directories that are not referenced by any DSC/FDF files. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Reviewed-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg: Convert use of FCE tool to Structured PCDMichael D Kinney
Update this platform to not use the FCE tool to init the platform setup variable with default values from HII forms. Instead, use a Structured PCD with field default values extracted from the HII. The default value for the Structured PCD is stored in the VPD region of the FLASH, so it is always available. The platform setup variable is set to the value from the VPD region if the variable does not exist or is the wrong size. This change also removes the need for Linux/GCC binary files use to initialize the NV store. * Update PlatformSetupoDxe VFR to declare the platform setup structure as an efivarstore instead of varstore. * Update PlatformSetupDxe to return EFI_UNSUPPORTED from the HII_CONFIG_ACCESS_PROTOCOL RouteConfig() and ExtractConfig() services. * Fix a use after free issue in PlatformSetupDxe that could store a random value into the "OsSelection" when the Load Default and Exit setup menu item is used. * Add PlatformSetupDefault.dsc file that contains the default values for all setup questions. * Update DSC files to declare VPD_TOOL_GUID which is required to generate the binary file used to populate the VPD region * Update DSC files to declare Default Stores for both STANDARD and MANUFACTURING mode. Only STANDARD mode is used right now. * Update FDF files to add a VPD region * Update GCC FDF file to initialize the NvStorageVariable regions the same as the non GCC FDF file. * Update DEC file with platform setup Structured PCD called PcdSetup that is associated with the SYSTEM_CONFIGURATION C structure. * Update PlatformEarlyInit module to detect if the platform setup variable exists or is corrupt. If it does not exist or is corrupt, then set PcdSetNvStoreDefaultId to select STANDARD defaults. This initializes a HOB that contains the platform setup defaults and this HOB is used by the Variable PEIM to return the platform setup variable value. * Remove FCE.exe and BfmLib.exe files Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Tested-by: Gary Lin <glin@suse.com>
2019-07-23Vlv2TbltDevicePkg/PlatformPei: Add boot mode detectionMichael D Kinney
Add boot mode detection back into PlatformPei that was inadvertently removed in the following commit: https://github.com/tianocore/edk2-platforms/commit/d6211390793fbd0a89b14001c43e0ef942c85425 Boot mode detection at this point is required to detect the boot mode of BOOT_ON_FLASH_UPDATE that is required to detect, coalesce, and process UEFI Capsules. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Tested-by: Gary Lin <glin@suse.com>
2019-07-23Platform/RaspberryPi: add license header to PlatformUiAppLib.infLeif Lindholm
PlatformUiAppLib.inf was accidentally merged without an explicit license header. Add one that matches the actual source code (BSD+Patent, after the general relicensing earlier this year. (This has been OK:d with Andrei off-list.) Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-07-23Platform,Silicon RPi3: update license headers to BSD+PatentLeif Lindholm
RpiMbox.h and Bcm2836.h originate from Ard's original efforts, and were always intended to be 2-clause BSD licensed, but due to a copy/paste error, they ended up with a 3-clause BSD license instead - which meant they were left out in Mike's major relicensing set. (This is explained/confirmed in https://edk2.groups.io/g/devel/message/40909 and https://edk2.groups.io/g/devel/message/40911.) This patch replaces the license headers in both with the SPDX statement bringing it inline with the majority of the rest of the codebase. Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2019-07-19Platform/RPi3: Reduce debug noise when using a USB network deviceMichael Brown
The design of the EFI_USB2_HC_PROTOCOL does not allow for long-lived bulk IN transactions as used by network devices, but instead requires the network driver to rely on repeatedly issuing bulk IN transactions with a very short timeout and in the expectation that most bulk IN transactions will time out since no packet will have been received. Timeouts are therefore normal and expected events when using a USB network device under UEFI. This currently results in a constant stream of spurious "Wait4Bit: set timeout" and "Channel %u did not halt" debug messages whenever the network device is open. All callers of Wait4Bit already report a meaningful error in the event of a timeout, so the Wait4Bit message may safely be removed without impacting the ability to debug the code. The "Channel %u did not halt" message may be moved to its sole call site and restricted to the situation in which the subsequent attempt to gracefully disable the channel did actually fail. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-07-19Platform/RPi3: Gracefully disable USB channel after a timeoutMichael Brown
When a timeout occurs, attempt to gracefully disable the channel. Report a final status of EFI_TIMEOUT if the channel was disabled successfully, or EFI_DEVICE_ERROR if we were unable to disable the channel. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-07-19Platform/RPi3: Use Wait4Bit return value consistentlyMichael Brown
There are multiple points in the existing code that take the UINT32 value returned by Wait4Bit and return it directly as an EFI_STATUS value. If Wait4Bit fails, this will result in a spurious EFI_STATUS value of 0x1 (EFI_WARN_UNKNOWN_GLYPH) being returned to the caller. A caller treating any non-zero value as an error will see this as a failure, but a caller using the EFI_ERROR macro will incorrectly see it as a success. Fix by defining the return type of Wait4Bit as EFI_STATUS and ensuring that a valid EFI_STATUS value is always returned. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-07-19Platform/Rpi3: Add custom CPU frequency supportPete Batard
Allow users to set a custom CPU frequency [100 - 1600 MHz] in 'Device Manager' -> 'Raspberry Pi Configuration'. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-07-19Platform/RPi3: Set the boot option of UEFI Shell as non-activePete Batard
This makes boot from SD/USB the default, which is what most users should expect. Pressing F1 at boot still boots to UEFI Shell. Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2019-07-17ClevoOpenBoardPkg: Added NVMe boot supportAgyeman, Prince
Added NVMe dxe driver to enable N1xxWU platforms boot from NVMe Cc: Liming Gao <liming.gao@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Signed-off-by: Agyeman <prince.agyeman@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-07-12Vlv2TbltDevicePkg: Update Readme.md for multiple reposMichael D Kinney
Update Readme.md with instructions to clone content from the edk2, edk2-platforms, and edk2-non-osi repositories and build Vlv2TbltDevicePkg for Windows and Linux. Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Gary Lin <glin@suse.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com>