Commit Graph

219 Commits

Author SHA1 Message Date
Laszlo Ersek
536d2173b2 roms: build edk2 firmware binaries and variable store templates
Add the "efi" target to "Makefile".

Introduce "Makefile.edk2" for building and cleaning the firmware images
and varstore templates.

Collect the common bits from the recipes in the helper script
"edk2-build.sh".

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
2019-04-17 15:38:35 +02:00
Laszlo Ersek
ee5ef780de roms/Makefile: replace the $(EDK2_EFIROM) target with "edk2-basetools"
We don't (can't) have a recipe for building just $(EDK2_EFIROM);
therefore, while we call the target $(EDK2_EFIROM), we actually build all
of the edk2 BaseTools. Rename the target to edk2-basetools, and update the
iPXE prerequisite accordingly. This will let other targets depend on
"edk2-basetools", where an $(EDK2_EFIROM) pre-requisite would be
misleading.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
2019-04-17 15:38:35 +02:00
Laszlo Ersek
fd75d2c2ee roms/edk2-funcs.sh: add the qemu_edk2_get_thread_count() function
The edk2 "build" utility natively supports building modules (that is, INF
files) in parallel. The feature is not useful when building a single
module (with the "-m" option), but it is useful for platform firmware
builds (which include many modules). Add a function that determines the
"-n" option argument for "build", from the MAKEFLAGS variable (i.e. based
on the presence of a make job server).

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
2019-04-17 15:38:35 +02:00
Laszlo Ersek
b9a4c15164 roms/edk2: advance to tag edk2-stable201903
Update the roms/edk2 submodule hash from edk2-stable201811 to
edk2-stable201903. The release notes are available at
<https://github.com/tianocore/edk2/releases/tag/edk2-stable201903>.

$ git shortlog edk2-stable201811..edk2-stable201903

Achin Gupta (9):
      ArmPkg: Add PCDs needed for MM communication driver.
      ArmPkg/Drivers: Add EFI_MM_COMMUNICATION_PROTOCOL DXE driver.
      ArmPkg/Include: Add MM interface SVC return codes.
      ArmPkg/ArmMmuLib: Add MMU Library suitable for use in S-EL0.
      StandaloneMmPkg: Add missing dependency on PL011UartClockLib
      StandaloneMmPkg: Enforce alignment check for AArch64
      StandaloneMmPkg: Zero data structure explicitly
      StandaloneMmPkg: Replace dependency on ArmMmuLib
      StandaloneMmPkg: Update dependency on PeCoffExtraActionLib

Albecki, Mateusz (1):
      MdeModulePkg/SdMmcPciHcDxe Fix eMMC HS400 switch sequence

Alex James (2):
      StdLib/sys/termios: Define cc_t as unsigned
      StdLib/Environs: Avoid infinite recursion in _Exit

Antoine Coeur (5):
      ArmVirtPkg: Fix various typos
      CryptoPkg: Fix various typos
      CorebootPayloadPkg: Fix various typos
      CorebootModulePkg: Fix various typos
      BaseTools: Various typo

Ard Biesheuvel (116):
      MdePkg/BaseIoLibIntrinsicArmVirt ARM: avoid double word loads and stores
      ArmPkg/ArmGicDxe ARM: fix encoding for GICv3 interrupt acknowledge
      ArmPlatformPkg: clear frame pointer in startup code
      ArmVirtPkg/PrePi: clear frame pointer in startup code
      ArmPkg/ArmSmcPsciResetSystemLib: add missing call to ExitBootServices()
      ArmPkg: remove now unused BsdLib.h
      ArmPlatformPkg/NorFlashDxe: prepare for devicepath format change
      ArmPlatformPkg/NorFlashDxe: use one GUID plus index to identify flash banks
      ArmVirtPkg/FdtClientDxe: take DT node 'status' properties into account
      ArmVirtPkg/NorFlashQemuLib: discover NOR flash banks dynamically
      ArmPlatformPkg/NorFlashPlatformLib: remove unused Guid member from struct
      ArmPkg/ArmPkg.dsc: move ArmMmuStandaloneMmLib.inf to AARCH64 section
      EmbeddedPkg/TemplateSec: remove unused module
      EmbeddedPkg/PrePiHobLib: drop CreateHobList() from library
      ArmVirtPkg/FdtPciHostBridgeLib: map ECAM and I/O spaces in GCD memory map
      ArmVirtPkg/QemuVirtMemInfoLib: remove 1:1 mapping of top of PA range
      MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits
      ArmPkg/ArmLib: add support for reading the max physical address space size
      ArmVirtPkg/XenVirtMemInfoLib: refactor reading of the PA space size
      ArmPkg/ArmMmuLib: take the CPU supported maximum PA space into account
      ArmPkg/CpuPei: base GCD memory space size on CPU's PA range
      ArmPlatformPkg/PrePi: base GCD memory space size on CPU's PA range
      ArmVirtPkg/PrePi: base GCD memory space size on CPU's PA range
      BeagleBoardPkg/PrePi: base GCD memory space size on CPU's PA range
      ArmPlatformPkg/PlatformPei: drop unused PCD references
      EmbeddedPkg/PrePiLib: drop unused PCD reference
      ArmVirtPkg: drop PcdPrePiCpuMemorySize assignments from all platforms
      EmbeddedPkg/EmbeddedPkg.dec: drop PcdPrePiCpuMemorySize declarations
      ArmPkg/ArmMmuLib ARM: handle unmapped section in GetMemoryRegion()
      ArmPkg/ArmMmuLib ARM: handle unmapped sections when updating permissions
      ArmVirtPkg/NorFlashQemuLib: disregard our primary FV
      ArmVirtPkg/QemuVirtMemInfoLib: trim the MMIO region mapping
      BaseTools/CommonLib: avoid using 'native' word size in IP address handling
      BaseTools/CommonLib: use explicit 64-bit type in Strtoi()
      BaseTools/DevicePath: use explicit 64-bit number parsing routines
      BaseTools/CommonLib: add definition of MAX_UINT32
      BaseTools/DevicePath: use MAX_UINT32 as default device path max size
      BaseTools/CommonLib: get rid of 'native' type string parsing routines
      BaseTools/CommonLib: drop definition of MAX_UINTN
      BaseTools/CommonLib: drop the use of MAX_ADDRESS
      Revert "MdePkg/ProcessorBind.h AARCH64: limit MAX_ADDRESS to 48 bits"
      MdeModulePkg/FileExplorerLib: avoid packed struct for program data
      BaseTools/tools_def AARCH64 RELEASE: move GCC49/GGC5 to 4 KB alignment
      ArmVirtPkg/ArmVirtQemuKernel ARM: make some PCD settings apply to ARM
      ArmVirtPkg/PrePiUniCoreRelocatable CLANG38: work around build issues
      BaseTools/GenFw ARM: don't permit R_ARM_GOT_PREL relocations
      MdePkg/BaseMemoryLibOptDxe ARM: add missing function annotations
      BaseTools/tools_def ARM CLANG35: work around -mno-movt option name change
      ArmVirtPkg/PrePi ARM CLANG35: drop incompatible command line option
      ArmVirtPkg/ArmVirt.dsc.inc: define TcpIoLib resolution unconditionally
      ArmPkg: remove redundant _ARM_PLATFORM_FLAGS overrides
      EmbeddedPkg: remove GdbDebugAgent library
      BaseTools/tools_def ARM: emit PIC veneers
      ArmPkg/DefaultExceptionHandlerLib ARM: avoid endless loop in RELEASE builds
      MdePkg/Base: introduce MAX_ALLOC_ADDRESS
      MdeModulePkg/Dxe/Gcd: disregard memory above MAX_ALLOC_ADDRESS
      MdeModulePkg/Dxe/Page: take MAX_ALLOC_ADDRESS into account
      ArmPkg/ArmMmuLib: take MAX_ALLOC_ADDRESS into account
      ArmPlatformPkg/MemoryInitPeim: take MAX_ALLOC_ADDRESS into account
      ArmVirtPkg/MemoryInitPeiLib: split memory HOB based on MAX_ALLOC_ADDRESS
      MdePkg/Arm/ProcessorBind.h: fix copy/paste error
      ArmPlatformPkg/SP805WatchdogDxe: cosmetic cleanup
      ArmPlatformPkg/SP805WatchdogDxe: switch to interrupt mode
      ArmPkg/GenericWatchdogDxe: clean up the code
      ArmPkg/GenericWatchdogDxe: implement RegisterHandler() method
      ArmPlatformPkg/PL011SerialPortLib: use untyped PCD for register base
      BaseTools/tools_def ARM: use softfloat target for CLANG3x
      BaseTools/GenFds: permit stripped MM_CORE_STANDALONE binaries
      BaseTools/Conf/tools_def.template: drop ARM/AARCH support from GCC46/GCC47
      ArmPkg/ArmMmuLib ARM: add missing support for non-shareable cached mappings
      ArmPkg/ArmMmuLib ARM: fix thinko in second level page table handling
      MdePkg: implement MmServicesTableLib based on traditional SMM
      BaseTools/tools_def GCC5: disable LTO for ASLC invocations
      ArmPkg/ArmMmuLib ARM: disregard high memory when setting permissions
      ArmPkg/ArmMmuLib AARCH64: fix out of bounds access
      MdeModulePkg/MdeModulePkg.dsc: add MmServicesTableLib resolution
      OvmfPkg: add MmServicesTableLib resolution
      QuarkPlatformPkg: add MmServicesTableLib resolution
      Vlv2TbltDevicePkg: add MmServicesTableLib resolution
      MdeModulePkg/FaultTolerantWriteDxe: factor out boot service accesses
      MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version
      MdeModulePkg/VariableRuntimeDxe: factor out boot service accesses
      MdeModulePkg/VariableRuntimeDxe: implement standalone MM version
      MdePkg: introduce standalone MM entry point library class
      MdePkg: introduce standalone MM entry point library implementation
      MdePkg: add MM_STANDALONE implementation of MmServicesTableLib
      MdeModulePkg: implement NULL instance of HobLib library class
      MdeModulePkg: implement NULL instance of MemoryAllocationLib library class
      MdeModulePkg/MdeModulePkg/dsc: move DxeDebugSupportDxe to x86 only section
      MdeModulePkg/AuthVariableLibNull: add MM_STANDALONE support
      MdeModulePkg/VarCheckLib: add MM_STANDALONE support
      MdeModulePkg/MdeModulePkg.dsc: add MM_STANDALONE FTW and variable modules
      ArmPkg/DebugAgentSymbolsBaseLib: remove exception handling
      ArmPkg/DefaultExceptionHandlerLib: declare the permitted usage context
      ArmVirtPkg: drop reference to ArmPkg/DefaultExceptionHandlerLibBase
      ArmPkg/DefaultExceptionHandlerLib: drop BASE variant
      ArmPkg/DefaultExceptionHandlerLib: use console if available
      EmbeddedPkg/NorFlashInfoLib: convert to BASE library
      ArmPkg/DefaultExceptionHandlerLib: add missing UefiLib include
      CryptoPkg/SmmCryptLib: permit use by MM_STANDALONE modules
      SecurityPkg/PlatformSecureLibNull: permit use by MM_STANDALONE modules
      MdeModulePkg/VarCheckUefiLib: permit use by MM_STANDALONE modules
      MdePkg/UefiDevicePathLib: permit use by MM_STANDALONE modules
      StandaloneMmPkg: add HobLib implementation for MM_STANDALONE modules
      StandaloneMmPkg: add MM_STANDALONE MemoryAllocationLib implementation
      StandaloneMmPkg/StandaloneMmCoreHobLib: restrict to MM_CORE_STANDALONE
      StandaloneMmPkg/StandaloneMmCpu: fix typo Standlone -> Standalone
      StandaloneMmPkg/StandaloneMmCoreEntryPoint: use %a modifier for ASCII strings
      StandaloneMmPkg/StandaloneMmCoreEntryPoint: remove bogus ASSERT_EFI_ERROR()s
      StandaloneMmPkg/StandaloneMmPeCoffExtraActionLib: ignore runtime attribute
      StandaloneMmPkg/Core/Dispatcher: don't copy dispatched image twice
      StandaloneMmPkg/StandaloneMmCoreEntryPoint: permit the use of TE images
      MdeModulePkg/MdeModulePkg.dsc: ignore standalone MM modules for EBC or XCODE5
      ArmPkg/ArmMmuLib ARM: trim high memory regions instead of rejecting them
      ArmPkg/ArmMmuLib AARCH64: get rid of needless TLB invalidation
      MdePkg/BaseLib: implement SpeculationBarrier() for ARM and AArch64

