Commit Graph

269 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
Alexey Kardashevskiy
86844c2133 pseries: Update SLOF firmware image
The main changes are:
- fixes in PCI bridges code;
- LUN>255 are allowed not in virtio-scsi.

The full list is:
  > pci-scan: Fix pci-bridge-set-mem-base and pci-bridge-set-mem-limit
  > pci: Avoid 32-bit prefetchable memory area if possible
  > Remove unused functions ishexdigit and $cat-comma
  > pci: Translate PCI addresses to host addresses at the end of map-in
  > Define 'open' and 'close' words of the /aliases nodes right from the start
  > virtio-scsi: Allow LUNs bigger than 255
  > paflof: Silence gcc's -Warray-bounds warning for stack pointers
  > board_qemu: move code out of fdt-fix-node-phandle
  > board_qemu: drop unused values early in fdt-fix-node-phandle
  > pci: Improve the pci-var-out debug function
  > libhvcall: drop unused KVMPPC_H_REPORT_MC_ERR and KVMPPC_H_NMI_MCE defines

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-07-25 14:35:42 +10:00
Peter Maydell
1f244ebbba Pull request
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJZbH2LAAoJEEy22O7T6HE4nnUQAJHHnb83bEMX+Dpc7s8SWNq9
 xpysAHmI47qvQvgairj/rFsRCoKTxU1sIMwLYMXa6NGQacD3ZjXH1HhxLQabZPcV
 YkoiLGFwiYSpHCeOzFhoQWi7mk/YHTwhGbjuJCs0i0tob8uSFCrpNGgrxuaP2YMh
 l6gbvEwT3TufTEMq8RzeNxgMFtKbjDsEzdwjSx0SXBdVcL69iKvvP7lkoWntcL84
 hSzXX/gTnfcDXwQl5/KPvnO8WY0O8bOzpkaxKJZnr+ul/4vNsTQtUv2iLtzhdKBS
 j/kPVvzCR2RSzPtSt5CzlkaiW437udeKEf9QuUYM86a6dH0iah6Yub4r51oCYmJ1
 UPasBqUdUGuXUEV8yfiJHbV7YACGwx3lB5U4Qlzxd7536yoJIYMbHZuzDvs/97VQ
 0mkEDHS43HBo+m6J2rTPFXwyngcxILkoSdHlQzfAQ8cEblYzfLiiZ7DehymdPvkT
 lreCvgOmWfhw9dUcRyOyYG+38Mqf/bV/hQRJEnvHbK/kCS4xACvyl38lVgWZQSV9
 JntuxHI7Qir5aBJIJyK0X+9PxmNQysU8mMNQ0hgv1DduowlGm5CvC1ccpCObHu0D
 xbzHosT9Fj7vstaFuwq/gtd8rwfxa/maBKikEbyeHOZfdGq4ly3m/EtbWRbmYWvZ
 IVo6pKd67nmVN5zYMs/I
 =OaYu
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/ipxe-pull-request' into staging

Pull request

# gpg: Signature made Mon 17 Jul 2017 10:04:11 BST
# gpg:                using RSA key 0x4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/ipxe-pull-request:
  ipxe: update to commit 0600d3ae94

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-07-17 15:05:29 +01:00
Alexander Graf
73663d71ef PPC: E500: Update u-boot to v2017.07
Quite a while has passed since we last updated U-Boot for e500. This patch
bumps it to the last released version 2017.07 to make sure users don't feel
like they're using out of date software.

Signed-off-by: Alexander Graf <agraf@suse.de>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-id: 1499862868-102130-1-git-send-email-agraf@suse.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-07-17 13:50:47 +01:00
Gerd Hoffmann
18375b5c16 ipxe: update to commit 0600d3ae94
Rebase ipxe to latest git master.
Pick up four virtio-net fixes.

complete shortlog of ipxe changes
---------------------------------

Adamczyk, Konrad (1):
      [thunderx] Use ThunderxConfigProtocol to obtain board configuration

Bartosz Szczepanek (1):
      [thunderx] Fix hardware deinitialization

Christian Nilsson (1):
      [intel] Add INTEL_NO_PHY_RST for I219-LM (2)

David Decotigny (2):
      [build] Return const char * from uuid_ntoa()
      [af_packet] Add new AF_PACKET driver for Linux

Jason Wang (1):
      [virtio] Support VIRTIO_NET_F_IOMMU_PLATFORM

Jerone Young (1):
      [intel] Add support for I219-V in 7th Gen Intel NUC

Konrad Adamczyk (1):
      [thunderx] Don't disable NIC when exiting from iPXE

Ladi Prosek (3):
      [virtio] Cap queue size to MAX_QUEUE_NUM
      [virtio] Simplify virtqueue shutdown
      [virtio] Remove queue size limit in legacy virtio

Martin Habets (1):
      [sfc] Add driver for Solarflare SFC8XXX adapters

Michael Brown (159):
      [interface] Provide intf_reinit() to reinitialise nullified interfaces
      [iscsi] Avoid potential infinite loops during shutdown
      [efi] Add basic EFI SAN booting capability
      [undi] Allocate base memory before calling UNDI loader entry point
      [romprefix] Avoid using PMM-allocated memory in UNDI loader entry point
      [undi] Clean up driver and device name information
      [prefix] Remove impossible progress message
      [prefix] Include diagnostic information within progress messages
      [undi] Try matching UNDI ROMs in BIOS enumeration order
      [efi] Work around temporal anomaly encountered during ExitBootServices()
      [ipv4] Accept unicast packets for the local network broadcast address
      [build] Add %.vhd target for building VM bootable disk images
      [virtio] Use separate RX and TX empty header buffers
      [cloud] Add ability to retrieve Google Compute Engine metadata
      [virtio] Use host-specified MTU when available
      [netdevice] Allow MTU to be changed at runtime
      [cloud] Show CPU vendor and model in example cloud boot scripts
      [hyperv] Ignore unsolicited VMBus messages
      [pic8259] Fix definitions for "read IRR" and "read ISR" commands
      [efi] Fix building elf2efi.c when -fpic is enabled by default
      [interface] Avoid unnecessary reference counting in intf_unplug()
      [interface] Remove misleading comment
      [interface] Unplug interface before calling intf_close() in intf_shutdown()
      [netdevice] Limit MTU by hardware maximum frame length
      [cpuid] Provide cpuid_supported() to test for supported functions
      [time] Allow timer to be selected at runtime
      [hyperv] Provide timer based on the 10MHz time reference count MSR
      [int13] Avoid potential division by zero
      [int13] Test correct return status from INT 13 calls
      [settings] Add "unixtime" builtin setting to expose the current time
      [time] Report attempts to use timers before initialisation
      [interface] Provide the ability to shut down multiple interfaces
      [http] Cleanly shut down potentially looped interfaces
      [efi] Add missing SANBOOT_PROTO_HTTP to EFI default configuration
      [block] Remove spurious comments
      [block] Centralise SAN device abstraction
      [block] Centralise "san-drive" setting
      [int13] Refactor to use centralised SAN device abstraction
      [efi] Refactor to use centralised SAN device abstraction
      [block] Retry any SAN device operation
      [iscsi] Use intfs_shutdown() when shutting down multiple interfaces
      [scsi] Use intfs_shutdown() when shutting down multiple interfaces
      [block] Use intfs_shutdown() when shutting down multiple interfaces
      [scsi] Avoid duplicate calls to scsicmd_close()
      [build] Provide common ARRAY_SIZE() definition
      [efi] Update to current EDK2 headers
      [efi] Add EFI_ACPI_TABLE_PROTOCOL header and GUID definition
      [efi] Provide ACPI table description for SAN devices
      [efi] Skip cable detection at initialisation where possible
      [undi] Move PXE API caller back into UNDI driver
      [dhcp] Allow vendor class to be changed in DHCP requests
      [hermon] Avoid potential integer overflow when calculating memory mappings
      [arbel] Avoid potential integer overflow when calculating memory mappings
      [xfer] Ensure va_end() is called on failure path
      [nfs] Fix double free bug on error path
      [linda] Use correct length for memset()
      [qib7322] Use correct length for memset()
      [sis900] Remove extraneous memset() with incorrect length
      [802.11] Remove redundant NULL pointer check after dereference
      [crypto] Free correct pointer on the error path
      [librm] Fail gracefully if asked to ioremap() a zero length
      [usb] Use correct length for memcpy()
      [mucurses] Attempt to fix test for empty string
      [mucurses] Attempt to fix keypress processing logic
      [mucurses] Attempt to fix resource leaks
      [hyperv] Fix resource leaks on error path
      [slam] Fix resource leak on error path
      [slam] Avoid NULL pointer dereference in slam_pull_value()
      [eoib] Avoid passing a NULL I/O buffer to netdev_tx_complete_err()
      [http] Add missing check for memory allocation failure
      [mucurses] Attempt to fix use of uninitialised buffer with strcat()
      [xhci] Avoid accessing beyond end of endpoint context array
      [build] Avoid confusing sparse in single-argument DBG() macros
      [infiniband] Return status code from ib_create_cq() and ib_create_qp()
      [infiniband] Return status code from ib_create_mi()
      [block] Quell spurious Coverity size mismatch warning
      [ath] Add missing break statements
      [pixbuf] Avoid potential division by zero
      [usb] Use correct length for memcpy()
      [xen] Use standard calling pattern for asprintf()
      [tcp] Use correct length for memset()
      [video_subr] Use memmove() for overlapping memory copy
      [arbel] Assert that mapping length is non-zero
      [hermon] Assert that mapping length is non-zero
      [tlan] Guard against failure to identify chip
      [w89c840] Avoid potential array overrun
      [sis190] Avoid NULL pointer dereference
      [mucurses] Ensure SLK labels are always terminated
      [coverity] Add Coverity user model
      [malloc] Track maximum heap usage
      [travis] Add minimal .travis.yml file
      [travis] Build and run the unit test suite
      [travis] Integrate with Coverity Scan
      [rtl818x] Fix resource leak on error path
      [pcnet32] Eliminate redundant register read
      [iobuf] Increase minimum I/O buffer size to 128 bytes
      [vxge] Fix use of stale I/O buffer on error path
      [scsi] Avoid duplicate call to scsicmd_close() on TEST UNIT READY failure
      [block] Add dummy SAN device
      [block] Add basic multipath support
      [int13] Improve geometry guessing for unaligned partitions
      [int13con] Avoid overwriting random portions of SAN boot disks
      [time] Add sleep_fixed() function to sleep without checking for Ctrl-C
      [block] Allow SAN retry count to be reconfigured
      [block] Add a small delay between attempts to reopen SAN targets
      [block] Retry reopening indefinitely for multipath devices
      [block] Gracefully close SAN device if registration fails
      [linux] Use dummy SAN device
      [block] Ignore redundant xfer_window_changed() messages
      [block] Describe all SAN devices via ACPI tables
      [iscsi] Do not install iBFT when no iSCSI targets exist
      [http] Notify data transfer interface when underlying connection is ready
      [mucurses] Fix erroneous __nonnull attribute
      [build] Avoid implicit-fallthrough warnings on GCC 7
      [linux] Fix building with kernel 4.11 headers
      [scsi] Retry TEST UNIT READY command
      [libc] Add stdbool.h standard header
      [efi] Fix typo in efi_acpi_table_protocol_guid
      [efi] Add efi_sprintf() and efi_vsprintf()
      [block] Allow use of a non-default EFI SAN boot filename
      [intel] Show original CTRL and STATUS values in debugging output
      [intel] Do not enable ASDE on i350 backplane NIC
      [block] Provide sandev_read() and sandev_write() as global symbols
      [block] Provide abstraction to allow system to be quiesced
      [hyperv] Do not fail if guest OS ID MSR is already set
      [hyperv] Remove redundant return status code from mapping functions
      [hyperv] Cope with Windows Server 2016 enlightenments
      [efi] Standardise PCI debug messages
      [iscsi] Always send FirstBurstLength parameter
      [iscsi] Fix iBFT when no explicit initiator name setting exists
      [xen] Provide 18 4kB receive buffers to work around xen-netback bug
      [efi] Prevent EFI code from being linked in to non-EFI builds
      [tls] Keep cipherstream window open until TLS negotiation is complete
      [settings] Extend numerical setting tags to 64 bits
      [acpi] Make acpi_find_rsdt() a per-platform method
      [efi] Provide access to ACPI tables
      [acpi] Expose ACPI tables via settings mechanism
      [syslog] Handle backspace characters
      [hdprefix] Avoid attempts to read beyond the end of the disk
      [usb] Allow for USB network devices with no interrupt endpoint
      [build] Use -no-pie on newer versions of gcc
      [ecm] Display invalid MAC address strings in debug messages
      [cpuid] Allow input %ecx value to be specified
      [crypto] Expose RSA_CTX_SIZE constant
      [crypto] Expose asn1_grow()
      [crypto] Provide asn1_built() to construct a cursor from a builder
      [crypto] Expose pem_asn1() for use with non-image data
      [exanic] Add driver for Exablaze ExaNIC cards
      [usb] Use non-zero language ID to retrieve strings
      [mucurses] Avoid potential division by zero
      [tls] Support RFC5746 secure renegotiation
      [smscusb] Abstract out common SMSC USB device functionality
      [smsc95xx] Use common SMSC USB device functionality
      [smsc75xx] Use common SMSC USB device functionality
      [smscusb] Add ability to read MAC address from OTP
      [smscusb] Move non-inline register access functions to smscusb.c
      [smscusb] Allow for alternative PHY register layouts
      [smsc75xx] Expose functionality shared with LAN78xx devices
      [lan78xx] Add driver for Microchip LAN78xx USB Ethernet NICs