Ashish Singhal (6):
      MdeModulePkg/SdMmcPciHcDxe: Add SDMMC HC v4 and above Support.
      MdePkg/UefiLib: Abstract driver model protocol uninstallation
      NetworkPkg/IScsiDxe: Use UEFILib APIs to uninstall protocols.
      NetworkPkg: Protocol Uninstallation Cleanup
      DynamicTablesPkg/DynamicTableManagerDxe: Update DEPEX
      DynamicTablesPkg/AcpiSpcrLibArm: Support 16550 UART.

Bret Barkelew (4):
      MdePkg/IndustryStandard: Introduce a correctly spelled macro
      SecurityPkg/Tcg: Fix typos in TcgDxe.c and Tcg2Dxe.c
      MdePkg/IndustryStandard: Remove an incorrectly spelled macro
      MdePkg/UefiLib: Add a new API GetVariable3

Chasel, Chiu (16):
      IntelFsp2WrapperPkg: Support FSP Dispatch mode
      IntelFsp2WrapperPkg: Revert 90c5bc08
      IntelFsp2WrapperPkg: Support FSP Dispatch mode
      IntelFsp2WrapperPkg: Fix line ending format issue
      IntelFsp2WrapperPkg: Fix constant if statements issue
      Maintainers.txt: Change package maintainer of IntelFsp*Pkg
      BaseTools/GenFv: Support SecCore and PeiCore in different FV
      IntelFsp2Pkg: Add FspmArchConfigPpi to support Dispatch mode
      IntelFsp2Pkg: Remove unused keyword in new PPI header
      IntelFsp2Pkg: Add function to get bootloader stack pointer
      IntelFsp2Pkg: FSP can utilize bootloader stack
      MdePkg: Support EFI_PEI_CORE_FV_LOCATION_PPI
      MdeModulePkg/PeiMain: Support EFI_PEI_CORE_FV_LOCATION_PPI
      UefiCpuPkg/SecCore: Support EFI_PEI_CORE_FV_LOCATION_PPI
      UefiCpuPkg/SecCore: Support EFI_PEI_CORE_FV_LOCATION_PPI
      UefiCpuPkg/SecCore: Wrong Debug Information for SecCore

Chen A Chen (18):
      SecurityPkg: Remove dead code and inf redundant definitions.
      SecurityPkg: Remove code under UserIdentification folder.
      FatPkg: Break down Part.c file.
      MdePkg/UefiGpt.h: Add new definition for enable GPT support
      FatPkg: Add GPT check in FatPei to support Capsule-on-Disk feature.
      MdePkg/UefiSpec.h: Add definition to support Capsule-on-Disk feature
      MdeModulePkg/CapsuleApp: Add a function used to get next DevicePath
      MdeModulePkg/CapsuleApp: Add functions to support Capsule-on-Disk
      MdeModulePkg/CapsuleApp: Enhance CapsuleApp to support Capsule-on-Disk
      FatPkg/FatPei/Gpt.c: Fix uninitialized variable issue
      MdeModulePkg/CapsuleApp: Fix potential NULL pointer dereference issue
      MdeModulePkg/CapsuleApp: Fix potential NULL pointer dereference issue
      MdeModulePkg/CapsuleApp: Fix memory leak issue.
      UefiCpuPkg/Microcode: Fix incorrect checksum issue for extended table
      IntelSiliconPkg/MicrocodeUpdate: Fix incorrect checksum issue
      MdeModulePkg: Rename confusion function name
      UefiCpuPkg/Microcode: Fix InComplete CheckSum32 issue
      UefiCpuPkg/Microcode.c: Add verification before calculate CheckSum32

Chu, Maggie (2):
      SecurityPkg: Incorrect warning message for Opal admin revert action
      SecurityPkg: Add a PCD to skip Opal password prompt

Dandan Bi (12):
      MdeModulePkg/DisplayEngine: Remove useless NULL ptr check for NewPos
      MdePkg: check Length para before use in DevPathToTextUsbWWID
      MdePkg: Check input Ptrs in GetSectionFromAnyFvByFileType
      BaseTools/VfrCompile: report error for Integer overflow
      MdeModulePkg/NonDiscoverablePciDevice: Remove the redundant check
      MdePkg/BasePeCoffLib: Add more check for relocation data
      MdePkg/BasePeCoffLib: Correct the address of RelocBaseEnd
      ShellPkg/UefiShellAcpiViewCommandLib: Fix VS tool chain build failure
      MdeModulePkg: Fix coding style issues
      MdePkg: Fix coding style issues
      MdePkg/StatusCodeDataTypeId.h: Add new definition per PI1.7 Spec
      MdeModulePkg/BmBoot: Report status when fail to load/start boot option

Derek Lin (1):
      BaseTools: Fix GenFds error doesn't break build.

Edgar Handal (1):
      MdeModulePkg/SdMmcPciHcDxe: Use 16/32-bit IO widths

Eric Dong (9):
      UefiCpuPkg/Cpuid.h: Sync CPUID definition to latest SDM.
      UefiCpuPkg/Cpuid: Add code to support new definition.
      UefiCpuPkg/RegisterCpuFeaturesLib: Enhance debug message.
      UefiCpuPkg/RegisterCpuFeaturesLib: Avoid AP calls PeiService.
      UefiCpuPkg/S3Resume2Pei: check 64BIT_WAKE_F in FACS.OSPMFlags.
      MdeModulePkg/BootScriptExecuteorDxe: check 64BIT_WAKE_F in FACS.OSPMFlags
      UefiCpuPkg/RegisterCpuFeaturesLib: Replace AcquireSpinLock.
      SecurityPkg/OpalPassword: Update strings on Opal Setup page
      SecurityPkg/OpalPassword: Add NULL pointer check before using it

Felix Polyudov (1):
      BaseTools: Fix incorrect formatting of GenFds command dictionary

Feng, Bob C (52):
      BaseTools: Fix the problem using FILE_GUID override in .dsc
      BaseTools: Enable Pcd Array support.
      BaseTool: Filter out unused structure pcds
      BaseTools: Replace the sqlite database with list
      BaseTools: Optimize string concatenation
      BaseTools: Customize deepcopy function.
      BaseTools: Correct CCFLAG for PcdValueInit
      BaseTools: Fix PcdNvStoreDefaultValueBuffer Value.
      BaseTools: Fixed bugs in CopyDict function
      BaseTools: Fixed the build fail issue for cases
      BaseTools: Fix PcdArray issue
      BaseTools: Fixed metafile parser issues
      BaseTools: Reset FdsGlobalVariable
      BaseTools: Fixed build report issue.
      BaseTools: Correct PcdArray value assigment statement
      BaseTools: Report Error if use SET in Dsc
      BaseTools: Remove unused logic for EDKI
      BaseTools: Remove unused logic for IPF
      BaseTools: Remove unused logic from C tools
      BaseTools: Enable component override functionality
      BaseTools: Remove unused logic for EDKI
      BaseTools: Remove EDK_SOURCE keyword from ECC Tool
      BaseTools: Remove EDK_SOURCE keyword from GenFds tool.
      BaseTools: Remove EDK_SOURCE keyword from Inf Parser.
      BaseTools: Allow empty value for HiiPcd in Dsc
      BaseTools: Fix build report issue.
      BaseTools: use OrderedDict instead of sdict
      BaseTools: Make sure AllPcdList valid.
      BaseTools:File open failed for VPD MapFile
      BaseTools:Fixed Rsa issue and a set define issue.
      BaseTools:ord() don't match in py2 and py3
      BaseTools: the list and iterator translation
      BaseTools: Handle the bytes and str difference
      BaseTools: ECC tool Python3 adaption
      BaseTools: Eot tool Python3 adaption
      BaseTools: Enable CODE format in DEC file
      BaseTools: Fixed incorrect line number in PcdValueInit.c
      BaseTools: Correct the error message for UPT
      BaseTools: Fixed a build report issue.
      BaseTools: Fix the build report issue about Structure PCD
      BaseTools: Fixed an issue about StructurePcd
      BaseTools: Add MaxSizeUserSet to Pcd deepcopy function
      BaseTools: Fix a ParseDevPathValue function issue.
      BaseTools: Fixed a bug in Vpd handling
      BaseTools: Fixed a code bug for Pcd Array.
      BaseTools: replace Sdict with OrderedDict in UPT
      BaseTool: Fixed incremental rebuild issue.
      BaseTools: Fix a bug about Structure PCD
      BaseTools: Add parameter check for the AsciiStringToUint64
      BaseTools: Eot failed when enable python3
      BaseTools: Fix a Eot issue.
      BaseTools: Add python3-distutils Ubuntu package checking

Gary Lin (2):
      MdePkg ACPI: fix the typos in Acpi61.h and Acpi62.h
      MdeModulePkg/UefiBootManagerLib: Match the nested partitions

Gonzalez Del Cueto, Rodrigo (1):
      SecurityPkg/TcgConfigDxe: Allow enabling TPM 1.2 device from disabled state.

Hao Wu (25):
      MdePkg/BaseLib: Introduce new SpeculationBarrier API
      MdeModulePkg/FaultTolerantWrite: Update to consume SpeculationBarrier
      MdeModulePkg/SmmLockBox: Update to consume SpeculationBarrier
      MdeModulePkg/Variable: Update to consume SpeculationBarrier
      UefiCpuPkg/PiSmmCpuDxeSmm: Update to consume SpeculationBarrier
      UefiCpuPkg: Merge StuffRsb.inc files into one in UefiCpuPkg/Include
      MdeModulePkg/SdMmcPciHcDxe: Fix VS2015 IA32 NOOPT build failure
      MdeModulePkg/SdMmcPciHcDxe: Update comment for spec compliance status
      MdeModulePkg: Add definitions for ATA AHCI host controller PPI
      MdeModulePkg: Add definitions for EDKII PEI ATA PassThru PPI
      MdeModulePkg: Add definitions for Storage Security Command PPI
      MdeModulePkg: Add GUID for LockBox to save storage dev to init in S3
      MdeModulePkg/NvmExpressPei: Avoid updating the module-level variable
      MdeModulePkg/NvmExpressPei: Add logic to produce SSC PPI
      MdeModulePkg/NvmExpressPei: Consume S3StorageDeviceInitList LockBox
      MdeModulePkg/AhciPei: Add AHCI mode ATA device support in PEI
      MdeModulePkg/SmmLockBoxLib: Use 'DEBUG_' prefix instead of 'EFI_D_'
      MdeModulePkg/SmmLockBox(PEI): Remove an ASSERT in RestoreLockBox()
      MdeModulePkg/SmmLockBoxLib: Support LockBox enlarge in UpdateLockBox()
      OvmfPkg/LockBoxLib: Update the comments for API UpdateLockBox()
      SecurityPkg/OpalPassword: Remove HW init codes and consume SSC PPI
      SecurityPkg/HddPassword: Add Security feature set support for ATA dev
      MdeModulePkg/UfsBlockIoPei: Correct use of 'DeviceIndex' in BlkIO PPI
      MdeModulePkg/PartitionDxe: Ensure blocksize holds MBR (CVE-2018-12180)
      MdeModulePkg/RamDiskDxe: Restrict on RAM disk size (CVE-2018-12180)

Hess Chen (1):
      BaseTools/ECC: Add a new type of exception

Hsueh, Hong-chihX (1):
      MdePkg/BasePeCoffLib: skip runtime relocation if reloc info is invalid

Jaben Carsey (14):
      BaseTools: Move Identification file to Eot
      BaseTools: cleanup LongFilePathSupport usage
      BaseTools: create and use a standard shared variable for '*'
      BaseTools: fix imports
      MdeModulePkg: fix comments in BaseSortLib
      BaseTools/build/build: refactor and move functions
      BaseTools/Workspace/InfBuildData: move functions
      BaseTools/DscBuildData: move function
      BaseTools/AutoGen: move functions
      BaseTools/GenFds/Capsule: move function logic
      BaseTools/Common/Misc: move private functions
      BaseTools/Common/Misc: remove uncalled code
      BaseTools/Common/Misc: Cleanup the imports
      BaseTools/build/build: delete variable

Jagadeesh Ujja (2):
      SecurityPkg/AuthVariableLib: allow MM_STANDALONE drivers to use this library
      MdePkg/Include: add MmServicesTableLib header file

Jeff Brasen (5):
      MdeModulePkg/SdDxe: Fix potential NULL pointer access
      EmbeddedPkg/PrePiMemoryAllocationLib: Added AllocateZeroPool()
      MdeModulePkg/BaseSortLib: Enable for all module types
      ArmPkg/ArmScmiDxe: Add clock enable function
      EmbeddedPkg/PrePiLib: Correct function name

Jian J Wang (7):
      CryptoPkg/IntrinsicLib: add missing BaseLib declaration
      Upgrade OpenSSL to 1.1.0j
      CryptoPkg/BaseCryptLib: split CryptPkcs7Verify.c on behalf of runtime
      MdePkg/UefiDevicePathLib: Add sanity check for FilePath device path
      MdePkg/UefiDevicePathLibDevicePathProtocol: Add sanity check for FilePath device path
      UefiCpuPkg: restore strict page attributes via #DB in nonstop mode only
      Maintainers.txt: remove unexpected unicode BOM

Jiaxin Wu (7):
      MdeModulePkg/Dhcp4Dxe: Remove unnecessary NULL pointer check.
      NetworkPkg/IScsiDxe: Remove unnecessary NULL pointer check.
      NetworkPkg/DnsDxe: Remove unnecessary NULL pointer check.
      MdeModulePkg/Ip4Dxe: Uninstall protocols when error happen in Driver Binding Start.
      NetworkPkg/Ip6Dxe: Uninstall protocols when error happen in Driver Binding Start.
      NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start.
      NetworkPkg/DnsDxe: [CVE-2018-12178] Check the received packet size before parsing the message.

Jiewen Yao (6):
      MdeModulePkg/LockboxNullLib: clean up INF file.
      BaseTool/GenC: Fix build error when type is BASE or USER_DEFINED.
      MdePkg/Include: Add Nasm.inc
      MdePkg/BaseLib: Add Shadow Stack Support for X86.
      UefiCpuPkg/ExceptionLib: Add CET support.
      UefiCpuPkg/PiSmmCpu: Add Shadow Stack Support for X86 SMM.

Jordan Justen (1):
      OvmfPkg/build.sh: Enable flash for qemu 3 or later

Julien Grall (1):
      Maintainers.txt: Update e-mail address for Julien Grall

Krzysztof Koch (1):
      ShellPkg/UefiShellAcpiViewCommandLib: Add support for PPTT

Laszlo Ersek (47):
      EmulatorPkg: require GCC48 or later
      OvmfPkg: require GCC48 or later
      Vlv2TbltDevicePkg: assume GCC48 or later
      BaseTools/tools_def.template: fix up LF-only line terminator
      BaseTools/tools_def.template: strip trailing whitespace
      BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON dead-end
      BaseTools/tools_def.template: remove GCC47 leaf definitions
      BaseTools/tools_def.template: propagate loss of GCC47 references
      BaseTools/tools_def.template: remove GCC47 documentation
      BaseTools/tools_def.template: remove GCC46 leaf definitions
      BaseTools/tools_def.template: propagate loss of GCC46 references
      BaseTools/tools_def.template: remove GCC46 documentation
      BaseTools/tools_def.template: remove GCC45 leaf definitions
      BaseTools/tools_def.template: propagate loss of GCC45 references
      BaseTools/tools_def.template: remove GCC45 documentation
      BaseTools/tools_def.template: remove GCC44 leaf definitions
      BaseTools/tools_def.template: propagate loss of GCC44 references
      BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to GCC48_ALL_CC_FLAGS
      BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS
      BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to GCC48_IA32_X64_DLINK_COMMON
      BaseTools/tools_def.template: remove comment about GCC44 + LzmaF86Compress
      BaseTools/tools_def.template: remove GCC44 documentation
      ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47
      CryptoPkg/BaseCryptLib: drop build flags specific to GCC44
      Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"
      BaseTools/BuildReport: fix report for platforms/arches without struct PCDs
      ArmVirtPkg/ArmVirtQemuKernel: don't set PcdCPUCoresStackBase
      ArmVirtPkg: don't set PcdRelocateVectorTable
      ArmVirtPkg/{ArmVirtQemu,ArmVirtQemuKernel}: don't set PcdTrustzoneSupport
      ArmVirtPkg: don't set PcdPostCodePropertyMask
      ArmVirtPkg: clean up PcdSetNxForStack setting (applies to ArmVirtQemu only)
      ArmVirtPkg/PrePi: drop wrong PcdCoreCount dependency
      ArmVirtPkg: don't set PcdCoreCount
      ArmVirtPkg: don't set PcdDebugClearMemoryValue
      ArmVirtPkg: don't set PcdDebugPrintErrorLevel in RELEASE builds
      ArmVirtPkg/ArmVirtXen: don't set PcdPL031RtcBase
      ArmVirtPkg/ArmVirtXen: don't set PcdTerminalTypeGuidBuffer
      ArmVirtPkg/ArmVirtXen: don't set PcdShellFile
      ArmVirtPkg/ArmVirtXen: don't set PcdTurnOffUsbLegacySupport
      ArmVirtPkg/ArmVirtXen: don't set Pcd*ImageVerificationPolicy
      Maintainers: add TPM2 reviewers for OvmfPkg
      Maintainers: specify the scope for OvmfPkg/ArmVirtPkg Xen module reviewers
      MdeModulePkg/UefiBootManagerLib: fix LoadImage/StartImage status code rep.
      OvmfPkg: add library to track boot option loading/starting on the console
      OvmfPkg/PlatformBootManagerLib: display boot option loading/starting
      ArmVirtPkg/ArmVirtQemu*: enable minimal Status Code Routing in DXE
      ArmVirtPkg/PlatformBootManagerLib: display boot option loading/starting

Leif Lindholm (8):
      ArmPkg: fix StandaloneMmMmuLib subdirectory case
      ArmPkg: drop ArmBds remnant Pcds from .dec
      ArmPkg: delete unused ArmTrustZoneSmc.h
      AppPkg: fix webserver build for !Ia32/X64
      IntelFrameworkModulePkg: fix build for AARCH64/ARM
      IntelFrameworkPkg: fix build for AARCH64/ARM
      SecurityPkg: fix package build on ARM
      SignedCapsulePkg: enable package build for AARCH64/ARM

Liming Gao (12):
      OvmfPkg: Don't include TftpDynamicCommand in XCODE5 tool chain
      MdeModulePkg PCD: Add DynamicEx PcdVpdBaseAddress64 for non SPI platform
      Maintainers.txt: Add the rule to hand over the package maintain role
      BaseTools Script: Update ConvertFceToStructurePcd to report warning messages
      MdeModulePkg: Correct PCD name in MdeModulePkg.uni
      Readme.md: Add edk2 release tag and edk2 release plan
      BaseTools GenFw: Fix XCODE5 build issue
      BaseTools VolInfo: Fix XCODE5 build issue
      BaseTools: Update PYTHON env to PYTHON_COMMAND
      MdeModulePkg DxeCapsuleLibFmp: Update SupportCapsuleImage() for Fake Capsule
      BaseTools: Remove unused txt files
      Revert "BaseTools:BaseTools supports to the driver combination."

Liu Yu (1):
      EmulatorPkg/build.sh: Fix 'run' path to simulator host executable

Marcin Wojtas (2):
      MdeModulePkg/SdMmcPciHcDxe: Add an optional parameter in NotifyPhase
      MdeModulePkg/SdMmcPciHcDxe: Allow overriding base clock frequency