Mika Tiainen (1):
      [intel] Add INTEL_NO_PHY_RST for I219-V

Mike McCormack (1):
      [sky2] Use 32-bit read to read Y2_VAUX_AVAIL

Raed Salem (2):
      [golan] Update Connect-IB, ConnectX-4 and ConnectX-4 Lx (Infiniband) support
      [golan] Bug fixes and improved paging allocation method

Vishvananda Ishaya (1):
      [intel] Reset all virtual function settings

Vishvananda Ishaya Abrams (1):
      [iscsi] Don't close when receiving NOP-In

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-07-17 11:00:28 +02:00
Peter Maydell
fbc8ea1ed0 s390x/kvm/migration/cpumodel: fixes, enhancements and cleanups
- add a network boot rom for s390 (Thomas Huth)
 - migration of storage attributes like the CMMA used/unused state
 - PCI related enhancements - full support for aen, ais and zpci
 - migration support for css with vmstates (Halil Pasic)
 - cpu model enhancements for cpu features
 - guarded storage support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJZaJ3gAAoJEBF7vIC1phx8VSAP/1zKh7ti4Y2dIVb94c1tvECE
 LRNdCdAPhEqL6zybty85aG04sjAmSu50NGfo5t8AGq1U9WBWrCy7/wWSFdK2GI63
 Umc1fR7aBF9FiFayKONhExaREh6gSWVHZF1RyaPIWnnjRIeX8nqgPEnpdZNiVVrG
 5cKHV2SUd5pMDJUiQdZGZgbgG1c+MWJx2BHoduM+K0UnmFjpyLCL4Rq58Q2Q87Nj
 /+yPSVApFFeMsDpem6DNttE6Msa+V+K+EmRhRKqZNOWrdRKH5vvj6Fl/LSxVtd9c
 CEG+aZGjFd693uP9ge0WmjeUJtVHIGt9xKdeU0d7FijZWehjsIqalLoqapzK8ddF
 h6HJuNsmk/SZF7O9JsbHT3Epyr+7Hk0dx78Ku1GNQuUxtFL93eyIJmRdgz7Zo3Lj
 ZTPJvCA13GjPWtgzG5dG3JH1hiAS+Yai18BgdzGbs+qfMCwPdbWkoqg7sARwAJNe
 50fo/ayJvcmHJnSNO6hErFoU38WctGgO8fWp+oVvD8Um1ny1aBFFuJgJIMf47nhu
 x1IdA6UGrNN0yNC4/UgyYBDV1hfvo/phMdoHqle9AcMmPYOD1DBr0genK/bYbICk
 Dio7og9nKgheLRBHz2u5TuYcCsfE/7rtwZX+iXMvoC7VE7Dqs+Q7Zjwwwtwj4x9F
 FwWuf/Bv1s6IkVLlP8Ow
 =2bOV
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170714' into staging

s390x/kvm/migration/cpumodel: fixes, enhancements and cleanups

- add a network boot rom for s390 (Thomas Huth)
- migration of storage attributes like the CMMA used/unused state
- PCI related enhancements - full support for aen, ais and zpci
- migration support for css with vmstates (Halil Pasic)
- cpu model enhancements for cpu features
- guarded storage support

# gpg: Signature made Fri 14 Jul 2017 11:33:04 BST
# gpg:                using RSA key 0x117BBC80B5A61C7C
# gpg: Good signature from "Christian Borntraeger (IBM) <borntraeger@de.ibm.com>"
# Primary key fingerprint: F922 9381 A334 08F9 DBAB  FBCA 117B BC80 B5A6 1C7C

* remotes/borntraeger/tags/s390x-20170714: (40 commits)
  s390x/gdb: add gs registers
  s390x/arch_dump: also dump guarded storage control block
  s390x/kvm: enable guarded storage
  s390x/kvm: Enable KSS facility for nested virtualization
  s390x/cpumodel: add esop/esop2 to z12 model
  s390x/cpumodel: we are always in zarchitecture mode
  s390x/cpumodel: wire up new hardware features
  s390x/flic: migrate ais states
  s390x/cpumodel: add zpci, aen and ais facilities
  s390x: initialize cpu firstly
  pc-bios/s390: rebuild s390-ccw.img
  pc-bios/s390: add s390-netboot.img
  pc-bios/s390-ccw: Link libnet into the netboot image and do the TFTP load
  pc-bios/s390-ccw: Add virtio-net driver code
  pc-bios/s390-ccw: Add core files for the network bootloading program
  roms/SLOF: Update submodule to latest status
  pc-bios/s390-ccw: Add code for virtio feature negotiation
  pc-bios/s390-ccw: Remove unused structs from virtio.h
  pc-bios/s390-ccw: Move byteswap functions to a separate header
  pc-bios/s390-ccw: Add a write() function for stdio
  ...

Conflicts:
	target/s390x/kvm.c

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-07-14 14:19:35 +01:00
Thomas Huth
4bfd755ff3 roms/SLOF: Update submodule to latest status
We need the latest fixes for building the libc and libnet
of SLOF for the s390-ccw network bootloader firmware.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1499863793-18627-9-git-send-email-thuth@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2017-07-14 12:29:48 +02:00
Mark Cave-Ayland
abcea034a0 Update OpenBIOS images to fbc1b4a built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-07-13 19:44:45 +01:00
Mark Cave-Ayland
415c382483 Update OpenBIOS images to 3ebaaa2 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-05-19 16:52:40 +01:00
Mark Cave-Ayland
0806b30c8d Add QemuMacDrivers as submodule
The QemuMacDrivers project provides virtualisation drivers for PPC MacOS
guests.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-05-11 09:45:15 +10:00
Paolo Bonzini
c8c33fca88 sgabios: update for "fix wrong video attrs for int 10h,ah==13h"
Update the submodule and rebuild the binary.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2017-05-05 12:09:59 +02:00
Mark Cave-Ayland
e0a31457e1 Update OpenBIOS images to 04898e8 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-04-22 07:27:20 +01:00
Mark Cave-Ayland
111308e789 Update OpenBIOS images to f233c3f built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-03-15 19:42:08 +00:00
Alexey Kardashevskiy
a438fa121f pseries: Update SLOF firmware image
Various fixes in this update, the full list is:

  > qemu-bootlist: Take the "-boot strict=off" setting properly into account
  > virtio-scsi: initialize vring avail queue buffers
  > virtio: Remove global variables in block and 9p driver
  > Remove superfluous checkpoints in tree.fs
  > Provide "write" function in the disk-label package
  > virtio: Implement block write support
  > scsi: Add SCSI block write support
  > deblocker: Add a 'write' function
  > virtio-scsi: Fix descriptor order for SCSI WRITE commands
  > board-qemu: Add a possibility to use hvterm input instead of USB keyboard
  > Do not try to use virtio-gpu in VGA mode
  > virtio: Fix stack comment of virtio-blk-read
  > envvar: Do not read default values for /options from the NVRAM anymore
  > envvar: Set properties in /options during "(set-defaults)"

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-03-03 17:25:32 +11:00
Peter Maydell
4bc0d39a2f Update OpenBIOS images
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJYtfUHAAoJEFvCxW+uDzIfq9AH/0C9dbWzFABXr2Oflv7Xm70Q
 qz6XzGUNAREbvRX4Sh4OGohKAxrWM/5unFIJB2DSyZWfZug3XL6qEoElPgsgzcT0
 q+N/MoLIwdW29qgls9Sl6qFkZLLx7WVWJPIFZ/SW5/9jrsOauid42vmoUXCU6o8c
 vzvSjlgwyoPP7nYkSGJznIqicU1OWSDISE/kzatiIKM0iFovp8RuyRnUJ8a/vybJ
 LvSWyOjY8xDAeaa9LXqDCYGhXYanyQtNqSfiKylOTS6yo3cmKD7zp79wkNlhQ+yS
 sojcH0F48fhsRCYbCabodaQfeXbOYJB72n1GfSrd36D84TdBCBvyipewJdZjiPQ=
 =5qjX
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/mcayland/tags/qemu-openbios-signed' into staging

Update OpenBIOS images

# gpg: Signature made Tue 28 Feb 2017 22:09:11 GMT
# gpg:                using RSA key 0x5BC2C56FAE0F321F
# gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>"
# Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F

* remotes/mcayland/tags/qemu-openbios-signed:
  Update OpenBIOS images to 0cd97cc built from submodule.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2017-03-02 12:30:11 +00:00
Mark Cave-Ayland
9b40d1ee13 Update OpenBIOS images to 0cd97cc built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2017-02-28 21:50:03 +00:00
Gerd Hoffmann
8779fccbef seabios: update to 1.10.2 release
git shortlog rel-1.10.1..rel-1.10.2
===================================

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

Kevin O'Connor (1):
      ps2port: Disable keyboard/mouse prior to resetting ps2 controller

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

Paul Menzel (1):
      vgasrc: Increase debug level

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-02-28 09:54:23 +01:00
Mark Cave-Ayland
06c33754a1 Update OpenBIOS images to ef8a14e built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-11-24 21:26:00 +00:00
Gerd Hoffmann
cae41fda0f seabios: update to 1.10.1 stable release
git shortlog rel-1.10.0..rel-1.10.1
===================================

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

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-11-22 10:12:08 +01:00
Richard Henderson
dfbd2768b2 target-alpha: Update palcode for smp
Signed-off-by: Richard Henderson <rth@twiddle.net>
2016-11-17 15:56:31 +01:00
Gerd Hoffmann
423f7cf233 ipxe: update to 20161108 snapshot
git shortlog 04186319..b991c67c
===============================