Max Knutsen (1):
      MdeModulePkg/ReportStatusCodeLib: Avoid using AllocatePool if possible

Meenakshi Aggarwal (1):
      EmbeddedPkg: Fix Command Argument for SD/eMMC R/W operation.

Mike Maslenkin (1):
      UefiCpuPkg/CpuExceptionHandlerLib: Fix spelling issue

Mike Turner (4):
      MdePkg/BaseLib: Introduce CharToUpper and AsciiCharToUpper publicly
      MdePkg/UefiDevicePathLib: Add a checking step
      BaseTools/DevicePath: Add a checking step
      MdePkg/BaseLib: Add Base64Encode() and Base64Decode()

Pete Batard (2):
      EmbeddedPkg/Library: Add VirtualRealTimeClockLib
      EmbeddedPkg/VirtualRealTimeClockLib: Fix correctness issues

Philippe Mathieu-Daude (1):
      BaseTools: Fix build failure when specifying multiple BUILDTARGET

Ray Ni (10):
      MdeModulePkg/PciBus: Shadow option ROM after BARs are programmed
      MdeModulePkg/PciBus: Fix system hang when no PCI Option ROM exists
      Maintainers.txt: Update mail address
      MdeModulePkg/PciBus: Change PCI_IO_DEVICE.RomSize to UINT32 type
      MdeModulePkg/PciBus: Correct typos
      MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes
      UefiCpuPkg/MtrrLib: Fix a bug that may wrongly set memory <1MB to UC
      ShellBinPkg: Ia32/X64 Shell binary update.
      MdeModulePkg/HiiDatabase: Fix potential integer overflow (CVE-2018-12181)
      MdeModulePkg/HiiImage: Fix stack overflow when corrupted BMP is parsed (CVE-2018-12181)

Sami Mujawar (36):
      Maintainers.txt: Change DynamicTablesPkg maintainer
      DynamicTablesPkg: Dynamic Tables Framework
      DynamicTablesPkg: Table Generator definition
      DynamicTablesPkg: Acpi Table Generator
      DynamicTablesPkg: SMBIOS Table Generator
      DynamicTablesPkg: DT Table Generator
      DynamicTablesPkg: Standard NameSpace Objects
      DynamicTablesPkg: Arm NameSpace Objects
      DynamicTablesPkg: Configuration Manager Objects
      DynamicTablesPkg: Configuration Manager Protocol
      DynamicTablesPkg: Configuration Manager Helper
      DynamicTablesPkg: Table Helper Library
      DynamicTablesPkg: Dynamic Table Factory Protocol
      DynamicTablesPkg: Dynamic Table Factory Dxe
      DynamicTablesPkg: Dynamic Table Manager Dxe
      DynamicTablesPkg: Arm Raw/DSDT/SSDT Generator
      DynamicTablesPkg: Arm ACPI FADT Generator
      DynamicTablesPkg: Arm ACPI MADT Generator
      DynamicTablesPkg: Arm ACPI GTDT Generator
      DynamicTablesPkg: Arm SPCR Table Generator
      DynamicTablesPkg: Arm DBG2 Table Generator
      DynamicTablesPkg: Arm PCI MCFG Table Generator
      DynamicTablesPkg: Arm IORT Table Generator
      DynamicTablesPkg: Fix protocol section
      DynamicTablesPkg: Rename enum used for ID Mapping
      DynamicTablesPkg: Add OEM Info
      DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI
      DynamicTablesPkg: Remove GIC Distributor Id field
      DynamicTablesPkg: Minor updates and fix typos
      ArmPkg: Fix writes to GICv3 GICD_IROUTER<n> reg
      Revert "DynamicTablesPkg: Minor updates and fix typos"
      Revert "DynamicTablesPkg: Remove GIC Distributor Id field"
      Revert "DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI"
      Revert "DynamicTablesPkg: Add OEM Info"
      Revert "DynamicTablesPkg: Rename enum used for ID Mapping"
      Revert "DynamicTablesPkg: Fix protocol section"

Sean Brogan (1):
      MdeModulePkg/NvmExpressDxe: Report StatusCode for device init failure

Shenglei Zhang (37):
      EmulatorPkg: Remove EdkShellBinPkg in FDF and DEC
      Nt32Pkg: Remove EdkShellBinPkg in FDF and DEC
      OvmfPkg: Remove EdkShellBinPkg in FDF
      Vlv2TbltDevicePkg: Remove EdkShellBinPkg with ShellPkg
      EdkShellBinPkg: Remove EdkShellBinPkg
      EdkShellPkg: Remove EdkShellPkg
      Maintainers.txt: Remove EdkShellPkg and EkdShellBinPkg
      UnixPkg: Remove UnixPkg and update Maintainers.txt
      MdeModulePkg: Remove PcdIdentifyMappingPageTablePtr
      ShellPkg: Remove ShellPkg wrapper header files
      BaseTools: Remove GenVtf
      DuetPkg: Remove DuetPkg
      BaseTools: Remove tools only used by DuetPkg
      Maintainers.txt: Remove DuetPkg
      ShellPkg/UefiShellDebug1CommandsLib: Remove the unused function CharToUpper
      MdeModulePkg/EbcDebugger: Change function names
      MdePkg/BaseLib: Remove definitions of two functions
      MdeModulePkg/EbcDebugger: Use AsciiCharToUpper and CharToUpper
      MdeModulePkg/DxeHttpLib: Use BaseLib api AsciiCharToUpper
      ShellPkg/Shell: Use BaseLib api CharToUpper
      ShellPkg/UefiShellLib: Use BaseLib api CharToUpper
      MdePkg: Change function parameter type
      MdeModulePkg/S3SaveStateDxe: Change function parameter types
      MdeModulePkg/SmmS3SaveStateDxe: Change function parameter types
      BaseTools/tools_def.template: Remove CYGGCC
      OptionRomPkg/ReadMe.txt: Remove CYGGCC
      BaseTools: Update MYTOOLS
      BaseTools/tools_def.template: Remove VS2003 and VS2005
      OptionRomPkg/ReadMe.txt: Remove VS2005
      BaseTools/tools_def.template: Remove UNIXGCC
      OvmfPkg/README: Remove UNIXGCC
      BaseTools/tools_def.template: Remove ELFGCC
      BaseTools/tools_def.template: Remove DDK3790
      BaseTools/build_rule.template: Remove GCCLD
      MdePkg/BaseLib: Change a variable type in a bitwise operation
      MdeModulePkg/PropertiesTableAttributesDxe: Remove this driver
      IntelSiliconPkg/MicrocodeUpdateDxe: Error message enhancement

Siyuan Fu (8):
      ArmVirtPkg: Replace obsoleted network drivers from platform DSC/FDF.
      ArmVirtPkg: Remove redundant library instances in ArmVirtQemuKernel.dsc
      MdeModulePkg: Delete Tcp4Dxe in MdeModulePkg.
      NetworkPkg: Remove some clarification from TcpDxe.inf
      MdeModulePkg: Delete IScsiDxe in MdeModulePkg.
      NetworkPkg: Remove some clarification from IScsiDxe.inf
      MdeModulePkg: Delete UefiPxeBcDxe in MdeModulePkg.
      NetworkPkg: Remove some clarification from UefiPxeBcDxe.inf

Solanki, Digant H (1):
      IntelSiliconPkg\Include\IndustryStandard: Update IGD_OPREGION_MBOX3 Structure

Songpeng Li (3):
      ShellPkg/TftpDynamicCommand: Change file writing method in tftp
      NetworkPkg/IScsiDxe: Remove unused global variables.
      NetworkPkg/Dhcp6Dxe: Remove an unused global variable.

Star Zeng (30):
      Maintainers.txt: Update FmpDevicePkg maintainer
      Maintainers.txt: Update MdeModulePkg maintainers
      MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxPeimPerFv
      SecurityPkg Tcg(2)Pei: Remove the using of PcdPeiCoreMaxFvSupported
      MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxFvSupported
      MdeModulePkg PeiCore: Remove the using of PcdPeiCoreMaxPpiSupported
      OvmfPkg: Remove PcdPeiCoreMaxXXX PCDs' statement
      Vlv2TbltDevicePkg: Remove PcdPeiCoreMaxXXX PCDs' statement
      MdeModulePkg: Remove PcdPeiCoreMaxXXX PCDs
      MdeModulePkg Variable: Add some missing changes for 9b18845
      MdeModulePkg Variable: Abstract InitRealNonVolatileVariableStore
      MdeModulePkg Variable: Move "extern XXX" to Variable.h
      MdeModulePkg Variable: Not get NV PCD in VariableWriteServiceInitialize
      MdeModulePkg Variable: Abstract VariableWriteServiceInitializeDxe/Smm
      MdeModulePkg Variable: Remove CacheOffset in UpdateVariable()
      MdeModulePkg Variable: type case VolatileBase to UINTN directly
      MdeModulePkg: Add PcdEmuVariableNvModeEnable in dec
      MdeModulePkg: Refine description a little for PcdEmuVariableNvStoreReserved
      MdeModulePkg Variable: Add emulated variable NV mode support
      MdeModulePkg VariablePei: Don't check BOOT_IN_RECOVERY_MODE
      ArmVirtXen: Use merged variable driver for emulated NV mode
      ArmVirtXen: Link VarCheckUefiLib NULL class library instance
      BeagleBoardPkg: Use merged variable driver for emulated NV mode
      QuarkMin: Use merged variable driver for emulated NV mode
      CorebootPayloadPkg: Use merged variable driver for emulated NV mode
      MdeModulePkg VariableStandaloneMm: Add PcdEmuVariableNvModeEnable in inf
      MdeModulePkg: Remove EmuVariableRuntimeDxe
      MdeModulePkg/PeiCore: Ensure FfsFileHeader 8 bytes aligned
      MdeModulePkg/DxeCore: Ensure FfsFileHeader 8 bytes aligned
      IntelFrameworkModulePkg/FwVolDxe: Ensure FfsFileHeader 8 bytes aligned

Stefan Berger (1):
      OvmfPkg: Add TCG2 Configuration menu to the Device Manager menu

Sughosh Ganu (3):
      ArmPkg/Include: Fix the SPM version SVC ID
      StandaloneMM: Include the newly added library class for MMU functions
      StandaloneMM: Update permissions for Standalone MM drivers memory area

Sumit Garg (2):
      ArmPkg/OpteeLib: Add dummy RPC handler
      ArmPkg/OpteeLib: Add OPTEE_SUCCESS return code

Sun, Zailiang (1):
      Maintainers.txt: update Vlv2*Pkg maintainers.

Tomasz Michalec (2):
      MdeModulePkg/SdMmcPciHcDxe: Add UhsSignaling to SdMmcOverride protocol
      MdeModulePkg/SdMmcPciHcDxe: Add SwitchClockFreqPost to SdMmcOverride