Laszlo Ersek (3):
      [efi] Install the HII config access protocol on a child of the SNP handle
      [librm] Conditionalize the workaround for the Tivoli VMM's SSE garbling
      [build] Disable TIVOLI_VMM_WORKAROUND in the qemu configuration

Lukas Grossar (1):
      [intel] Add PCI device ID for I219-V/LM

Michael Brown (57):
      [efi] Fix uninitialised data in HII IFR structures
      [bios] Do not enable interrupts when printing to the console
      [pxe] Disable interrupts on the PIC before starting NBP
      [dhcp] Allow for variable encapsulation of architecture-specific options
      [dhcpv6] Include RFC5970 client architecture options in DHCPv6 requests
      [dhcpv6] Include vendor class identifier option in DHCPv6 requests
      [dhcp] Automatically generate vendor class identifier string
      [xfer] Send intf_close() if redirection fails
      [downloader] Treat redirection failures as fatal
      [iscsi] Treat redirection failures as fatal
      [debug] Allow per-object runtime enabling/disabling of debug messages
      [debug] Allow debug messages to be initially disabled at runtime
      [libc] Allow assertions to be globally enabled or disabled
      [profile] Allow profiling to be globally enabled or disabled
      [rng] Check for functioning RTC interrupt
      [acpi] Add support for ACPI power off
      [acpi] Allow time for ACPI power off to take effect
      [ipv4] Send gratuitous ARPs whenever a new IPv4 address is applied
      [intel] Strip spurious VLAN tags received by virtual function NICs
      [intel] Remove duplicate intelvf_mbox_queues() function
      [ipv6] Perform SLAAC only during autoconfiguration
      [settings] Create space for IPv6 in settings display order
      [ipv6] Rename ipv6_scope to dhcpv6_scope
      [settings] Correctly mortalise autovivified child settings blocks
      [ipv6] Allow settings to comprise arbitrary subsets of NDP options
      [ipv6] Expose IPv6 settings acquired through NDP
      [dhcpv6] Expose IPv6 address setting acquired through DHCPv6
      [ipv6] Expose IPv6 link-local address settings
      [settings] Allow settings blocks to specify a sibling ordering
      [ipv6] Match user expectations for IPv6 settings priorities
      [ipv6] Create routing table based on IPv6 settings
      [ipv6] Rename ipv6_scope to ipv6_settings_scope
      [test] Update IPv6 tests to use okx()
      [ipv6] Allow for multiple routers
      [hyperv] Use instance UUID in device name
      [crypto] Remove obsolete extern declaration for asn1_invalidate_cursor()
      [crypto] Allow for parsing of partial ASN.1 cursors
      [image] Add image_asn1() to extract ASN.1 objects from image
      [crypto] Add DER image format
      [crypto] Add PEM image format
      [image] Use image_asn1() to extract data from CMS signature images
      [build] Remove obsolete explicit object requirements
      [crypto] Enable both DER and PEM formats by default
      [build] Remove more obsolete explicit object requirements
      [pixbuf] Enable PNG format by default
      [crypto] Add image_x509() to extract X.509 certificates from image
      [crypto] Generalise X.509 "valid" field to a "flags" field
      [list] Add list_next_entry() and list_prev_entry()
      [crypto] Expose certstore_del() to explicitly remove stored certificates
      [crypto] Allow certificates to be marked as having been added explicitly
      [crypto] Add certstat() to display basic certificate information
      [cmdline] Add certificate management commands
      [crypto] Mark permanent certificates as permanent
      [efi] Mark AppleNetBoot.h as a native iPXE header
      [efi] Update to current EDK2 headers
      [efi] Add EFI_BLOCK_IO2_PROTOCOL header and GUID definition
      [bzimage] Fix page alignment of initrd images

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-11-10 15:29:43 +00:00
Mark Cave-Ayland
625ed4be4b Update OpenBIOS images to 1dc4f16 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-10-31 20:01:25 +00:00
Peter Maydell
66a77ea676 ppc patch queue 2016-10-28
This pull request supersedes and extends the one from 2016-10-26
 (which had a build bug).
 
 Highlights:
   * SLOF (pseries guest firmware) update
   * Enable a number of extra testcases on ppc / pseries
   * Added the 'powernv' machine type
     - Almost enough to be minimally usable
     - But still missing necessary interrupt controller updates
   * Cleanup and consolidation of NVRAM handling on several platforms
     with related firmware
   * Substantial cleanup to device tree construction
   * Some more POWER9 instruction emulation
   * Cleanup to handling of pseries option vectors and CAS reboot
     handling (host/guest feature negotiation mechanism)
   * Significant cleanups to handling of PCI devices in test cases
   * New hotplug event infrastructure
   * Memory hot unplug support for pseries
   * Several bug fixes
 
 The NVRAM cleanup affects some Sun sparc platforms as well as ppc
 ones, but have been tested by the sparc maintainer (Mark Cave-Ayland).
 
 The test additions also include substantial general changes to the
 test framework that aren't strictly ppc related.  They don't seem to
 break tests on other platforms, they're for the benefit of enabling
 tests on ppc and there isn't a specific maintainer for them, so
 they're included in this tree.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJYEqvPAAoJEGw4ysog2bOSQiwP/jOr5bxwZmGDrOwAIzqhagib
 lo0+W1E6OCttbBhAp1inWZP6RnexAZ7orb+Q7DHQFbtYukUbPYwB/VzmWhaws6XV
 jxK/lVB3A+XlRIEKUUc8bWWGRN+QBMnQIcUhNlKuC4AVKMC1aZY9ZLT6LvilV6X7
 QtxAlBPmI2od2kyDHt/ibG9FkROFMi9ybbQG+D7Pu32NlTPgF06R6NPKtpkjEpUU
 dRYAUB+VTB4eofjzyVqsL+QB7uX5g0V9aPmYWBaXqjTG61ivHMJJ7zHta+GdckJM
 fk3S68ftPmf4EE+uL1Ff2fy+2Sxjh4QeNwxl1rppzrgvW8VkNOX6969idxSERUb8
 I2/RVM7F1mJ7+4fNIjenAru8qu3O981lU9+t7R5mmTcEsSk28FOkOv6Io+6JnGA2
 32qgOXwihsUDaH2pDagZ+ySaOqjWMD9WGQTfQgFMthGkcs6heG7ByvFrcpcacl5a
 kbMl7cj+zkgusLuQHx0dp669R7Ch7bxSigQC11iMCpAmFhXl8qJ37ACPJn8NlzOq
 NJdZwXOp9plYZ70a2CgKVXB6j+jhxOeJHg2v08jfF0rUILovBwH0WOrl1m0fb2gB
 1u+ua2FED+5rtwpGJ7pL/oE20H11QDfHNDvqEpagvHAHSSu5nqGxd/falYRYE59C
 wdMXPqJYQqkSYuA6XkgO
 =3Z5V
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.8-20161028' into staging

ppc patch queue 2016-10-28

This pull request supersedes and extends the one from 2016-10-26
(which had a build bug).

Highlights:
  * SLOF (pseries guest firmware) update
  * Enable a number of extra testcases on ppc / pseries
  * Added the 'powernv' machine type
    - Almost enough to be minimally usable
    - But still missing necessary interrupt controller updates
  * Cleanup and consolidation of NVRAM handling on several platforms
    with related firmware
  * Substantial cleanup to device tree construction
  * Some more POWER9 instruction emulation
  * Cleanup to handling of pseries option vectors and CAS reboot
    handling (host/guest feature negotiation mechanism)
  * Significant cleanups to handling of PCI devices in test cases
  * New hotplug event infrastructure
  * Memory hot unplug support for pseries
  * Several bug fixes

The NVRAM cleanup affects some Sun sparc platforms as well as ppc
ones, but have been tested by the sparc maintainer (Mark Cave-Ayland).

The test additions also include substantial general changes to the
test framework that aren't strictly ppc related.  They don't seem to
break tests on other platforms, they're for the benefit of enabling
tests on ppc and there isn't a specific maintainer for them, so
they're included in this tree.

# gpg: Signature made Fri 28 Oct 2016 02:37:19 BST
# gpg:                using RSA key 0x6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
# gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>"
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dgibson/tags/ppc-for-2.8-20161028: (73 commits)
  ppc: allow certain HV interrupts to be delivered to guests
  spapr: Memory hot-unplug support
  spapr: use count+index for memory hotplug
  spapr: Add DRC count indexed hotplug identifier type
  spapr: add hotplug interrupt machine options
  spapr_events: add support for dedicated hotplug event source
  spapr: update spapr hotplug documentation
  target-ppc: Add xvcmpnesp, xvcmpnedp instructions
  target-ppc: add xscmp[eq,gt,ge,ne]dp instructions
  tests: Add pseries machine to the prom-env-test, too
  spapr_nvram: Pre-initialize the NVRAM to support the -prom-env parameter
  libqos: Change PCI accessors to take opaque BAR handle
  tests: Don't assume structure of PCI IO base in ahci-test
  tests: Use qpci_mem{read,write} in ivshmem-test
  libqos: Add 64-bit PCI IO accessors
  tests: Clean up IO handling in ide-test
  libqos: Implement mmio accessors in terms of mem{read,write}
  libqos: Add streaming accessors for PCI MMIO
  tests: Adjust tco-test to use qpci_legacy_iomap()
  libqos: Better handling of PCI legacy IO
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-10-28 16:31:59 +01:00
Cédric Le Goater
bcad45de6a ppc: add skiboot firmware for the pnv platform
This is the initial image of skiboot 5.3.7 (commit 762d0082) for
the PowerPC PowerNV (Non-Virtualized) platform. Built from
submodule.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-10-28 09:36:58 +11:00
Alexey Kardashevskiy
f77d4ff850 pseries: Update SLOF firmware image to 20161019
The main changes are:
* virtio-serial
* booting speed imrovement
* better PCI bridge support