Vijayenthiran Subramaniam (2):
      MdeModulePkg/Variable: add debug logs in VariableServiceSetVariable
      NetworkPkg/IScsiDxe: add debug logs for failed SetVariable attempts

Vladimir Olovyannikov (1):
      MdeModulePkg/NonDiscoverablePciDeviceDxe: add missing validation

Vladimir Olovyannikov via edk2-devel (1):
      ShellPkg/TftpDynamicCommand: Return proper status

Wang Fan (2):
      NetworkPkg: Add WiFi Connection Manager to NetworkPkg
      NetworkPkg: Fix Duplicate FreePool Error in WCM

Ye Ting (1):
      Maintainers.txt: Change package maintainer and reviewer of CryptoPkg.

Yonghong Zhu (1):
      Maintainers.txt: Update BaseTools maintainers

Yunhua Feng (3):
      BaseTools: nametuple not have verbose parameter in python3
      BaseTools: Remove unnecessary super function
      BaseTools: replace long by int

Zhang, Chao B (6):
      SecurityPkg: TCG Add more Event type
      SecurityPkg: Update TCG PFP spec revision.
      SecurityPkg/Tcg: Fix Warnings and Remarks reported by IASL
      SecurityPkg/TCG: Upgrade UEFI supporting TCG spec info
      MdeModulePkg:Tpm2Acpi.h: Upgrade UEFI supporting TCG spec info
      Maintainers.txt: Change package maintainer and reviewer of SecurityPkg.

Zhao, ZhiqiangX (1):
      BaseTools: AutoGen and GenFds share the parser data.

Zhichao Gao (8):
      ShellPkg: add array index check for shell delay option
      MdeModulePkg: change the function name ResetSystem
      MdeModulePkg: Add the new API ResetSystem in the head file
      MdeModulePkg: Add a new API ResetSystem for DXE ResetSystemLib
      MdeModulePkg: Add a new API ResetSystem for Null version
      MdeModulePkg: Add a new API ResetSystem for PEI ResetSystemLib
      MdeModulePkg: Add a runtime library instance of ResetSystemLib
      MdeModulePkg: Add the runtime ResetSystemLib in MdeModulePkg.dsc

Zhijux Fan (38):
      BaseTools: Update nasm file build rule to support $(INC)
      BaseTools: Add $(INC)-like support when compiling .nasm files
      BaseTools:Build fail when PCD use in the [DEPEX] section of INF files
      BaseTools:build break if the Path contains SingleFile.Ext
      BaseTools:The BuildOptionPcd value is wrong
      BaseTools: Fix Pcd Array changes build report issue.
      BaseTools:Define Macro in Inf file, the pcdvalue Can't convert
      BaseTool:Rename xrange() to range()
      BaseTools:use iterate list to replace the itertools
      BaseTools: Rename iteritems to items
      BaseTools: replace get_bytes_le() to bytes_le
      BaseTools:Solve the data sorting problem use python3
      BaseTools: Update argparse arguments since it not have version now
      BaseTools:Similar to octal data rectification
      BaseTools/UPT:merge UPT Tool use Python2 and Python3
      BaseTools: update Test scripts support python3
      BaseTools/Scripts: Porting PackageDocumentTools code to use Python3
      Basetools: It went wrong when use os.linesep
      BaseTools:Fv BaseAddress must set If it not set
      BaseTools:TestTools character encoding issue
      BaseTools:Double carriage return inserted from Trim.py on Python3
      BaseTools: change the Division Operator
      BaseTools:There is extra blank line in datalog
      BaseTools: Similar to octal data rectification
      BaseTools: Update windows and linux run scripts file to use Python3
      BaseTools:Update build tool to print python version information
      BaseTools:Linux Python highest version check.
      BaseTools: PCD value incorrect in structure pcd sku case.
      BaseTools:StructurePCD value display incorrect in "Not used" section.
      BaseTools:Fix a ECC issue
      BaseTools:BaseTools supports to the driver combination.
      BaseTools:Fixed build failure when specifying multiple BUILDTARGET
      BaseTools:PCD value error in structure pcd sku case.
      BaseTools:Build fail if define [DEPEX] in library inf
      BaseTools:Some build generated files content are not ordered on linux
      BaseTools:PackageDocumentTools import lib error occurs.
      BaseTools:The BOM character is processed when python reads a file
      BaseTools:Run packagedoc_cli.py to generate doc failed

yuchenlin (5):
      Revert "OvmfPkg/QemuVideoDxe: list "UnalignedIoInternal.h" in the INF file"
      Revert "OvmfPkg/QemuVideoDxe: VMWare SVGA device support"
      Revert "OvmfPkg/QemuVideoDxe: Helper functions for unaligned port I/O."
      Revert "OvmfPkg: VMWare SVGA display device register definitions"
      OvmfPkg: simply use the Bochs interface for vmsvga

zwei4 (1):
      Vlv2TbltDevicePkg:Fix build and boot failure of Minnowboard Max platform.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
2019-04-17 15:38:35 +02:00
Laszlo Ersek
461de3c560 roms/edk2-funcs.sh: require gcc-4.8+ for building i386 and x86_64
Adapt the qemu_edk2_get_toolchain() function in "roms/edk2-funcs.sh" in
advance to edk2 commit 8d7cdfae8cb8 ("OvmfPkg: require GCC48 or later",
2019-01-08), which is part of the "edk2-stable201903" tag.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
2019-04-17 15:38:35 +02:00
Laszlo Ersek
65a109ab4b roms: lift "edk2-funcs.sh" from "tests/uefi-test-tools/build.sh"
Extract the dense logic for architecture and toolchain massaging from
"tests/uefi-test-tools/build.sh", to a set of small functions. We'll reuse
these functions for building full platform firmware images.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
2019-04-17 15:38:35 +02:00
Philippe Mathieu-Daudé
1cab464136 roms: Allow passing configure options to the EDK2 build tools
Since commit f590a812c2 we build the EDK2 EfiRom utility
unconditionally.

Some distributions require to use extra compiler/linker flags,
i.e. SUSE which enforces the PIE protection (see [*]).

EDK2 build tools already provide a set of variables for that,
use them to allow the caller to easily inject compiler/linker
options..

Now build scripts can pass extra options, example:

  $ make -C roms \
      EDK2_BASETOOLS_OPTFLAGS='-fPIE' \
      efirom

[*] https://lists.opensuse.org/opensuse-factory/2017-06/msg00403.html