The complete changelog is:
  > virtio-serial: Fix compile error
  > scsi: Remove debug functions from scsi-loader.fs
  > scsi: Remove unused read-6 command
  > obp-tftp: Remove the ciregs-buffer
  > libnet: Simplify the net-load arguments passing
  > libnet: Simplify the Forth-to-C wrapper of ping()
  > Do not link libnet to net-snk anymore, and remove net-snk from board-qemu
  > Add a Forth-to-C wrapper for the ping command, too
  > Link libnet code to Paflof and add a wrapper for netboot()
  > Remember execution tokens of "write" and "read" for socket operations
  > Add virtio-serial device support
  > Generalize output banner write routine
  > Improve indentation in OF.fs
  > scsi: implement READ (16) command
  > rtas: Improve rtas-do-config-@ and rtas-do-config-! a little bit
  > libnet: Make netapps.h includable from .code files
  > libnet: Remove unused prototypes from netapps.h
  > libnet: Fix the printout of the ping command
  > libnet: Make sure to close sockets when we're done
  > scsi: implement read-capacity-16
  > pci: Fix secondary and subordinate PCI bus enumeration with board-qemu
  > pci-phb: Fix stack underflow in phb-pci-walk-bridge
  > paflof: Add a read() function to read keyboard input
  > paflof: Add socket(), send() and recv() functions to paflof
  > paflof: Provide get_timer() and set_timer() helper functions
  > paflof: Add a write_mm_log helper function
  > paflof: Copy sbrk code from net-snk
  > paflof: Use CFLAGS from make.rules instead of completely redefining them
  > Do not include the FCode evaluator by default anymore
  > Source code beautification of board-qemu/slof/pci-interrupts.fs
  > Allow PCI devices in PCI bridge slots greater than 4
  > Fix bad interrupt pin numbering in interrupt-map property of PCI bridges
  > Improve SLOF_alloc_mem_aligned()
  > instance: Fix set-my-args for empty arguments
  > Fix remaining compiler warnings in sloffs.c
  > Remove misleading padding fields from ROM header definition
  > Improve indentation in calculatecrc.h
  > Do not include calculatecrc.h from assembler files
  > Remove unused defines in calculatecrc.h
  > libnet: Re-initialize global variables at the beginning of tftp()
  > Remove dependency on cpu/@0 for booting
  > usb: Set XHCI slot speed according to port status
  > usb: Build correct route string for USB3 devices behind a hub
  > usb: Initialize USB3 devices on a hub and keep track of hub topology
  > usb: Increase amount of maximum slot IDs and add a sanity check
  > usb: Move XHCI port state arrays from header to .c file
  > tools: add copy functionality
  > tools: added support to sloffs to read from /dev/slof_flash
  > tools: added file append functionality
  > tools: use crc checking code from romfs/tools
  > tools: added initial version of sloffs
  > romfs: factored out crc code, to make it usable from other locations
  > tools: remove unused parts from the Makefile
  > usb-hid: Fix non-working comma key
  > fat-files: Fix access to FAT32 dir/files when cluster > 16-bits
  > virtio-net: fix ring handling in receive
  > net: Remove remainders of the MTFTP code
  > net: Move also files from clients/net-snk/app/netapps/ to lib/libnet/
  > net: Move files from clients/net-snk/app/netlib/ to lib/libnet/
  > net-snk: Get rid of netlib and netapps prefixes in include statements
  > usb-xhci: assign field4 before conditional
  > Improve F12 key handling in boot menu
  > Fix stack underflow that occurs with duplicated ESC in input
  > rtas-nvram: optimize erase
  > ipv6: Replace magic number 1500 with ETH_MTU_SIZE (i.e. 1518)
  > ipv6: Fix NULL pointer dereference in ip6addr_add()
  > ipv6: Fix memory leak in set_ipv6_address() / ip6_create_ll_address()
  > ipv6: Clear memory after malloc if necessary
  > ipv6: Fix possible NULL-pointer dereference in send_ipv6()
  > ping: use gateway address for routing
  > ping: add netmask in the ping argument
  > xhci: fix missing keys from keyboard
  > xhci: add memory barrier after filling the trb
  > loaders: Remove netflash command
  > boot: Remove legacy Forth words for network loading
  > base: Move cnt-bits and bcd-to-bin to board-js2x folder
  > base: Move huge-tftp-load variable to obp-tftp package
  > base: Remove unused IP address conversion functions
  > virtio: White space cleanup in virtio-9p.c
  > virtio: Add modern version 1.0 support to 9p driver
  > virtio: Set a proper name for virtio-9p device tree nodes
  > pci: Fix mistype in "unkown-bridge"
  > ipv6: Indent code with tabs, not with spaces
  > ipv6: send_ipv6() has to return after doing NDP
  > ipv6: Do not use unitialized MAC address array
  > ipv6: Add support for sending packets through a router
  > Remove unused sms code.
  > virtio-net: initialize to populate mac address
  > libbootmsg: Do not use '\b' characters when printing checkpoints
  > dev-null: The "read" function has to return 0 if nothing has been read

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-10-28 09:36:58 +11:00
Gerd Hoffmann
6e99f5741f seabios: update to 1.10.0 release.
New in this release:
===================

* Initial support for Trusted Platform Module (TPM) version 2.0
* Several USB XHCI timing fixes on real hardware
* Support for "LSI MPT Fusion" scsi controllers on QEMU
* Support for virtio devices mapped above 4GB
* Several bug fixes and code cleanups

git shortlog rel-1.9.3..rel-1.10.0
==================================

Alex Williamson (1):
      fw/pci: Add support for mapping Intel IGD via QEMU

Cao jin (1):
      Fix comment typo

Cole Robinson (1):
      biostables: Support SMBIOS 2.6+ UUID format

Dana Rubin (2):
      pvscsi: Fix incorrect arguments order in call to memalign_low
      pvscsi: Use high memory for rings

Don Slutz (1):
      Support for booting from LSI Logic LSI53C1030, SAS1068, SAS1068e

Gerd Hoffmann (4):
      ahci: set transfer mode according to the capabilities of connected drive
      virtio: uninline _vp_{read,write}
      virtio: pci cfg access
      virtio: fix virtio-pci

Haozhong Zhang (1):
      fw/msr_feature_control: add support to set MSR_IA32_FEATURE_CONTROL

Igor Mammedov (3):
      paravirt: disable legacy bios tables in case of more than 255 CPUs
      add helpers to read etc/boot-cpus at resume time
      support booting with more than 255 CPUs