Reported-by: Olaf Hering <olaf@aepfle.de>
Suggested-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190409134536.15548-3-philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-04-09 18:33:55 +02:00
Philippe Mathieu-Daudé
d912e795e0 roms: Rename the EFIROM variable to avoid clashing with iPXE
The iPXE's 'veryclean' recipe removes $(EFIROM) even if the EFIROM
macro originates from elsewhere:

  $ git checkout f590a812c21~
  $ make -C roms clean EFIROM=$(type -P EfiRom)
  make: Entering directory '/source/qemu/roms'
  [...]
  make -C ipxe/src veryclean
  make[1]: Entering directory '/source/qemu/roms/ipxe/src'
  rm -f bin{,-*}/*.* bin{,-*}/.certificate.* bin{,-*}/.certificates.* bin{,-*}/.private_key.* bin{,-*}/errors bin{,-*}/NIC ./util/zbin ./util/elf2efi32 ./util/elf2efi64 /usr/bin/EfiRom ./util/efifatbin ./util/iccfix ./util/einfo TAGS bin{,-*}/symtab
  rm: cannot remove '/usr/bin/EfiRom': Permission denied
  make[1]: *** [Makefile.housekeeping:1564: clean] Error 1
  make[1]: Leaving directory '/source/qemu/roms/ipxe/src'
  make: *** [Makefile:152: clean] Error 2
  make: Leaving directory '/source/qemu/roms'

Before f590a812c2 this variable could be overridden or unset,
and the 'veryclean' Makefile rule would not complain.

Commit f590a812c2 enforces this variable to the Intel EfiRom
tool provided by the EDK2 project.

To avoid the name clash and make the difference between the
projects obvious, rename the variable used by the EDK2 project
as EDK2_EFIROM.

Fixes: f590a812c2
Reported-by: Olaf Hering <olaf@aepfle.de>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190409134536.15548-2-philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-04-09 18:33:45 +02:00
Richard Henderson
22e3284f01 pc-bios: Update palcode-clipper
Report machine checks to the kernel.
It is now using these for probing missing devices.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2019-03-25 13:37:18 -07:00
Cédric Le Goater
1a7c00bb3a ppc/pnv: update skiboot to commit 261ca8e779e5.
It includes better support for POWER9 processor and the QEMU platform.
DD1.0 workarounds have been removed which simplifies a bit the XIVE
PowerNV model.

Built from submodule.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20190310175338.22266-1-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-03-19 15:20:14 +11:00
Gerd Hoffmann
b435a8f8c8 seabios: turn off CONFIG_ATA_DMA
There have been regressions reported, when booting FreeDOS.
https://www.mail-archive.com/qemu-devel@nongnu.org/msg593254.html

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2019-03-18 14:07:06 +01:00
Gerd Hoffmann
0a553c58ec seabios: update submodule to 1.12.1
git shortlog rel-1.12.0..rel-1.12.1
===================================

Kevin O'Connor (1):
      usb-ehci: Clear pipe token on pipe reallocate

Stephen Douthit (1):
      tpm: Check for TPM related ACPI tables before attempting hw probe

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2019-03-18 14:07:06 +01:00
Helge Deller
2b42f31eae Update seabios-hppa to latest upstream
This patch fixes two issues in the hppa/parisc emulation:

1. The CPU HPA was wrong in the sense that we had negative module
offsets in the firmware-internal module table (which we ignored up to
now). Get it correct by changing the CPU HPA to 0xfffb0000 which is
greater than the DINO_HPA of 0xfff80000.
This change requires the seabios-firmware update.

2. Sven noticed that the FPU register cr10 is only able to reference up
to 8 FPUs, so let's reduce the maximum amount of SMP CPUs too.

Signed-off-by: Helge Deller <deller@gmx.de>
Message-Id: <20190315164130.GA7800@ls3530>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2019-03-15 10:11:16 -07:00
Alexander Graf
f2a3b549e3 PPC: E500: Update u-boot to v2019.01
Quite a while has passed since we last updated U-Boot for e500. This patch
bumps it to the last released version 2019.01 to make sure users don't feel
like they're using out of date software.

Signed-off-by: Alexander Graf <agraf@csgraf.de>
Message-Id: <20190304103930.16319-1-agraf@csgraf.de>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-03-12 14:33:04 +11:00
Laszlo Ersek
f590a812c2 roms: build the EfiRom utility from the roms/edk2 submodule
Building the EfiRom utility from "roms/edk2/BaseTools" should make
"roms/Makefile" more self-contained. Otherwise, we'd call the system-wide
EfiRom for building the combined iPXE option ROMs, but call the sibling
utilities from "roms/edk2/BaseTools" for building "roms/edk2" content.

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Shannon Zhao <shannon.zhaosl@gmail.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190204160325.4914-3-lersek@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2019-02-21 12:28:41 -05:00
Laszlo Ersek
23858f4092 roms: add the edk2 project as a git submodule
The roms/edk2 submodule can help with three goals:
- build the OVMF and ArmVirtQemu virtual UEFI firmware platforms (to be
  implemented later),
- build the EfiRom tool on the fly, which is used in roms/Makefile, for
  building the "efirom" target,
- build UEFI test applications (to be run in guests), for qtest support.

Edk2 commit 85588389222a3636baf0f9ed8227f2434af4c3f9 stands for the latest
"stable tag", namely "edk2-stable201811".

The edk2 repository tracks some binary files that should not be removed by
QEMU's top-level "make clean"; exempt the full pathnames from the "find"
command.

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Shannon Zhao <shannon.zhaosl@gmail.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Message-Id: <20190204160325.4914-2-lersek@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-02-21 12:28:41 -05:00
Mark Cave-Ayland
e9deadb1c1 Update OpenBIOS images to 3464681b built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2019-02-15 10:07:40 +00:00
Mark Cave-Ayland
200280af0e QemuMacDrivers: update qemu_vga.ndrv to 90c488d built from submodule
This update to qemu_vga.ndrv includes the following changes:

- Build guest resolution list from QEMU EDID data if enabled
- Fixes to re-enable 256 color mode

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-02-04 18:44:19 +11:00
Alexey Kardashevskiy
583b28d45b pseries: Update SLOF firmware image
This includes spapr-vio and usb-storage fixes, phandles fix for NVLink2
pass through support and other compile improvements.

The full list of changes is:
  * vio-vscsi: Support multiple channels / buses
  * board-qemu/slof/vio-vscsi: Scan up to 64 SCSI IDs
  * usb/storage: Implement block write support
  * usb/storage: Invert the logic of the IF-statements
  * fdt: Fix phandles for NVLink/NVLink2
  * fdt: Factor out code to replace a phandle in place
  * pci: use appropriate base class ids
  * Makefile: Set a proper DRIVER_NAME when building from a git tree
  * romfs/tools: Silence more compiler warnings with GCC 8.1
  * romfs/tools: Silence GCC 8.1 compiler warning with FLASHFS_MAGIC
  * romfs/tools: Remove superfluous union around the rom header struct
  * make.rules: Compile SLOF with -fno-asynchronous-unwind-tables

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-02-04 18:44:04 +11:00
Gerd Hoffmann
fd813c7239 ipxe: update to latest git master
git shortlog ipxe-qemu-20170717-0600d3ae94-0..ipxe-qemu-20190122-de4565cbe7-0
-----------------------------------------------------------------------------

Aaron Young (1):
      [libc] Fix strcmp()/strncmp() to return proper values

Ameer Mahagneh (1):
      [golan] Set log_max_qp to 1

Bruce Rogers (1):
      [build] Disable gcc stringop-truncation warnings

Christian Hesse (1):
      [build] Handle R_X86_64_PLT32 from binutils 2.31

Hannes Reinecke (1):
      [iscsi] Parse IPv6 address in root path

Heinrich Schuchardt (2):
      [efi] Accept (and ignore) R_ARM_V4BX relocations
      [efi] Add support for R_ARM_REL32 relocations

Ignat Korchagin (1):
      [efi] Fix error handling path in efi_snp_probe

Janos Mattyasovszky (1):
      [intel] Add PCI device ID for X550-T2

Joseph Wong (1):
      [tg3] Add support for SerDes PHY initialization

Ladi Prosek (1):
      [crypto] Fail fast if cross-certificate source is empty

Laurent Gourvénec (1):
      [acpi] Compute and check checksum for ACPI tables

Martin Habets (2):
      [netdevice] Make netdev_irq_enabled() independent of netdev_irq_supported()
      [sfc] Add support for X25xx adapters

Michael Brown (88):
      [efi] Enumerate PCI BARs in same order as SnpDxe
      [build] Conditionalise use of -mabi=lp64 for ARM64 builds
      [build] Fix use of inline assembly on GCC 4.8 ARM64 builds
      [build] Fix ARM32 EFI builds with current EDK2 headers
      [acpi] Fix spurious uninitialised-variable warning on some gcc versions
      [hyperv] Do not steal ownership from the Gen 2 UEFI firmware
      [shell] Enable "shell" command even when BANNER_TIMEOUT is zero
      [romprefix] Avoid unaligned accesses within ROM headers
      [malloc] Avoid false positive warnings from valgrind
      [linux] Impose receive quota on tap driver
      [efi] Raise TPL when calling UNDI entry point
      [netdevice] Cancel all pending transmissions on any transmit error
      [monojob] Check for job progress only once per timer tick
      [job] Allow jobs to report an arbitrary status message
      [downloader] Allow underlying downloads to provide detailed job progress
      [monojob] Display job status message, if present
      [peerdist] Gather and report peer statistics during download
      [netdevice] Add "hwaddr" setting
      [resolv] Use pass-through interfaces for name resolution multiplexer
      [dns] Report current DNS query as job progress status message
      [efi] Check buffer length for packets retrieved via our SNP protocol
      [efi] Match behaviour of SnpDxe for truncated received packets
      [dns] Ensure DNS names are NUL-terminated when used as diagnostic strings
      [efi] Continue to connect remaining handles after connection errors
      [build] Exclude selected directories from Secure Boot builds
      [efi] Inhibit our driver Start() method during disconnection attempts
      [efi] Allow for building with older versions of elf.h system header
      [crypto] Fix endianness typo in comment
      [crypto] Eliminate repetitions in MD5 round constant table
      [crypto] Add MD4 message digest algorithm
      [ntlm] Add support for NTLM authentication mechanism
      [http] Gracefully handle offers of multiple authentication schemes
      [http] Handle parsing of WWW-Authenticate header within authentication scheme
      [http] Add support for NTLM authentication
      [xen] Skip probing of any unsupported device types
      [http] Include error messages for 4xx and 5xx response codes
      [http] Report unsuccessful response status lines at DBGVL_LOG
      [image] Omit URI query string and fragment from download progress messages
      [legal] Add missing FILE_LICENCE declarations
      [legal] Add missing FILE_LICENCE declarations
      [build] Avoid use of "ld --oformat binary"
      [ena] Add driver for Amazon ENA virtual function NIC
      [skel] Remove MII interface
      [ena] Fix spurious uninitialised variable warning on older versions of gcc
      [xhci] Assume an invalid PSI table if any invalid PSI value is observed
      [intel] Work around broken reset mechanism in i219 devices
      [http] Allow for domain names within NTLM user names
      [xhci] Consume event TRB before reporting completion to USB core
      [efi] Run at TPL_CALLBACK to protect against UEFI timers
      [efi] Raise TPL within EFI_SIMPLE_NETWORK_PROTOCOL entry points
      [efi] Raise TPL within EFI_USB_IO_PROTOCOL entry points
      [process] Include process name in debug messages
      [efi] Drop to TPL_APPLICATION when gathering entropy
      [efi] Raise TPL within EFI_DRIVER_BINDING_PROTOCOL entry points
      [librm] Add facility to provide register and stack dump for CPU exceptions
      [golan] Do not assume all devices are identical
      [lacp] Mark link as blocked if partner is not yet up and running
      [lacp] Fix debug message to match documentation
      [tftp] Prevent potential division by zero
      [profile] Prevent potential division by zero
      [ocsp] Centralise test for whether or not an OCSP check is required
      [ocsp] Allow OCSP checks to be disabled
      [lacp] Check the partner's own state when checking for blocked links
      [efi] Provide Map_Mem() and associated UNDI callbacks
      [time] Add support for the ACPI power management timer
      [rng] Use fixed-point calculations for min-entropy quantities
      [build] Prevent use of MMX and SSE registers
      [undi] Treat invalid IRQ numbers as non-fatal errors
      [librm] Provide symbols for inline code placed into other sections
      [librm] Ensure that inline code symbols are unique
      [tls] Ensure received data list is initialised before calling tls_free()
      [list] Add list_is_first_entry() and list_is_last_entry()
      [tls] Rename tls_session to tls_connection
      [tls] Ensure that window change is propagated to plainstream interface
      [efi] Release SNP devices before starting SAN boot image
      [efi] Do not raise TPL within EFI_DRIVER_BINDING_PROTOCOL.Supported()
      [undi] Include subsystem IDs in broken interrupt device check
      [rhine] Fix usage of mii_read()
      [velocity] Fix usage of mii_read() and mii_write()
      [mii] Separate concepts of MII interface and MII device
      [tcp] Add missing packed attribute on struct tcp_header
      [mii] Fix typo in parameter name
      [http] Work around stateful authentication schemes
      [build] Use positive-form tests when checking for supported warnings
      [rndis] Clean up error handling path in register_rndis()
      [ethernet] Use standard 1500 byte MTU unless explicitly overridden
      [intelxl] Add driver for Intel 40 Gigabit Ethernet NICs
      [zbin] Fix compiler warning with GCC 9

Peter von Konigsmark (2):
      [exanic] Power up optical PHYs (if present)
      [exanic] Add PCI device ID for another X40 variant

Petr Borsodi (3):
      [pci] Correct invalid base-class/sub-class/prog-if order in PCIR
      [util] Improve processing of ROM images in Option::ROM
      [util] Add support for EFI ROM images

Richard Moore (1):
      [intel] Add various PCI device IDs

Rob Taglang (3):
      [intel] Add PCI_ROM entry for Intel i354 NIC
      [intelx] Add PCI_ROM entry for Intel X553 NIC
      [efi] Exclude link-layer header length from MaxPacketSize

Robin Smidsrød (1):
      [util] Support reversed sort ordering when generating NIC list

Roman Kagan (2):
      [rndis] Register netdev with MAC filled
      [vmbus] Do not expect version in version_response

Steven Haber (1):
      [intelx] Add support for Intel X552 NIC

Sylvie Barlow (3):
      [mii] Add mii_find()
      [mii] Add bit-bashing interface
      [icplus] Add driver for IC+ network card

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2019-01-22 07:27:59 +01:00
Roman Bolshakov
78ac44af54 roms: seabios: Rename CROSS_COMPILE to CROSS_PREFIX
SeaBIOS introduced CROSS_PREFIX in 2013 but it's not set in roms
Makefile.

With the change it's possible to cross-compile SeaBIOS on macOS,
if acpica/iasl is installed:
  cd roms
  export PATH=/path/to/cross/x86_64-unknown-linux-gnu/bin:$PATH
  make bios system=unknown-linux-gnu

Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-id: 20181121203720.75916-1-r.bolshakov@yadro.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2019-01-11 12:46:07 +01:00
Richard Henderson
ac89de40ef pc-bios: Update palcode-clipper
Do not double-update the PC after OPCDEC.

Fixes: https://bugs.launchpad.net/bugs/1810545
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2019-01-08 12:12:51 +10:00
Gerd Hoffmann
af51dbed38 update seabios to 1.12
Seabios 1.12 has been released yesterday.  Update
our snapshot builds to the final release.

git shortlog
============

Kevin O'Connor (2):
      shadow: Rework bios copy code to prevent gcc array-bounds warning
      docs: Note v1.12.0 release

Shmuel Eiderman (1):
      pvscsi: Scan all 64 possible targets

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-11-20 06:57:53 +01:00
Gerd Hoffmann
0b8f74488e update seabios to master snapshot
seabios 1.12 release is planned for november.

update seabios to a master branch snapshot so it gets more testing
and to make the delta smaller when updating to -final during freeze.

git shortlog rel-1.11.2..14221cd86e
===================================

Gerd Hoffmann (12):
      optionrom: enable non-vga display devices
      cbvga: factor out cbvga_setup_modes()
      qemu: add bochs-display support
      cbvga_setup_modes: use real mode number instead of 0x140
      cbvga_list_modes: don't list current mode twice
      cbvga_set_mode: disable clearmem in windows x86 emulator.
      bochs_display_setup: return error on failure
      pmm: use tmp zone on oom
      vgasrc: add allocate_pmm()
      qemu: add qemu ramfb support
      cbvga_set_mode: refine clear display logic
      pretty boot menu entry for cdrom drives

Jing Liu (3):
      pci: fix the return value for truncated capability
      pci: clean up the debug message for pci capability found
      pci: recognize RH PCI legacy bridge resource reservation capability

Kevin O'Connor (8):
      docs: Add sercon-port to Runtime_config.md documentation
      paravirt: Only enable sercon in NOGRAPHIC mode if no other console specified
      shadow: Don't invoke a shutdown on reboot unless in a reboot loop
      build: Use git describe --always
      docs: Update Download.md to use git clone via https
      ssdt: Fix building of legacy acpi tables on current iasl compiler
      docs: Update download file link
      sdcard: Increase SDHCI_POWER_ON_TIME to 5ms

Marc-André Lureau (4):
      x86: add readq()
      tpm: generalize init_timeout()
      tpm: use get_tpm_version() callback
      tpm: add TPM CRB device support

Marcel Apfelbaum (1):
      pci: fix 'io hints' capability for RedHat PCI bridges

Matt DeVillier (2):
      nvme: fix I/O queue length calculation overflow
      SeaVGABios/cbvga: Fix bpp for coreboot framebuffer

Nikolay Nikolov (11):
      floppy: Introduce the floppy_dor_read() function
      floppy: Introduce floppy_dor_mask()
      floppy: Introduce FLOPPY_DOR_XXX constants
      floppy: Preserve motor and drive sel bits when resetting the floppy controller
      floppy: Reset the floppy motor count in floppy_drive_pio()
      floppy: Use timer_check() in floppy_wait_irq()
      floppy: hold the DOR reset bit low for 4 microseconds, when resetting
      floppy: Execute a SPECIFY command after sensing the media type
      floppy: Support up to 4 floppy drives when turning on the floppy motor
      floppy: Wait for the floppy motor to reach a stable speed, after starting
      floppy: Send 4 sense interrupt commands during controller initialization

Paul Menzel (1):
      docs/Download: Use more secure HTTPS URLs where possible

Stefan Berger (5):
      tpm: Add support for TPM2 ACPI table
      tpm: Wait for tpmRegValidSts flag on CRB interface before probing
      tpm: revert return values for successful/failed CRB probing
      tpm: when CRB is active, select, lock it, and check addresses
      tpm: Request access to locality 0

Stephen Douthit (3):
      tpm: Refactor duplicated wait code in tis_wait_sts() & crb_wait_reg()
      tpm: Wait for interface startup when probing
      tpm: Handle unimplemented TIS_REG_IFACE_ID in tis_get_tpm_version()

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-11-06 12:23:58 +01:00
Mark Cave-Ayland
422d33b8c8 Update OpenBIOS images to 441a84d3 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2018-10-05 09:25:14 +01:00
Mark Cave-Ayland
09d0c187aa Update OpenBIOS images to a1280807 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2018-08-31 12:19:30 +01:00
Alexey Kardashevskiy
1368898d4b pseries: Update SLOF firmware image
This includes gcc8.1 fixes and the image is compiled using gcc 8.1 as well.

The full list of changes is:
  > Fix bad assembler statements for compiling with gcc 8.1 / as 2.30
  > libelf: Add REL32 to the list of ignored relocations

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-08-21 14:28:45 +10:00
BALATON Zoltan
9ba58cb47f sam460ex: Update u-boot-sam460ex firmware
Update the submodule and u-boot-sam460-20100605.bin to include
following fixes from Sebastian Bauer:
- Fix build with newer gcc
- Decrease unnecessary delay which fixes slow booting from CD

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-07-09 13:31:20 +10:00
Gerd Hoffmann
91b8eba9ec vgabios: remove submodule and build rules.
It's the old, lgpl vgabios implementation.

Was left in as fallback when we switched to seavgabios, so we could
easily switch back in case we see regressions.  It's unused since years
now, reportedly doesn't even build, and lacks support for recently (and
not so recently) added display devices.

Zap it.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-07-02 17:20:54 +02:00
Gerd Hoffmann
eda553a442 seabios: enable ide dma
QNX reportedly requires this to boot.
Should also speed up booting other guests.

Note: Upstream seabios defaults this to 'n' to due to known problems
on physical hardware (qemu not affected), and wouldn't flip the default
to 'y'.  So we adjust our local build config accordingly.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-07-02 17:20:54 +02:00
Gerd Hoffmann
75056cef41 seabios: add vga configs for bochs-display and ramfb
Both bochs-display and ramfb are devices with a simple framebuffer and
no vga emulation or text mode.  seavgabios has support for text mode
emulation (at vgabios call level), we are using that to provide some
vga compatibility support for these devices.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-07-02 17:20:54 +02:00
Gerd Hoffmann
429d3ae2c8 seabios: update submodule to release 1.11.2
git shortlog rel-1.11.1..rel-1.11.2
-----------------------------------

Gerd Hoffmann (11):
      optionrom: enable non-vga display devices
      cbvga: factor out cbvga_setup_modes()
      qemu: add bochs-display support
      cbvga_setup_modes: use real mode number instead of 0x140
      cbvga_list_modes: don't list current mode twice
      cbvga_set_mode: disable clearmem in windows x86 emulator.
      bochs_display_setup: return error on failure
      pmm: use tmp zone on oom
      vgasrc: add allocate_pmm()
      qemu: add qemu ramfb support
      cbvga_set_mode: refine clear display logic

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-07-02 17:20:30 +02:00
Alexey Kardashevskiy
d21bbcc655 pseries: Update SLOF firmware image to qemu-slof-20180621
The changes are:
1. fixed broken_sc1;
2. added switching between boot consoles;
3. added PXE boot.

The full list is:
 > lib/libnet/pxelinux: Fix two off-by-one bugs in the pxelinux.cfg parser
 > lib/libnet/pxelinux: Make the size handling for pxelinux_load_cfg more logical
 > libc: Add a simple implementation of an assert() function
 > libnet: Support UUID-based pxelinux.cfg file names
 > slof: Add a helper function to get the contents of a property in C code
 > libnet: Add support for DHCPv4 options 209 and 210
 > libnet: Wire up pxelinux.cfg network booting
 > libnet: Add functions for downloading and parsing pxelinux.cfg files
 > libnet: Put code for determing TFTP error strings into a separate function
 > libc: Add the snprintf() function
 > libnet: Pass ip_version via struct filename_ip
 > resolve ihandle and xt handle in the input command (like for the output)
 > Fix output word
 > obp-tftp: Make sure to not overwrite paflof in memory
 > libnet: Get rid of unused huge_load and block_size parameters
 > libc: Check for NULL pointers in free()
 > libc: Implement strrchr()
 > libnet: Get rid of unnecessary (char *) casts
 > broken_sc1: check for H_PRIVILEGE
 > OF: Use new property "stdout-path" for boot console

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-06-22 14:19:07 +10:00
Peter Maydell
46012db666 - cleanup in virtio-ccw
- accommodate guests using vfio-ccw without specifying unlimited
   prefetch, but actually working fine
 - add cpu model for the z14 Model ZR1
 - add support for pxelinux.cfg-style network booting to the s390x
   firmware
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEw9DWbcNiT/aowBjO3s9rk8bwL68FAlsozdISHGNvaHVja0By
 ZWRoYXQuY29tAAoJEN7Pa5PG8C+vafQQAIUl+TPrwXQQCp9xBy+CpMAAQtPp0PI2
 DGisaVohLQARfNorqDXqPWMy9ulbYQ1bXcdpbhVwzIHlBZopMAvC+QTRwqs4EIFw
 0vjvm5ttC2b3zt+7BAom2xWqaxmSen02O0Qj2l5HpFBVp+5afT74geiWhmmirWbw
 x/JEEnlOcP2dHAvujfbv9Slst1B/OQ4xz7gf5IOlfX2MCsDcIyvqrw6a2D5G4PlX
 DHPZ7PzA6edoG+qP1DvH6Myi19zs3edAKJp5sdCK92FgJBxW6nI1+ThoN3ApbuDm
 U7HYeLzrQ/dXWiHMwA+2QP5Iqe/VfKCvqVcm9+m458dQLiN8ZiyGmUbbZtL0L0X8
 KQB70mSQjawWRVLr1vsvZNAnCeqjT2hZz37EAwA3gGOeIfFjxFLNtBu4WKgt4soG
 7Uq99irLBkfJKY56gQUc0LYOKhTMlDk3Z3xzv2Y2q29T+Cp0927ruHQdRFo3xQAu
 kBc1pIjt2Rfuh2EJkyoprMuM/e5E8OZZv1uLbqUOYKxIHCHp05wqNEva5WOhS5Ah
 05Un03Vw/CVWnXuNSYR+eKrMydIZALA+GTpQYZuiAo8+dT9R3dmTHjQRqOdck3lB
 BU1MzU3kfflmmToi4Pto1PtNPeAaCWMcFNLOgky3L+Wfx2p4WQxYZP2g42be0K4U
 m4G6RXHStHCy
 =hMax
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20180619' into staging

- cleanup in virtio-ccw
- accommodate guests using vfio-ccw without specifying unlimited
  prefetch, but actually working fine
- add cpu model for the z14 Model ZR1
- add support for pxelinux.cfg-style network booting to the s390x
  firmware

# gpg: Signature made Tue 19 Jun 2018 10:33:06 BST
# gpg:                using RSA key DECF6B93C6F02FAF
# gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>"
# gpg:                 aka "Cornelia Huck <huckc@linux.vnet.ibm.com>"
# gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>"
# gpg:                 aka "Cornelia Huck <cohuck@kernel.org>"
# gpg:                 aka "Cornelia Huck <cohuck@redhat.com>"
# Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF

* remotes/cohuck/tags/s390x-20180619:
  pc-bios/s390-ccw: Update the s390-netboot.img binary
  pc-bios/s390-ccw: Optimize the s390-netboot.img for size
  pc-bios/s390-ccw/net: Try to load pxelinux.cfg file accoring to the UUID
  pc-bios/s390-ccw/net: Add support for pxelinux-style config files
  pc-bios/s390-ccw/net: Update code for the latest changes in SLOF
  roms: Update SLOF submodule to current status
  pc-bios/s390-ccw: define loadparm length
  s390x/cpumodels: add z14 Model ZR1
  s390x/ipl: Try to detect Linux vs non Linux for initial IPL PSW
  vfio-ccw: remove orb.c64 (64 bit data addresses) check
  vfio-ccw: add force unlimited prefetch property
  virtio-ccw: clean up notify

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2018-06-20 09:51:30 +01:00
Mark Cave-Ayland
5b20e4cace Update OpenBIOS images to 8fe6f5f96f built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2018-06-18 19:22:16 +01:00
Thomas Huth
4248981d51 roms: Update SLOF submodule to current status
We need the latest version of SLOF's libnet for adding pxelinux.cfg
support in the s390-ccw bios, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
2018-06-18 15:08:44 +02:00
BALATON Zoltan
6b3913e085 roms/u-boot-sam460ex: Change to qemu git mirror and update
Now that we have a mirror of this repo on git.qemu.org change the
submodule to use that and update it to latest commit which fixes a
dangling symlink and removes two big binaries that are not needed.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-04-10 10:05:38 +10:00
Richard Henderson
5aa4860082 Update seabios-hppa
A dozen or so fixes from Helge upstream.
2018-04-06 23:14:51 +10:00
Gerd Hoffmann
9cdd2a736b update seabios to 1.11.1
git shortlog rel-1.11.0..rel-1.11.1
===================================

Kevin O'Connor (3):
      build: Use git describe --always
      shadow: Don't invoke a shutdown on reboot unless in a reboot loop
      paravirt: Only enable sercon in NOGRAPHIC mode if no other console specified

Marcel Apfelbaum (1):
      pci: fix 'io hints' capability for RedHat PCI bridges

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-03-19 11:18:29 +01:00
BALATON Zoltan
b41a162c1b roms: Added git submodule for u-boot-sam460 (firmware for sam460ex)
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-03-06 13:16:29 +11:00
Mark Cave-Ayland
feb3174ff2 Update OpenBIOS images to 54d959d9 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2018-02-22 07:55:47 +00:00
Richard Henderson
edf90bd0af roms/seabios-hppa: Update submodule and image
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2018-02-04 14:11:18 -08:00
Richard Henderson
43ad25643a pc-bios: Add hppa-firmware.img and git submodule
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2018-01-31 05:30:50 -08:00
Mark Cave-Ayland
bbb596054e Update OpenBIOS images to b5c93acd14 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2018-01-26 07:59:25 +00:00
Cédric Le Goater
60e58bd9f0 ppc/pnv: Update skiboot firmware image
This is skiboot 5.9 (commit e0ee24c2). It brings improved POWER9
support among many other things. Built from submodule.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-01-17 09:35:24 +11:00
Alexey Kardashevskiy
c334e5f382 pseries: Update SLOF firmware image to qemu-slof-20171214
The main changes are:
- able to handle more devices with specified bootindex;
- implements flatten device tree rendering, for both QEMU and guest kernel.

The full list is:
  > boot: use a temporary bootdev-buf
  > boot: do not concatenate bootdev
  > libvirtio: Mark struct virtio_scsi_req_cmd as packed
  > fdt: Implement "fdt-fetch" method for client interface
  > rtas: Store RTAS address and entry in the device tree
  > board-qemu: Fix slof-build-id length
  > fdt: Pass the resulting device tree to QEMU
  > fdt: Fix version and add a word for FDT header size
  > tree: Rework set-chosen-cpu and store /chosen ihandle and phandle
  > node: Add some documentation
  > Revert various SLOF-to-QEMU private hypercalls
  > Use input-device and output-device
  > netboot: Create bootp-response when bootp is used
  > libnet/ipv6: assign times_asked value directly
  > usb-xhci: Reset ERSTSZ together with ERSTBA
  > virtio-net: rework the driver to support multiple open
  > board-qemu: add private hcall to inform host on "phandle" update

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2018-01-10 12:52:59 +11:00
Gerd Hoffmann
6350b2a09b seabios: update to 1.11 final
Update our pre-release seabios snapshot to the final release.

git shortlog
============

Gerd Hoffmann (1):
      sercon: Disable ScreenAndDebug in case both serial console and serial debug are active

Kevin O'Connor (2):
      timer: Avoid integer overflows in usec and nsec calculations
      docs: Note v1.11.0 release

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-11-14 15:36:08 +01:00
Mark Cave-Ayland
1bc6bc5c18 Update OpenBIOS images to 83818bd built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-10-19 20:08:04 +01:00
Gerd Hoffmann
083fab0290 seabios: update to 1.11 prerelease
This is the seabios update for qemu 2.11.  Well, almost, seabios is in
freeze for the upcoming 1.11 release.  This updates seabios to current
git master snapshot, and it will be updated again to 1.11 final before
the 2.11 release.

With this two-step seabios gets some more wide testing before the actual
release and the update to 1.11 final (which will most likely happen
after qemu freeze) should have bugfix patches only.

git shortlog
============

Aleksandr Bezzubikov (3):
      pci: refactor pci_find_capapibilty to get bdf as the first argument instead of the whole pci_device
      pci: add QEMU-specific PCI capability structure
      pci: enable RedHat PCI bridges to reserve additional resources on PCI init

Ben Warren (5):
      QEMU DMA: Add DMA write capability
      romfile-loader: Switch to using named structs
      QEMU fw_cfg: Add command to write back address of file
      QEMU fw_cfg: Add functions for accessing files by key
      QEMU fw_cfg: Write fw_cfg back on S3 resume

Daniel Verkamp (5):
      nvme: support NVMe 1.0 controllers
      nvme: extend command timeout to 5 seconds
      nvme: fix reversed loop condition in cmd_readwrite
      nvme: fix extraction of status code bits
      nvme: fix copy-paste mistake in comment

Filippo Sironi (1):
      nvme: Use the Maximum Queue Entries Supported (MQES) to initialize I/O queues

Gerd Hoffmann (7):
      usb: add hub portmap
      usb-xhci: use hub portmap
      std: add cp437 to unicode map
      kbd: make enqueue_key public, add ascii_to_keycode
      romfile: add support for constant files.
      paravirt: serial console configuration.
      add serial console support

Igor Mammedov (1):
      drop "etc/boot-cpus" fw_cfg file and reuse legacy QEMU_CFG_NB_CPUS

Jason Wang (1):
      virtio: IOMMU support

Julian Stecklina (2):
      block: add NVMe boot support
      nvme: fix out of memory behavior

Julius Werner (1):
      coreboot: Adapt to upstream CBMEM console changes

Kevin O'Connor (26):
      usb: Make usb_time_sigatt variable static
      tpm: Add comment banners to tcg.c separating major parts of spec
      tpm: Don't call tpm_set_failure() from tpm12_get_capability()
      tpm: Move code around in tcgbios.c to keep like code together
      acpi: Generalize find_fadt() and find_tcpa_by_rsdp() into find_acpi_table()
      tpm: Don't call tpm_build_and_send_cmd() from tpm20_stirrandom()
      tpm: Rework tpm_build_and_send_cmd() into tpm_simple_cmd()
      ps2port: Disable keyboard/mouse prior to resetting ps2 controller
      docs: Note release dates for 1.10.1 and 1.10.2
      resume: Don't attempt to use generic reboot mechanisms on QEMU
      boot: Increase description size in boot menu
      src: Minor - remove tab characters that slipped into SeaBIOS C code
      NVMe: Allow NVMe to be enabled on real hardware
      smm: Backup and restore A20 on an SMI based mode switch
      stacks: Make sure to initialize Call16Data
      stacks: Don't update the A20 settings if they haven't changed
      stacks: There is no need to disable NMI if it is already disabled
      vga: Fix bug in stdvga_get_linesize()
      docs: Fix typos in Memory_Model.md
      tcgbios: Fix use of unitialized variable
      boot: Rename drive_g to drive
      disk: Don't require the 'struct drive_s' to be in the f-segment
      block: Rename disk_op_s->drive_gf to drive_fl
      virtio: Allocate drive_s storage in low memory
      xhci: Build TRBs directly in xhci_trb_queue()
      xhci: Verify the device is still present in xhci_cmd_submit()

Ladi Prosek (1):
      ahci: Set upper 32-bit registers to zero

Patrick Rudolph (4):
      SeaVGABios/cbvga: Advertise correct pixel format
      SeaVGABIOS/vbe: Query driver for scanline pitch v2
      SeaVGABios/cbvga: Use active mode to clear screen
      SeaVGABios/cbvga: Advertise compatible VESA modes

Paul Menzel (1):
      vgasrc: Increase debug level

Petr Berky (1):
      config: Add function to check if fw_cfg exists

Ricardo Ribalda Delgado (1):
      serialio: Support for mmap serial ports

Roman Kagan (11):
      blockcmd: accept only disks and CD-ROMs
      blockcmd: generic SCSI luns enumeration
      virtio-scsi: enumerate luns with REPORT LUNS
      esp-scsi: enumerate luns with REPORT LUNS
      usb-uas: enumerate luns with REPORT LUNS
      pvscsi: fix the comment about lun enumeration
      mpt-scsi: try to enumerate luns with REPORT LUNS
      lsi-scsi: reset in case of a serious problem
      lsi-scsi: try to enumerate luns with REPORT LUNS
      blockcmd: start REPORT_LUNS with the smallest buffer
      Revert "lsi-scsi: reset in case of a serious problem"

Stefan Berger (1):
      tpm: Log TPM 2 digest structure in little endian format

Youness Alaoui (1):
      nvme: Enable NVMe support for non-qemu hardware

Zeh, Werner (1):
      ahci: Disable Native Command Queueing

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-10-19 10:14:26 +02:00
Mark Cave-Ayland
8722a719de Update OpenBIOS images to 314d4f8 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-09-11 07:43:34 +01:00