Kevin O'Connor (124):
      usb: Allow configuration of sigatt time (in etc/usb-time-sigatt)
      xhci: Check for device disconnects during USB2 reset polling
      sdcard: Only enable error_irq_enable for bits defined in SDHCI v1 spec
      sdcard: fix typo causing 32bit write to 16bit block_size field
      sdcard: Enable extra debugging on sdcard_waitw() timeout
      acpi_extract: Move main code to new function main()
      acpi_extract: Make the generated .hex files more human readable
      acpi_extract: Don't generate unused (and empty) q35-acpi-dsdt.hex file
      acpi: Don't build SSDT files on every build; store them in git
      acpi: Remove build check for iasl
      tpm: Move standard definitions from tcgbios.h to new file std/tcg.h
      util.h: Minor - HaveRunPost is in misc.c not resume.c
      tpm: Add "static" declaration to functions not used outside tcgbios.c
      tpm: Move code around in tcgbios.c
      tpm: Move error recovery from tpm_extend_acpi_log() to only caller
      tpm: Open code tpm_ipl() into callers
      tpm: Change tpm_add_measurement() to tpm_add_action()
      tpm: Move tpm_add_bootdevice() into callers
      tpm: Move tpm_start_option_rom_scan() and tpm_calling_int19h() into callers
      tpm: pcpes->event is a variable length array
      tpm: Don't pass entry_count around in parameters to/from tpm_extend_acpi_log()
      tpm: There is no need to pass pcrindex to hash_log_extend_event()
      tpm: Perform hashing separately from logging
      tpm: There is no need to pass event_length to hash/extend functions
      tpm: Avoid scatter-gather copying in build_and_send_cmd()
      tpm: Don't implement scatter-gather in transmit()
      tpm: Merge tpm_log_event() and tpm_extend_acpi_log()
      tpm: Merge tpm_log_extend_event() and tpm_extend(); extend before logging
      xhci: Wait for port enable even for USB3 devices
      xhci: Improve port status change debugging
      xhci: Disable slot on failed set_address command
      nmi: Don't try to switch onto extra stack in NMI handler
      scsi: Do not call printf() from scsi_is_ready()
      block: Report drive->sectors using "%u" instead of "%d"
      tpm: Add banner separating the TCG bios interface code from TCG menu code
      tpm: Avoid macro expansion of tpm request / response structs
      tpm: Simplify hardware probe and detection checks
      tpm: Add wrapper function tpmhw_set_timeouts()
      tpm: Move TPM hardware functions from tcgbios.c to hw/tpm_drivers.c
      tpm: Rework TPM interface shutdown support
      tpm: Simplify tcpa probe
      tpm: Introduce tpm_get_capability() helper function
      tpm: Eliminate response buffer parameter from build_and_send_cmd()
      tpm: Don't return a status from external bios measurement functions
      tpm: No need to check the return status of measurements
      tpm: Don't call tpm_set_failure() from tpm_log_extend_event()
      tpm: Don't use 16bit BIOS return codes in build_and_send_cmd()
      tpm: Don't use 16bit BIOS return codes in tpm_log_event()
      tpm: Don't use 16bit BIOS return codes in tpmhw_* functions
      tpm: Don't use 16bit BIOS return codes in TPM menu functions
      usb: Remove usbdev->slotid field
      coreboot: Check for unaligned cbfs header
      resume: Make KVM soft reboot loop detection more flexible
      post: Always set HaveRunPost prior to setting any other global variable
      kbd: Don't treat scancode and asciicode as separate values
      kbd: Refactor capslock and numlock handling
      ehci: Only delay UHCI/OHCI port scan until after EHCI setup completes
      usb: Eliminate USB controller setup thread
      pci: Add helper functions for internal driver BAR handling
      ahci: Convert to new PCI BAR helper functions
      ata: Convert to new PCI BAR helper functions
      esp-scsi: Convert to new PCI BAR helper functions
      lsi-scsi: Convert to new PCI BAR helper functions
      megasas: Convert to new PCI BAR helper functions
      pvscsi: Convert to new PCI BAR helper functions
      sdcard: Convert to new PCI BAR helper functions
      ehci: Convert to new PCI BAR helper functions
      ohci: Convert to new PCI BAR helper functions
      uhci: Convert to new PCI BAR helper functions
      xhci: Convert to new PCI BAR helper functions
      virtio: Convert to new PCI BAR helper functions
      pci: Consistently set pci->have_drivers for devices with internal drivers
      pci: Implement '%pP' printf handler for 'struct pci_device' pointers
      pci: Move code in pci.c that is specific to pciinit.c to pciinit.c
      pci: Split low-level pci code from higher-level 'struct pci_device' code
      scsi: Always use MAXDESCSIZE when building drive description
      block: Move drive setup to new function block_setup()
      tpm: Unify tpm_fill_hash()/tpm_log_extend_event() and use in BIOS interface
      docs: Note release date of 1.9.1
      build: fix .text section address alignment
      tpm: Write logs in TPM 2 format
      mpt-scsi: Declare 'int i' outside of for loop for older compilers
      block: Move send_disk_op() from block.c to disk.c
      disk: Avoid stack_hop() path if already on the extra stack
      optionroms: Drop support for CONFIG_OPTIONROMS_DEPLOYED
      shadow: Batch PCI config writes
      virtio: Use threads when scanning for virtio devices
      scsi: Launch a thread when scanning for drives in the scsi drivers
      docs: Note release date of 1.9.2
      usb-xhci: Remove unused const variables
      tcgbios: Remove unused const variable
      vgabios: Remove special case of dh==0xff in handle_1013()
      vgabios: Don't check for special case of page==0xff on external calls
      vgabios: Simplify set_cursor_pos()
      docs: Note release date of 1.9.3
      vgabios: Simplify scroll logic
      blockcmd: CMD_SCSI op is only used in 32bit mode
      swcursor: Move swcursor code from vgafb.c to new file swcursor.c
      swcursor: Concentrate swcursor logic in swcursor.c
      vgafb: Move header definitions from vgabios.h to new file vgafb.h
      vgainit: Move video param setup to stdvga_build_video_param()
      vgautil: Add new header file with misc function and variable definitions
      vgautil: Move generic definitions from stdvga.h to vgautil.h
      vgautil: Move definitions from cbvga.h and clext.h to vgautil.h
      version: Update header files now that version.c is not auto generated
      checkstack: Handle conditional checks at start of functions
      tpm: Append to TPM2 log the hashes used for PCR extension
      ps2: Remove stale check for timeout warning on reset
      pic: The default hardware interrupt handlers should not take a parameter
      kbd: Implement 101-key keyboard keycode mapping
      kbd: Implement extended keycode mappings for keypad-enter and keypad-/
      kbd: Suppress keys without mappings
      kbd: Merge bda->kbd_flag0 and bda->kbd_flag1
      kbd: Extract out shift flag setting into new function
      kbd: Move checking for special keys in __process_keys() into switch
      kbd: Ignore fake shift keys
      usb-hid: Generate Ctrl+Break and Alt+SysReq keys
      kbd: Generate interrupt events for SysReq, PrtScr, and Break
      post: Map int 0x05 to entry point
      kbd: Move extended and release events out of special key detection switch
      build: Be sure to also include out/*.d in Makefile
      smp: consolidate CPU APIC ID detection and accounting
      build: Add -fno-pie to the gcc flags when available
      docs: Note v1.10.0 release

Marcel Apfelbaum (2):
      fw/pci: do not automatically allocate IO region for PCIe bridges
      fw/pci: add Q35 S3 support

Matt DeVillier (1):
      sdcard: skip detection of PCI sdhci controllers if etc/sdcard used

Paolo Bonzini (1):
      smp: restore MSRs on S3 resume

Piotr Król (1):
      docs: fix various typos and inconsistency

Roger Pau Monne (1):
      build: fix typo in buildversion.py

Stefan Berger (34):
      tpm: Temporarily deactivate the TPM in case of failure
      tpm: Refactor function building TPM commands
      tpm: Refactor the parameters being passed to tpm_extend_acpi_log
      tpm: Refactor hash_log_event BIOS interface function
      tpm: Refactor hash_log_extend_event
      tpm: fix compiler warning with older gcc versions
      tpm: Drop code using the TPM for sha1
      tpm: Set timeouts and durations to microsecond values
      tpm: Cache all log related pointers in tpm_state
      tpm: Refactor pass_through_to_tpm
      tpm: Rename remaining interrupt functions
      tpm: Remove check for working TPM from TPM interrupt handler
      tpm: Check length parameter of the array
      tpm: Add a menu for TPM configuration
      tpm: Copy digest into HashLogExentEvent response
      tpm: Move assert_physical_presence and dependencies
      tpm: Add support for harware physical presence
      tpm: Rework the assertion of physical presence
      tpm: Remove usage of PP_CMD_ENABLE from all but one place
      tpm: Do not set TPM in failure mode if menu command fails
      tpm: Extend TPM TIS with TPM 2 support.
      tpm: Factor out tpm_extend
      tpm: Prepare code for TPM 2 functions
      tpm: Implement tpm20_startup and tpm20_s3_resume
      tpm: Implement tpm20_set_timeouts
      tpm: Implement tpm20_prepboot
      tpm: Implement tpm20_extend
      tpm: Implement tpm20_menu
      tpm: Implement TPM 2's tpm_set_failure part
      tpm: Filter TPM commands in passthrough API
      tpm: Retrieve the PCR Bank configuration
      tpm: Restructure tpm20_extend to use buffer and take hash as parameter
      tpm: Refactor tpml_digest_values_sha1 structure
      tpm: Extend tpm20_extend to support extending to multiple PCR banks

Zheng Bao (1):
      splash: Skip the RGB555 mode

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-10-27 16:42:28 +02:00
Mark Cave-Ayland
a26f7f2cb8 Update OpenBIOS images to c5542f2 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-09-12 08:14:50 +01:00
Mark Cave-Ayland
4f194ce819 Update OpenBIOS images to e79bca6 built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-07-19 07:41:52 +01:00
Mark Cave-Ayland
5cebd885d0 Update OpenBIOS images to b747b6a built from submodule.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-07-15 15:18:15 +01:00
Mark Cave-Ayland
fa3007e7ec OpenBIOS: switch over to official OpenBIOS git repo
This update should preserve git history, and switches git.qemu-project.org
over to be a mirror of the new official git repo hosted at
https://github.com/openbios from a git-svn import of the old coreboot SVN
repository. All prior history from the SVN repository should still be preserved
(i.e. commit hashes are the same for historical commits).

No other source changes are made by this commit since both the old and new
HEADs contain the same source tree (albeit with difference metadata) whilst the
previous git-svn HEAD can be retrieved via the svn-head branch.

Proposed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-07-12 19:07:56 +01:00
Peter Maydell
60a0f1af07 ipxe: update submodule from 4e03af8ec to 041863191
e1000e+vmxnet3: add boot rom
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJXegFqAAoJEEy22O7T6HE4BasP/A3kDhgn6J3dqJN85eVw9jcb
 52zxttQuDJBibVKZaSIRiZAnBCTEn5WbUvZ5ZRTt5MVH3Whhv09ZhLfdWUJho9az
 Dnebv3wqyHg3SlAWFNBE3CjSkHswwIAhTrERqjJqXL2jU2erPAHIdTzprx1LdGc7
 hKxNy9tPHjyEeGWLUWrTCIC/YcTNkIp1gdSNcVIQ8TbEHIqo0vSK1Jyl429GYVYD
 bZO6VbX5D/QAEHs6a+Twf5lFnLZ4hlplm+9SbfjsfaVocx/+D5VtMD0AgYukR60M
 sHNKqzRimHsLQoz1PV4z9+ZexRDdge4y0eNlVHM8XdXYq0AHybv2/MYW6DHBAXaE
 nayEPPrwNnOVnE95Xgn03CtpddbQ2hAUXObm8gm6aAJEpXh8SeL7YLAYrYJtF5Oq
 cpB0ks0zDZZRPAr/c0gy075IbB3ITGUcphFid9lpn5ork/YYD/y5//GVB22IrOvQ
 qT0IXtmL7OA71i7XOvxYejdTWcArpzgWnOXmh7eVjumxDicC+B3JIORZutKaXHDu
 w9LFnz5l1DyIM0nLEJb2onP4lXRlYdyeiSHjQi4HH6fLEqZERfKlWvftRiE7agGq
 nt6QaFFeSXqaaDOjfmPFLF2RmIgTHzit279WcWGUQXkbWKvQSCgRB26LBGZ6kFB2
 Z1lTOF1b2zUjpKEsuFH2
 =zaj0
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/kraxel/tags/pull-ipxe-20160704-1' into staging

ipxe: update submodule from 4e03af8ec to 041863191
e1000e+vmxnet3: add boot rom

# gpg: Signature made Mon 04 Jul 2016 07:25:46 BST
# gpg:                using RSA key 0x4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/pull-ipxe-20160704-1:
  build: add pc-bios to config-host.mak deps
  ipxe: add new roms to BLOBS
  ipxe: update prebuilt binaries
  vmxnet3: add boot rom
  e1000e: add boot rom
  ipxe: add vmxnet3 rom
  ipxe: add e1000e rom
  ipxe: update submodule from 4e03af8ec to 041863191

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-07-05 12:46:18 +01:00
Gerd Hoffmann
3b1154fff1 Revert "bios: Add fast variant of SeaBIOS for use with -kernel on x86."
This reverts commit 4e04ab6a63.

Also remove pc-bios/bios-fast.bin.

Commit was merged by mistake.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-07-04 17:23:33 +02:00
Gerd Hoffmann
ea996ebd65 seabios: update 128k config
Turn off mpt-scsi and bootsplash to keep size below 128k.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-07-04 11:28:58 +02:00
Richard W.M. Jones
4e04ab6a63 bios: Add fast variant of SeaBIOS for use with -kernel on x86.
This commit adds a fast variant of SeaBIOS called 'bios-fast.bin'.

It's designed to be the fastest (also the smallest, but that's not the
main aim) SeaBIOS that is just enough to boot a Linux kernel using the
-kernel option on i686 and x86_64.

This commit does not modify the -kernel option to use this.  You have
to specify it by doing something like this:

  -kernel vmlinuz -bios bios-fast.bin

Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-07-04 11:28:58 +02:00
Gerd Hoffmann
8692aa2979 seabios: update submodule from 1.9.1 to 1.9.3
git shortlog
============

Alex Williamson (1):
      fw/pci: Add support for mapping Intel IGD via QEMU

Haozhong Zhang (1):
      fw/msr_feature_control: add support to set MSR_IA32_FEATURE_CONTROL

Kevin O'Connor (1):
      build: fix .text section address alignment

Marcel Apfelbaum (1):
      fw/pci: add Q35 S3 support

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-07-04 11:28:58 +02:00
Gerd Hoffmann
4d9dc8b7a8 ipxe: add vmxnet3 rom
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24 13:53:57 +02:00
Gerd Hoffmann
c9c3dc5f4b ipxe: add e1000e rom
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24 13:53:52 +02:00
Gerd Hoffmann
ffdc5a2bce ipxe: update submodule from 4e03af8ec to 041863191
shortlog
========

Andrew Widdersheim (1):
      [netdevice] Add "ifname" setting

Carl Henrik Lunde (1):
      [vmxnet3] Avoid completely filling the TX descriptor ring

Christian Hesse (2):
      [golan] Fix build error on some versions of gcc
      [ath9k] Fix buffer overrun for ar9287

Christian Nilsson (2):
      [intel] Add PCI device ID for another I219-V
      [intel] Add PCI device ID for another I219-LM

Hummel Frank (1):
      [intel] Add INTEL_NO_PHY_RST for I218-LM

Kyösti Mälkki (1):
      [intel] Add PCI IDs for i210/i211 flashless operation

Ladi Prosek (6):
      [pci] Add pci_find_next_capability()
      [virtio] Add virtio 1.0 constants and data structures
      [virtio] Add virtio 1.0 PCI support
      [virtio] Add virtio-net 1.0 support
      [virtio] Renumber virtio_pci_region flags
      [virtio] Fix virtio-pci logging

Leendert van Doorn (2):
      [tg3] Fix address truncation bug on 64-bit machines
      [tg3] Add missing memory barrier

Michael Brown (287):
      [settings] Re-add "uristring" setting type
      [dhcp] Do not skip ProxyDHCPREQUEST if next-server is empty
      [efi] Add definitions of GUIDs observed when booting shim.efi and grub.efi
      [efi] Mark EFI debug transcription functions as __attribute__ (( pure ))
      [efi] Remove raw EFI_HANDLE values from debug messages
      [efi] Include installed protocol list in unknown handle names
      [efi] Improve efi_wrap debugging
      [pxe] Construct all fake DHCP packets before starting PXE NBP
      [efi] Add definitions of GUIDs observed when booting wdsmgfw.efi
      [efi] Fix debug directory size
      [efi] Populate debug directory entry FileOffset field
      [build] Search for ldlinux.c32 separately from isolinux.bin
      [tcpip] Allow supported address families to be detected at runtime
      [efi] Allow calls to efi_snp_claim() and efi_snp_release() to be nested
      [efi] Fix order of events on SNP removal path
      [efi] Do not return EFI_NOT_READY from our ReceiveFilters() method
      [pxe] Populate ciaddr in fake PXE Boot Server ACK packet
      [uri] Generalise tftp_uri() to pxe_uri()
      [efi] Implement the EFI_PXE_BASE_CODE_PROTOCOL
      [usb] Expose usb_find_driver()
      [usb] Add function to device's function list before attempting probe
      [efi] Add USB headers and GUID definitions
      [efi] Allow efidev_parent() to traverse multiple device generations
      [efi] Add a USB host controller driver based on EFI_USB_IO_PROTOCOL
      [tcpip] Avoid generating positive zero for transmitted UDP checksums
      [usb] Generalise zero-length packet generation logic
      [ehci] Do not treat zero-length NULL pointers as unreachable
      [ehci] Support arbitrarily large transfers
      [xhci] Support arbitrarily large transfers
      [efi] Provide efi_devpath_len()
      [efi] Include a copy of the device path within struct efi_device
      [usb] Select preferred USB device configuration based on driver score
      [usb] Allow for wildcard USB class IDs
      [efi] Expose unused USB devices via EFI_USB_IO_PROTOCOL
      [ncm] Support setting MAC address
      [build] Remove dependency on libiberty
      [efi] Minimise use of iPXE header files when building host utilities
      [pxe] Invoke INT 1a,564e when PXE stack is activated
      [pxe] Notify BIOS via INT 1a,564e for each new network device
      [efi] Work around broken 32-bit PE executable parsing in ImageHlp.dll
      [efi] Avoid infinite loops when asked to stop non-existent devices
      [efi] Expose an UNDI interface alongside the existing SNP interface
      [malloc] Avoid integer overflow for excessively large memory allocations
      [peerdist] Avoid NULL pointer dereference for plaintext blocks
      [http] Verify server port when reusing a pooled connection
      [efi] Reset root directory when installing EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
      [efi] Update to current EDK2 headers
      [efi] Import EFI_HII_FONT_PROTOCOL definitions
      [fbcon] Allow character height to be selected at runtime
      [fbcon] Move margin calculations to fbcon.c
      [console] Tidy up config/console.h
      [build] Generalise CONSOLE_VESAFB to CONSOLE_FRAMEBUFFER
      [efi] Add support for EFI_GRAPHICS_OUTPUT_PROTOCOL frame buffer consoles
      [dhcp] Reset start time when deferring discovery
      [dhcp] Limit maximum number of DHCP discovery deferrals
      [comboot] Reset console before starting COMBOOT executable
      [intel] Forcibly skip PHY reset on some models
      [intel] Correct definition of receive overrun bit
      [infiniband] Add definitions for FDR and EDR link speeds
      [infiniband] Add qword accessors for ib_guid and ib_gid
      [pci] Add definitions for PCI Express function level reset (FLR)
      [bitops] Fix definitions for big-endian devices
      [smsc95xx] Add driver for SMSC/Microchip LAN95xx USB Ethernet NICs
      [bitops] Provide BIT_QWORD_PTR()
      [efi] Add %.usb target for building EFI-bootable USB (or other) disk images
      [usb] Use port->disconnected to check for disconnected devices
      [usb] Record USB device speed separately from current port speed
      [usb] Allow USB device IDs to include arbitrary driver-specific data
      [usb] Allow additional settling time for out-of-spec hubs
      [acm] Add support for CDC-ACM (aka USB RNDIS) devices
      [xhci] Ensure that zero-length packets are not part of a TRB chain
      [efi] Centralise EFI file system info GUIDs
      [build] Allow extra objects to be included in an all-drivers build
      [bios] Add support for injecting keypresses
      [settings] Expose SMBIOS settings as global variables
      [smsc95xx] Allow for multiple methods for obtaining the MAC address
      [crypto] Dual-license selected DRBG files
      [smsc95xx] Fetch MAC from SMBIOS OEM string for Honeywell VM3
      [crypto] Dual-license more selected DRBG files
      [vmware] Expose GuestRPC mechanism in 64-bit builds
      [romprefix] Report an optimistic runtime size estimate
      [usb] Add support for numeric keypad on USB keyboards
      [http] Handle relative redirection URIs
      [image] Provide image_set_uri() to modify an image's URI
      [downloader] Update image URI in response to a redirection
      [tftp] Do not change current working URI when TFTP server is cleared
      [infiniband] Profile post work queue entry operations
      [pxe] Colourise debug output
      [pxe] Add debug message to display real-mode segment addresses
      [i386] Add check_bios_interrupts() debug function
      [debug] Allow debug colourisation to be disabled
      [stp] Fix incorrectly disambiguated errors
      [build] Add named configuration for public cloud environments
      [smsc95xx] Enable LEDs
      [usb] Allow USB endpoints to specify a reserved header length for refills
      [smsc95xx] Reserve headroom in received packets
      [autoboot] Fix incorrect boolean logic
      [uri] Avoid potentially large stack allocation
      [ocsp] Avoid including a double path separator in request URI
      [tftp] Mangle initial slash on TFTP URIs
      [uri] Apply URI decoding for all parsed URIs
      [tcp] Guard against malformed TCP options
      [slam] Avoid potential division by zero
      [ath9k] Remove broken ath_rxbuf_alloc()
      [ehci] Add extra debugging information
      [malloc] Guard against unsigned integer overflow
      [iobuf] Improve robustness of I/O buffer allocation
      [pxe] Clarify comments regarding shrinking of cached DHCP packet
      [efi] Add missing definitions for function key scancodes
      [prefix] Pad .text16 and .data16 segment sizes at build time
      [libc] Split rmsetjmp() and rmlongjmp() into a separate rmsetjmp.h
      [bios] Use intptr_t when casting .text16 function pointers
      [bios] Use size_t when casting _text16_memsz and _data16_memsz
      [bios] Allow relocate.c to be compiled for x86_64
      [bios] Allow rtc_entropy.c to be compiled for x86_64
      [bios] Allow bzimage.c to be compiled for x86_64
      [bios] Allow bios_console.c to be compiled for x86_64
      [bios] Allow memmap.c to be compiled for x86_64
      [bios] Allow librm to be compiled for x86_64
      [bios] Move isolinux definitions to Makefile.pcbios
      [bios] Add bin-x86_64-pcbios build platform
      [librm] Discard argument as part of return from prot_call()
      [librm] Discard argument as part of return from real_call()
      [prefix] Align INT 15,88 temporary decompression area to a page boundary
      [romprefix] Align PMM temporary decompression area to a page boundary
      [bios] Make uses of REAL_CODE() and PHYS_CODE() 64-bit clean
      [librm] Use garbage-collectable section names
      [bios] Use an 8kB stack for x86_64
      [prefix] Use garbage-collectable section names
      [librm] Simplify definitions for prot_call() and real_call() stack frames
      [prefix] Standardise calls to prot_call()
      [librm] Convert prot_call() to a real-mode near call
      [librm] Provide an abstraction wrapper for prot_call
      [librm] Transition to protected mode within init_librm()
      [relocate] Preserve page alignment during relocation
      [librm] Prepare for long-mode memory map
      [librm] Generate page tables for 64-bit builds
      [build] Fix building on older versions of binutils
      [librm] Add phys_call() wrapper for calling code with physical addressing
      [librm] Do not preserve flags unnecessarily
      [librm] Mark virt_offset, text16, data16, rm_cs, and rm_ds as constant
      [librm] Support userptr_t in 64-bit builds
      [librm] Rename prot_call() to virt_call()
      [librm] Add support for running in 64-bit long mode
      [ioapi] Split ioremap() out to a separate IOMAP API
      [librm] Support ioremap() for addresses above 4GB in a 64-bit build
      [netdevice] Refuse to create duplicate network device names
      [infiniband] Remove concept of whole-device owner data
      [infiniband] Avoid multiple calls to ib_cmrc_shutdown()
      [infiniband] Add support for performing service record lookups
      [infiniband] Assign names to Infiniband devices for debug messages
      [infiniband] Use "%#lx" as format specifier for queue pair numbers
      [infiniband] Use "%d" as format specifier for LIDs
      [infiniband] Use connection's local ID as debug message identifier
      [infiniband] Use correct transaction identifier in CM responses
      [infiniband] Do not use GRH for local paths
      [infiniband] Record multicast GID attachment as part of group membership
      [infiniband] Parse MLID, rate, and SL from multicast membership record
      [ipoib] Avoid unnecessary path record lookup for broadcast address
      [ipoib] Simplify test for received broadcast packets
      [infiniband] Allow for the creation of multicast groups
      [pcbios] Restrict external memory allocations to the low 4GB
      [infiniband] Assign names to CMRC connections
      [infiniband] Assign names to queue pairs
      [infiniband] Add "ibstat" command
      [infiniband] Retrieve GID flag from cached path entries
      [ipoib] Resimplify test for received broadcast packets
      [ipoib] Increase number of transmit work queue entries
      [ifmgmt] Include human-readable error message for configuration failure
      [infiniband] Make IPoIB support configurable at build time
      [eoib] Add Ethernet over Infiniband (EoIB) driver
      [eoib] Silently ignore EoIB heartbeat packets
      [eoib] Allow the multicast group to be forcefully created
      [eoib] Support non-FullMember gateway devices
      [xsigo] Add support for Xsigo virtual Ethernet (XVE) EoIB devices
      [efi] Work around broken GetFontInfo() implementations
      [tls] Avoid potential out-of-bound reads in length fields
      [crypto] Allow for zero-length ASN.1 cursors
      [pixbuf] Check for unsigned integer overflow on multiplication
      [arp] Validate length of ARP packet
      [librm] Do not unconditionally preserve flags across virt_call()
      [linda] Use standard readq() and writeq() implementations
      [qib7322] Use standard readq() and writeq() implementations
      [test] Add missing #include <string.h>
      [serial] Add missing #include <string.h>
      [3c595] Fix compilation when "char" is unsigned by default
      [tg3] Remove x86-specific inline assembly
      [efi] Centralise architecture-independent EFI Makefile and linker script
      [build] Allow assembler section type character to vary by architecture
      [build] Accept CROSS= as a synonym for CROSS_COMPILE=
      [efi] Update to current EDK2 headers
      [efi] Add processor binding headers for ARM and AArch64
      [uri] Support URIs containing only scheme and path components
      [uri] Support "file:" URIs describing relative paths
      [efi] Provide access to files stored on EFI filesystems
      [build] Remove long-obsolete header file
      [pseudobit] Rename bitops.h to pseudobit.h
      [bitops] Add generic atomic bit test, set, and clear functions
      [hyperv] Use generic set_bit() function
      [xen] Use generic test_and_clear_bit() function
      [test] Move i386-specific tests to arch/i386/tests
      [efi] Move architecture-independent EFI prefixes to interface/efi
      [libc] Allow container_of() to be used on volatile pointers
      [ipoib] Allow external code to identify IPoIB network devices
      [hermon] Add missing iounmap()
      [arbel] Add missing iounmap()
      [linda] Add missing iounmap()
      [qib7322] Add missing iounmap()
      [crypto] Allow trusted certificates to be stored in non-volatile options
      [hermon] Allocate space for GRH on UD queue pairs
      [arbel] Allocate space for GRH on UD queue pairs
      [infiniband] Allow drivers to override the eIPoIB LEMAC
      [build] Do not use "objcopy -O binary" for objects with relocation records
      [gdb] Add support for x86_64
      [int13] Allow drive to be hooked using the natural drive number
      [int13] Allow default drive to be specified via "san-drive" setting
      [3c5x9] Avoid use of sleep() in driver code
      [etherfabric] Avoid use of sleep() in driver code
      [hermon] Fix received packet length
      [arbel] Fix received packet length
      [libc] Make sleep() interruptible
      [pxe] Implicitly open network device in PXENV_UDP_OPEN
      [prefix] Use CRC32 to verify each block prior to decompression
      [crypto] Allow cross-certificate source to be configured at build time
      [iscsi] Include DHCP server address in iBFT
      [netdevice] Return ENOENT for an unknown bus type
      [linda] Validate payload length
      [qib7322] Validate payload length
      [test] Update snprintf_ok() to use okx()
      [libc] Print "<NULL>" for wide-character NULL strings
      [efi] Work around broken EFI HII specification
      [comboot] Support COMBOOT in 64-bit builds
      [ethernet] Make LACP support configurable at build time
      [libc] Allow CPU architectures to use unoptimised string functions
      [libgcc] Provide symbol to handle gcc's implicit calls to memset()
      [image] Skip misleading "format not recognised" error message
      [librm] Reduce real-mode stack consumption in virt_call()
      [tg3] Fix _tg3_flag() for 64-bit builds
      [librm] Preserve FPU, MMX and SSE state across calls to virt_call()
      [efi] Eliminate use of libbfd
      [build] Remove unnecessary dependency on zlib
      [tcpip] Do not fall back to using unoptimised TCP/IP checksumming
      [efi] Use a timer event to generate the currticks() timer
      [efi] Generalise EFI entropy generation to non-x86 CPUs
      [sis190] Fix building with GCC 6
      [skge] Fix building with GCC 6
      [golan] Fix building with GCC 6
      [ath] Fix building with GCC 6
      [legacy] Fix building with GCC 6
      [libgcc] Provide __divmoddi4()
      [bitops] Fix typo in test case
      [arm] Add support for 32-bit ARM
      [arm] Avoid instruction references to symbols defined via ".equ"
      [arm] Split out 32-bit-specific code to arch/arm32
      [arm] Add support for 64-bit ARM (Aarch64)
      [efi] Allow for building with older versions of elf.h system header
      [libc] Avoid implicit assumptions about potentially-optimised memcpy()
      [arm] Add optimised string functions for 64-bit ARM
      [arm] Add optimised TCP/IP checksumming for 64-bit ARM
      [efi] Guard against GetStatus() failing to return a NULL TX buffer
      [arm] Use CNTVCT_EL0 as profiling timestamp
      [undi] Work around broken HP EliteBook 745 G3 PXE ROM
      [pci] Add support for PCI Enhanced Allocation
      [settings] Extend numerical setting tags to "unsigned long"
      [netdevice] Fix failure path in register_netdev()
      [lotest] Add option to use broadcast packets for loopback testing
      [http] Ignore unrecognised "Connection" header tokens
      [efi] Work around broken UEFI keyboard drivers
      [axge] Add driver for ASIX 10/100/1000 USB Ethernet NICs
      [arm] Use correct DHCP client architecture values
      [dhcp] Fix definitions for x86_64 and EFI BC client architectures
      [efi] Expose DHCP packets via the Apple NetBoot protocol
      [libc] Always use a non-zero seed for the (non-crypto) RNG
      [pci] Support systems with multiple PCI root bridges
      [http] Accept headers with no whitespace following the colon
      [tcp] Send TCP keepalives on idle established connections
      [time] Allow system clock to be adjusted at runtime
      [ntp] Add simple NTP client
      [cmdline] Add "ntp" command
      [thunderx] Add driver for Cavium ThunderX SoC NICs
      [thunderx] Fix channel configuration for VNICs 1-7
      [efi] Include VLAN in SNP device path if applicable
      [thunderx] Retrieve base MAC address via EFI_THUNDER_CONFIG_PROTOCOL
      [smsc75xx] Allow up to 100ms for reset to complete
      [efi] Report failures to stop the EFI timer tick event
      [efi] Do not copy garbage bytes into SNP device path MAC address
      [thunderx] Fix compilation with older versions of gcc

Mika Tiainen (1):
      [intel] Add INTEL_NO_PHY_RST for another I218-LM variant

Suresh Sundriyal (1):
      [pool] Fix check for reopenable pooled connections

Torgeir Wulfsberg (1):
      [intel] Add INTEL_NO_PHY_RST for I217-LM

Vinson Lee (2):
      [mucurses] Fix GCC 6 nonnull-compare errors
      [build] Remove nested "my" declaration

Wissam Shoukair (3):
      [golan] Add Connect-IB, ConnectX-4 and ConnectX-4 Lx (Infiniband) support
      [mlx_icmd] Fix compilation error in GCC versions newer than 4.6.4
      [golan] Add missing iounmap()

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-06-24 13:41:56 +02:00
Mark Cave-Ayland
afc474863f Update OpenBIOS images
Update OpenBIOS images to SVN r1395 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-04-18 09:38:55 +01:00
Gerd Hoffmann
fee5b753ff seabios: update to 1.9.1 stable release
git shortlog rel-1.9.0..rel-1.9.1
=================================

Cole Robinson (1):
      biostables: Support SMBIOS 2.6+ UUID format

Kevin O'Connor (7):
      xhci: Check for device disconnects during USB2 reset polling
      xhci: Wait for port enable even for USB3 devices
      sdcard: Only enable error_irq_enable for bits defined in SDHCI v1 spec
      sdcard: fix typo causing 32bit write to 16bit block_size field
      nmi: Don't try to switch onto extra stack in NMI handler
      scsi: Do not call printf() from scsi_is_ready()
      coreboot: Check for unaligned cbfs header

Marcel Apfelbaum (1):
      fw/pci: do not automatically allocate IO region for PCIe bridges

Roger Pau Monne (1):
      build: fix typo in buildversion.py

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-03-01 09:37:07 +01:00
Mark Cave-Ayland
2d4846bd7b Update OpenBIOS images
Update OpenBIOS images to SVN r1391 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-02-26 10:44:40 +00:00
Alexey Kardashevskiy
4f7ab0cdbc pseries: Update SLOF firmware image to 20160223
The main change is virtio 1.0 support.

The complete changelog is:
  > dhcp: fix warning messages when calling strtoip()
  > virtio-scsi: enable virtio 1.0
  > virtio-scsi: use virtio_fill desc api
  > virtio-scsi: use idx during initialization
  > virtio-net: enable virtio 1.0
  > virtio-blk: enable virtio 1.0
  > virtio: 1.0 helper to read 16/32/64 bit value
  > virtio: add and enable 1.0 device setup
  > virtio: 1.0 guest features negotiation
  > virtio: update features set/get register accessor
  > virtio: make all virtio apis 1.0 aware
  > virtio: add 64-bit virtio helpers for 1.0
  > virtio: add virtio 1.0 related struct and defines
  > virtio: get rid of type variable in virtio_device
  > virtio-net: move setup-mac to the open routine
  > virtio-net: make net_hdr_size a variable
  > virtio-net: replace vq array with vq_{tx,rx}
  > virtio-net: use virtio_fill_desc
  > virtio-{net,blk,scsi,9p}: use status variable
  > virtio-blk: add helpers for filling descriptors
  > virtio-{blk,9p}: enable resetting the device
  > virtio: introduce helper for initializing virt queue
  > virtio: fix code style/design issues.
  > fix code style in byteorder.h
  > pci: add byte read/write helper routines
  > virtio-net: fix gcc warnings (-Wextra)
  > virtio-blk: fix gcc warnings (-Wextra)
  > readme: Add a note about coding style
  > dhcp: Remove duplicated strtoip()
  > ethernet: Fix gcc warnings
  > net-snk: Fix gcc warnings
  > net-snk: Fix coding style
  > net-snk: Fix memory leak in dhcp6_process_options()
  > net-snk: Fix memory leak in ip6_to_multicast_mac() / send_ipv6()
  > net-snk: Remove bad NEIGHBOUR_SOLICITATION code in send_ipv6()
  > Fix dma-alloc and dma-map-in functions on board-js2x
  > net-snk: Allow stateless autoconfig IPv6 addresses with IP_INIT_IPV6_MANUAL
  > net-snk: Simplify the ip6_is_multicast() function
  > net-snk: Move global variable definition out of the header file
  > net-snk: Prefer non-link-local unicast IPv6 addresses if possible
  > net-snk: Fix the check for link-local addresses when receiving RAs
  > net-snk: Remove junk at the end of IPv6 TFTP ACK and error packets
  > Fix format strings in usb-ohci.c
  > net-snk: Get rid of junk at the end of sent DHCPv6 packets
  > net-snk: Use transaction IDs in DHCPv4, too
  > net-snk: Make use of DHCPv6 transaction IDs
  > net-snk: Seed the pseudo-random number generator
  > libc: Add srand() call
  > libc: Fix the rand() function to return non-zero values
  > net-snk: Improve printed text when booting via network
  > Increase temporary buffer size of ibm,client-architecture-support call
  > Move archsupport.fs into board-qemu directory
  > boot: stop booting when we encounter HALT
  > fat-files: Fix bug with root-entries = 0 on certain FAT32 file systems
  > usb: print unhandled descriptor in debug mode
  > Improve stack usage with libnvram get_partition function
  > Improve stack usage in libnvram environment variable code
  > libc: Port vsnprintf back from skiboot
  > Move the code for rfill into a separate function
  > Rework wrapper for new_nvram_partition() and fix possible bug in there
  > Stack optimization in libusb: split up setup_new_device()
  > Check for stack overflow in paflof engine
  > Clean up pending packet variable in ipv4 code
  > Fix tracking of pending outgoing packets when handling ARP replies

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-02-25 13:58:26 +11:00
Mark Cave-Ayland
44c44eceea Update OpenBIOS images
Update OpenBIOS images to SVN r1378 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2016-02-04 11:17:44 +00:00
Gerd Hoffmann
911a4efd0c seabios: fix submodule
Commit "36f96c4 target-i386: Add support to migrate vcpu's TSC rate"
updates roms/seabios, appearently by mistake.  Revert this.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1453460391-7664-1-git-send-email-kraxel@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-01-22 11:36:29 +00:00
Haozhong Zhang
36f96c4b6b target-i386: Add support to migrate vcpu's TSC rate
This patch enables migrating vcpu's TSC rate. If KVM on the
destination machine supports TSC scaling, guest programs will
observe a consistent TSC rate across the migration.

If TSC scaling is not supported on the destination machine, the
migration will not be aborted and QEMU on the destination will
not set vcpu's TSC rate to the migrated value.

If vcpu's TSC rate specified by CPU option 'tsc-freq' on the
destination machine is inconsistent with the migrated TSC rate,
the migration will be aborted.

For backwards compatibility, the migration of vcpu's TSC rate is
disabled on pc-*-2.5 and older machine types.

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
[ehabkost: Rewrote comment at kvm_arch_put_registers()]
[ehabkost: Moved compat code to pc-2.5]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2016-01-21 12:47:16 -02:00
Gerd Hoffmann
bf864863f6 seabios: stop updating aml files
ACPI aml files traditionally have been managed in the seabios repo.
In qemu version 2.0 we've switched over to have qemu generate the
acpi tables and provide them to the firmware via fw_cfg.

The old aml files are still there and used for old machine types.
Well, actually the q35 file only, the piix4 version is compiled into
seabios (unless built with CONFIG_ACPI_DSDT=n) and is there for
reference only.

The aml files havn't been touched for a long time, and given that
new features requiring acpi changes are typically only added to new
machine types this is unlikely to change in the future.  So stop
updating them.

That allows to cleanup things a bit on the seabios side in the future.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:14 +01:00
Gerd Hoffmann
cae7e84eb7 seabios: update 128k bios config
Turn off OHCI + TPM support to keep the size below 128k.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:14 +01:00
Gerd Hoffmann
437b8d8c59 seabios: use new EXTRAVERSION to tag qemu builds
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:04:14 +01:00
Gerd Hoffmann
ad30c0b0d8 seabios: update submodule to release 1.9.0
Highlights / user visible changes in seabios:
 * boot menu key is ESC now.
 * virtio 1.0 support.
 * sdcard support.
 * fw_cfg dma suport.
 * usual share of bugfixes ;)

In vgabios:
 * Emulates leal instruction.  Works around a bug in old x86emu versions,
   which makes old xorg vesa drivers work (RHEL-5 for example).

full shortlog rel-1.8.2..rel-1.9.0
----------------------------------

Ameya Palande (1):
      x86: add barrier to read{b,w,l} and write{b,w,l} functions

Andreas Färber (1):
      checkrom: Fix typo in error message

Chen Fan (1):
      pci: enable SERR# for error forwarding in bridge control register

Gerd Hoffmann (28):
      vga: simplify vga builds
      vga: rework virtio-vga support
      vga: add virtio-vga to kconfig
      pci: allow to loop over capabilities
      virtio: run drivers in 32bit mode
      virtio: add struct vp_device
      virtio: pass struct pci_device to vp_init_simple
      virtio: add version 1.0 structs and #defines
      virtio: add version 0.9.5 struct
      virtio: find version 1.0 virtio capabilities
      virtio: create vp_cap struct for legacy bar
      virtio: add read/write functions and macros
      virtio: make features 64bit, support version 1.0 features
      virtio: add version 1.0 support to vp_{get,set}_status
      virtio: add version 1.0 support to vp_get_isr
      virtio: add version 1.0 support to vp_reset
      virtio: add version 1.0 support to vp_notify
      virtio: remove unused vp_del_vq
      virtio: add version 1.0 support to vp_find_vq
      virtio-scsi: fix initialization for version 1.0
      virtio-blk: fix initialization for version 1.0
      virtio: use version 1.0 if available (flip the big switch)
      virtio: also probe version 1.0 pci ids
      virtio: legacy cleanup
      virtio-blk: 32bit cleanup
      virtio-scsi: 32bit cleanup
      virtio-ring: 32bit cleanup
      virtio-pci: use high memory for rings

Julius Werner (1):
      xhci: Count new Max Scratchpad Bufs bits from XHCI 1.1

Kevin O'Connor (126):
      docs: add page for SeaVGABIOS
      docs: Add page describing the patch contribution process
      docs: Add page on available CBFS/fw_cfg runtime config files
      docs: Prefer triple backticks to multiple lines with single backticks
      smp: Fix smp race introduced in 0673b787
      docs: Note release date of 1.8.1
      vgabios: On bda_save_restore() the saved vbe_mode also has flags in it
      vgabios: Don't use extra stack if it appears a modern OS is in use
      docs: Clarify that pci-optionrom-exec doesn't apply to roms in cbfs
      checkstack: Replace function information tuple with class
      checkstack: Simplify yield calculations
      checkstack: Prefer passing "function" class instead of function address
      smbios: Use integer signature instead of string signature
      vgabios: Don't use "smsww" instruction - it confuses x86emu
      vgabios: Add config option for assembler fixups
      vgabios: Emulate "leal" instruction
      checkstack: Minor - continue if not a regular asm line
      Don't forward declare functions with "inline" in headers
      build: Support "make VERSION=xyz" to override the default build version
      tcg: Use seabios setup()/prepboot() calling convention for tcg
      build: CONFIG_VGA_FIXUP_ASM should depend on CONFIG_BUILD_VGABIOS
      bootorder: Update "extra pci root" buses bootorder format to match qemu
      Make sure all code checks for malloc failures
      docs: Note release date of 1.8.2
      block: Split process_op() command dispatch up into multiple functions
      block: Introduce default_process_op() with common command handling codes
      block: Route scsi style commands through 'struct disk_op_s'
      blockcmd: Introduce scsi_fill_cmd()
      ata: Handle ATA ATAPI drives directly via 'struct disk_op_s' requests
      ahci: Handle AHCI ATAPI drives directly via 'struct disk_op_s' requests
      usb-msc: Handle USB drives directly via 'struct disk_op_s' requests
      usb-uas: Handle USB drives directly via 'struct disk_op_s' requests
      lsi-scsi: Handle LSI drives directly via 'struct disk_op_s' requests
      esp-scsi: Handle ESP drives directly via 'struct disk_op_s' requests
      megasas: Handle Megasas drives directly via 'struct disk_op_s' requests
      virtio-scsi: Handle virtio drives directly via 'struct disk_op_s' requests
      pvscsi: Move pvscsi_fill_req() code into pvscsi_cmd()
      pvscsi: Handle pvscsi drives directly via 'struct disk_op_s' requests
      blockcmd: Remove unused scsi_process_op() and cdb_cmd_data()
      blockcmd: Convert cdb_is_read() to scsi_is_read()
      block: Rename process_XXX_op() functions to XXX_process_op()
      coreboot: Try to auto-detect if the CBFS anchor pointer is a relative pointer
      ps2: Support mode for polling the PS2 port instead of using irqs
      ata: Make sure "chanid" is relative to PCI device for bootorder file
      Don't enable interrupts prior to IVT and PIC setup
      ps2: Don't wait 100ms to discard possible extra reset receive byte
      timer: Delay timestamp counter init until after pmtimer is probed
      timer: Add CONFIG_TSC_TIMER build option to disable the CPU TSC timer
      ramdisk: Allow ramdisk support (CONFIG_FLASH_FLOPPY) under QEMU
      Minor - move declaration of CDRom_locks to code that uses it
      smm: ignore bits 16,18-31 of SMM revision ID at runtime too
      vgafb: Minor - move gfx_common() variables outside of switch statement
      sdcard: Check if card is present before sending commands to card
      sdcard: Implement controller frequency setting according to sdhci spec
      sdcard: Make sure controller support 3.3V before enabling it
      sdcard: Set timeout control register during init (to max allowed timeout)
      sdcard: Improve SD card initialization command sequence
      sdcard: Add proper delays during card power up
      mptable: Don't create mptable if it is very large
      optionroms: Don't run option rom on PCI bar if CBFS/fw_cfg version exists
      edd: Pass the segment/offset from int 1348 calls using a 'struct segoff_s'
      edd: Reduce parameters to fill_generic_edd()
      Move CanInterrupt check to check_irqs()
      Call cpu_relax() if yielding prior to interrupts being enabled
      sdcard: Fix typo - use sdcard_pio() instead of sdcard_pio_app()
      sdcard: Fill command bits according to spec
      sdcard: Support SDHCI v3.00 spec clock setting
      sdcard: Move power setup to new function sdcard_set_power()
      sdcard: Power controller up to maximum voltage supported
      sdcard: Power down controller on failure
      sdcard: The card should never be in a busy state at start of sdcard_pio()
      sdcard: Implement timeout on every block read in sdcard_pio_transfer()
      sdcard: Rename waitw() to sdcard_waitw() and simplify
      sdcard: Perform a controller reset at start of init
      sdcard: Check for error events during sdcard_pio()
      sdcard: Initial support for MMC cards
      sdcard: Allow the sdcard driver to run on real hardware
      rtc: Support disabling the RTC timer irq support
      Add minimal support for machines without hardware interrupts
      ps2: Eliminate "etc/ps2-poll-only"; use CONFIG_HARDWARE_IRQ instead
      sdcard: Allow sdcard addresses to be specified in CBFS files
      xhci: Minor - add USB port type comments to xhci_hub_reset()
      docs: Don't use an add-symbol-file offset when describing gdb debugging
      rtc: Disable NMI in rtc_mask()
      sdcard: Move sdcard_set_frequency()/sdcard_set_power() in sdcard.c
      sdcard: Move frequency setting into sdcard_card_setup()
      sdcard: Move drive registration to sdcard_card_setup()
      sdcard: Turn card_type into a bitmap and store if card is MMC type
      sdcard: Display sdcard product name in boot menu
      sdcard: Obtain card capacity and report it on the boot menu
      megasas: Use outl() on MFI_IDB register
      minor - correct spelling error in comment
      Simplify transition16/32 assembler code
      docs: Minor - add "code relocation" link to "Execution and code flow" document
      Unify smm/sloppy variants of call32_prep/post and call16_helper
      Rename Call32Data to Call16Data
      Unify inline assembler in variants of call16 functions
      Unify call32_sloppy() and call32()
      Use transition32_nmi_off from call32() and call16_back()
      Consolidate code16*() functions
      Always enable caching on transition32; backup/restore cr0 on call32
      e820: Introduce e820_remove() and avoid exporting E820_HOLE
      e820: Rename memmap.c to e820map.c and use consistent "e820_" prefix
      e820: Update debugging messages to report 64bit values
      virtio: Simplify vring alignment code
      virtio: Move standard definitions from virtio-ring.h to standard headers
      malloc: Use consistent naming for internal low-level "alloc" functions
      malloc: Introduce common helper alloc_new_detail()
      malloc: Add warning if free() called on invalid memory
      malloc: Don't mix virtual and physical addresses
      memmap: Introduce SYMBOL() macro to access linker script symbols
      build: Rework version generation; don't allow make version override
      build: Report gcc and binutils versions in debug log
      build: Generate "reproducible" version strings on "clean" builds
      stacks: Use macro wrappers for call32() and stack_hop_back()
      malloc: Rename csm_malloc_preinit() to malloc_csm_preinit()
      build: Be more permissive in buildversion.py tool version scan
      docs: Document 'make EXTRAVERSION=xyz' and scripts/tarball.sh
      build: Allow official tarball builds to be considered "clean"
      coreboot: Minor - avoid K&R style function declaration
      biostables: Minor - fix incorrect indentation
      virtio: Minor - replace tab characters with space
      docs: Minor - replace seavgabios text in Build_overview.md with link
      buildversion: Avoid subprocess.check_output() as that requires python2.7
      buildversion: Add debugging messages
      docs: Note v1.9.0 release

Kyösti Mälkki (1):
      PCI SDHCI driver: Fix base address

Magnus Granberg (1):
      build: use -fstack-check=no when available

Marc Marí (1):
      Add QEMU fw_cfg DMA interface

Marcel Apfelbaum (2):
      fw/pci: scan all buses if extraroots romfile is present
      fw/pci: map memory and IO regions for multiple pci root buses

Paolo Bonzini (4):
      boot.c: delay exiting boot if menu key is ESC
      boot: switch default menu key to ESC
      smm: ignore bits 16,18-31 of SMM revision ID
      smm: fix outl argument order

Paulo Alcantara (1):
      ich9: initialise RCBA register through LPC interface

Quan Xu (1):
      make SeaBios compatible with Xen vTPM.

Stefan Berger (9):
      Add an implementation of a TPM TIS driver
      Implementation of the TCG BIOS extensions
      Support for BIOS interrupt handler
      Add 'measurement' code to the BIOS
      tpm: Introduce a #define for command tag
      tpm: Be consistent with array sizes in tcgbios.c
      tpm: clean up parameters to build_and_send_cmd
      tpm: Clean up in tcgbios.h
      tpm: Move call to tpm_option_rom into init_optionrom

Stefan Weil (2):
      megasas: Fix outw, outl argument order
      Fix typos found by codespell

Vladimir Serbinenko (3):
      ahci: Ignore max_ports.
      Link rom.o with -N option.
      Add multiboot support.

tpearson@raptorengineeringinc.com (1):
      Add an option to only execute option ROMs contained in CBFS

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-01-05 13:01:02 +01:00
Alexey Kardashevskiy
1210481958 pseries: Update SLOF firmware image to qemu-slof-20151103
The changes are:
1. supports recent binutils;
2. 64bit BARs behind PCI bridges supported;
3. Many fixes for USB keyboard support - keys, XHCI;
4. virtio-vga support.

This image was built with:
gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC)
GNU ld version 2.23.2

The full changelog is:
  > version: update to 20151103
  > documentation: Add a clause about signing off
  > qemu/js2x/client: Support binutils >= 2.25.1
  > Fix special keys on USB
  > Fix function keys on USB
  > pci-scan: program 64-bit mem bar range in pci-bridge bar
  > Allow to build SLOF on Little Endian host
  > usb-xhci: add keyboard support
  > usb-xhci: ready the link trb early
  > usb-xhci: scan usb high speed ports
  > usb-xhci: bulk improve event handling loop
  > usb-xhci: return on allocation failure
  > usb-xhci: add delay in shutdown path
  > usb-xhci: event trbs does not need link trb
  > usb-hid: refactor usb key reading
  > takeover: Fix header includes
  > board-js2x: Add missing file dma-function.fs
  > vga: Add support for virtio-vga
  > qemu-vga: Use MMIO BAR instead of legacy IO ports
  > slof: Change call_c() function to a proper assembler function

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2015-11-11 13:28:45 +11:00
Mark Cave-Ayland
637016c260 Update OpenBIOS images
Update OpenBIOS images to SVN r1353 built from submodule.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
2015-10-28 00:01:28 +00:00