qemu.git
8 months agoqcow2: Use macros for the L1, refcount and bitmap table entry sizes
Alberto Garcia [Fri, 28 Aug 2020 11:08:28 +0000 (13:08 +0200)] 
qcow2: Use macros for the L1, refcount and bitmap table entry sizes

This patch replaces instances of sizeof(uint64_t) in the qcow2 driver
with macros that indicate what those sizes are actually referring to.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Message-Id: <20200828110828.13833-1-berto@igalia.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoqemu-img: avoid unaligned read requests during convert
Peter Lieven [Tue, 1 Sep 2020 12:51:29 +0000 (14:51 +0200)] 
qemu-img: avoid unaligned read requests during convert

in case of large continous areas that share the same allocation status
it happens that the value of s->sector_next_status is unaligned to the
cluster size or even request alignment of the source. Avoid this by
stripping down the s->sector_next_status position to cluster boundaries.

Signed-off-by: Peter Lieven <pl@kamp.de>
Message-Id: <20200901125129.6398-1-pl@kamp.de>
[mreitz: Disable vhdx for 251]
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoblock/quorum.c: stable children names
Lukas Straub [Tue, 4 Aug 2020 10:46:42 +0000 (12:46 +0200)] 
block/quorum.c: stable children names

If we remove the child with the highest index from the quorum,
decrement s->next_child_index. This way we get stable children
names as long as we only remove the last child.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Fixes: https://bugs.launchpad.net/bugs/1881231
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-Id: <5d5f930424c1c770754041aa8ad6421dc4e2b58e.1596536719.git.lukasstraub2@web.de>
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoqemu-iotests: Simplify FilePath __init__
Nir Soffer [Fri, 28 Aug 2020 23:21:52 +0000 (02:21 +0300)] 
qemu-iotests: Simplify FilePath __init__

Use list comprehension instead of append loop.

Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200828232152.205833-6-nsoffer@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoqemu-iotests: Merge FilePaths and FilePath
Nir Soffer [Fri, 28 Aug 2020 23:21:51 +0000 (02:21 +0300)] 
qemu-iotests: Merge FilePaths and FilePath

FilePath creates now one temporary file:

    with FilePath("a") as a:

Or more:

    with FilePath("a", "b", "c") as (a, b, c):

This is also the behavior of the file_path() helper, used by some of the
tests. Now we have only 2 helpers for creating temporary files instead
of 3.

Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200828232152.205833-5-nsoffer@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoqemu-iotests: Support varargs syntax in FilePaths
Nir Soffer [Fri, 28 Aug 2020 23:21:50 +0000 (02:21 +0300)] 
qemu-iotests: Support varargs syntax in FilePaths

Accept variable number of names instead of a sequence:

    with FilePaths("a", "b", "c") as (a, b, c):

The disadvantage is that base_dir must be used as kwarg:

    with FilePaths("a", "b", base_dir=soc_dir) as (sock1, sock2):

But this is more clear and calling optional argument as positional
arguments is bad idea anyway.

Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200828232152.205833-4-nsoffer@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoqemu-iotests: Fix FilePaths docstring
Nir Soffer [Fri, 28 Aug 2020 23:21:49 +0000 (02:21 +0300)] 
qemu-iotests: Fix FilePaths docstring

When this class was extracted from FilePath, the docstring was not
updated for generating multiple files, and the example usage was
referencing unrelated file.

While fixing the docstring, add example for creating sockets, which
should use iotests.sock_dir instead of the default base_dir.

Fixes: de263986b5dc
Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Message-Id: <20200828232152.205833-3-nsoffer@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoqemu-iotests: Fix FilePaths cleanup
Nir Soffer [Fri, 28 Aug 2020 23:21:48 +0000 (02:21 +0300)] 
qemu-iotests: Fix FilePaths cleanup

If os.remove() fails to remove one of the paths, for example if the file
was removed by the test, the cleanup loop would exit silently, without
removing the rest of the files.

Fixes: de263986b5dc
Signed-off-by: Nir Soffer <nsoffer@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200828232152.205833-2-nsoffer@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
8 months agoMerge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200914-1' into...
Peter Maydell [Mon, 14 Sep 2020 15:03:08 +0000 (16:03 +0100)] 
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200914-1' into staging

 * hw/misc/a9scu: Do not allow invalid CPU count
 * hw/misc/a9scu: Minor cleanups
 * hw/timer/armv7m_systick: assert that board code set system_clock_scale
 * decodetree: Improve identifier matching
 * target/arm: Clean up neon fp insn size field decode
 * target/arm: Remove KVM support for 32-bit Arm hosts
 * hw/arm/mps2: New board models mps2-an386, mps2-an500
 * Deprecate Unicore32 port
 * Deprecate lm32 port
 * target/arm: Count PMU events when MDCR.SPME is set
 * hw/arm: versal-virt: Correct the tx/rx GEM clocks
 * New Nuvoton iBMC board models npcm750-evb, quanta-gsj

# gpg: Signature made Mon 14 Sep 2020 16:02:06 BST
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20200914-1: (32 commits)
  tests/acceptance: console boot tests for quanta-gsj
  docs/system: Add Nuvoton machine documentation
  hw/arm/npcm7xx: add board setup stub for CPU and UART clocks
  hw/arm: Wire up BMC boot flash for npcm750-evb and quanta-gsj
  hw/ssi: NPCM7xx Flash Interface Unit device model
  hw/mem: Stubbed out NPCM7xx Memory Controller model
  hw/nvram: NPCM7xx OTP device model
  hw/arm: Load -bios image as a boot ROM for npcm7xx
  roms: Add virtual Boot ROM for NPCM7xx SoCs
  hw/arm: Add two NPCM7xx-based machines
  hw/arm: Add NPCM730 and NPCM750 SoC models
  hw/timer: Add NPCM7xx Timer device model
  hw/misc: Add NPCM7xx Clock Controller device model
  hw/misc: Add NPCM7xx System Global Control Registers device model
  hw/arm: versal-virt: Correct the tx/rx GEM clocks
  target/arm: Count PMU events when MDCR.SPME is set
  Deprecate lm32 port
  Deprecate Unicore32 port
  docs/system/arm/mps2.rst: Make board list consistent
  hw/arm/mps2: New board model mps2-an500
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agotests/acceptance: console boot tests for quanta-gsj
Havard Skinnemoen [Fri, 11 Sep 2020 05:21:01 +0000 (22:21 -0700)] 
tests/acceptance: console boot tests for quanta-gsj

This adds two acceptance tests for the quanta-gsj machine.

One test downloads a lightly patched openbmc flash image from github and
verifies that it boots all the way to the login prompt.

The other test downloads a kernel, initrd and dtb built from the same
openbmc source and verifies that the kernel detects all CPUs and boots
to the point where it can't find the root filesystem (because we have no
flash image in this case).

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-15-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agodocs/system: Add Nuvoton machine documentation
Havard Skinnemoen [Fri, 11 Sep 2020 05:21:00 +0000 (22:21 -0700)] 
docs/system: Add Nuvoton machine documentation

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-14-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/arm/npcm7xx: add board setup stub for CPU and UART clocks
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:59 +0000 (22:20 -0700)] 
hw/arm/npcm7xx: add board setup stub for CPU and UART clocks

When booting directly into a kernel, bypassing the boot loader, the CPU and
UART clocks are not set up correctly. This makes the system appear very
slow, and causes the initrd boot test to fail when optimization is off.

The UART clock must run at 24 MHz. The default 25 MHz reference clock
cannot achieve this, so switch to PLL2/2 @ 480 MHz, which works
perfectly with the default /20 divider.

The CPU clock should run at 800 MHz, so switch it to PLL1/2. PLL1 runs
at 800 MHz by default, so we need to double the feedback divider as well
to make it run at 1600 MHz (so PLL1/2 runs at 800 MHz).

We don't bother checking for PLL lock because we know our emulated PLLs
lock instantly.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-13-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/arm: Wire up BMC boot flash for npcm750-evb and quanta-gsj
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:58 +0000 (22:20 -0700)] 
hw/arm: Wire up BMC boot flash for npcm750-evb and quanta-gsj

This allows these NPCM7xx-based boards to boot from a flash image, e.g.
one built with OpenBMC. For example like this:

IMAGE=${OPENBMC}/build/tmp/deploy/images/gsj/image-bmc
qemu-system-arm -machine quanta-gsj -nographic \
-drive file=${IMAGE},if=mtd,bus=0,unit=0,format=raw,snapshot=on

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200911052101.2602693-12-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/ssi: NPCM7xx Flash Interface Unit device model
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:57 +0000 (22:20 -0700)] 
hw/ssi: NPCM7xx Flash Interface Unit device model

This implements a device model for the NPCM7xx SPI flash controller.

Direct reads and writes, and user-mode transactions have been tested in
various modes. Protection features are not implemented yet.

All the FIU instances are available in the SoC's address space,
regardless of whether or not they're connected to actual flash chips.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-11-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/mem: Stubbed out NPCM7xx Memory Controller model
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:56 +0000 (22:20 -0700)] 
hw/mem: Stubbed out NPCM7xx Memory Controller model

This just implements the bare minimum to cause the boot block to skip
memory initialization.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-10-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/nvram: NPCM7xx OTP device model
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:55 +0000 (22:20 -0700)] 
hw/nvram: NPCM7xx OTP device model

This supports reading and writing OTP fuses and keys. Only fuse reading
has been tested. Protection is not implemented.

Reviewed-by: Avi Fishman <avi.fishman@nuvoton.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-9-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/arm: Load -bios image as a boot ROM for npcm7xx
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:54 +0000 (22:20 -0700)] 
hw/arm: Load -bios image as a boot ROM for npcm7xx

If a -bios option is specified on the command line, load the image into
the internal ROM memory region, which contains the first instructions
run by the CPU after reset.

If -bios is not specified, the vbootrom included with qemu is loaded by
default.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-8-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agoroms: Add virtual Boot ROM for NPCM7xx SoCs
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:53 +0000 (22:20 -0700)] 
roms: Add virtual Boot ROM for NPCM7xx SoCs

This is a minimalistic boot ROM written specifically for use with QEMU.
It supports loading the second-stage loader from SPI flash into RAM, SMP
boot, and not much else.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-7-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/arm: Add two NPCM7xx-based machines
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:52 +0000 (22:20 -0700)] 
hw/arm: Add two NPCM7xx-based machines

This adds two new machines, both supported by OpenBMC:

  - npcm750-evb: Nuvoton NPCM750 Evaluation Board.
  - quanta-gsj: A board with a NPCM730 chip.

They rely on the NPCM7xx SoC device to do the heavy lifting. They are
almost completely identical at the moment, apart from the SoC type,
which currently only changes the reset contents of one register
(GCR.MDLR), but they might grow apart a bit more as more functionality
is added.

Both machines can boot the Linux kernel into /bin/sh.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-6-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/arm: Add NPCM730 and NPCM750 SoC models
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:51 +0000 (22:20 -0700)] 
hw/arm: Add NPCM730 and NPCM750 SoC models

The Nuvoton NPCM7xx SoC family are used to implement Baseboard
Management Controllers in servers. While the family includes four SoCs,
this patch implements limited support for two of them: NPCM730 (targeted
for Data Center applications) and NPCM750 (targeted for Enterprise
applications).

This patch includes little more than the bare minimum needed to boot a
Linux kernel built with NPCM7xx support in direct-kernel mode:

  - Two Cortex-A9 CPU cores with built-in periperhals.
  - Global Configuration Registers.
  - Clock Management.
  - 3 Timer Modules with 5 timers each.
  - 4 serial ports.

The chips themselves have a lot more features, some of which will be
added to the model at a later stage.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-5-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/timer: Add NPCM7xx Timer device model
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:50 +0000 (22:20 -0700)] 
hw/timer: Add NPCM7xx Timer device model

The NPCM730 and NPCM750 SoCs have three timer modules each holding five
timers and some shared registers (e.g. interrupt status).

Each timer runs at 25 MHz divided by a prescaler, and counts down from a
configurable initial value to zero. When zero is reached, the interrupt
flag for the timer is set, and the timer is disabled (one-shot mode) or
reloaded from its initial value (periodic mode).

This implementation is sufficient to boot a Linux kernel configured for
NPCM750. Note that the kernel does not seem to actually turn on the
interrupts.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-4-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/misc: Add NPCM7xx Clock Controller device model
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:49 +0000 (22:20 -0700)] 
hw/misc: Add NPCM7xx Clock Controller device model

Enough functionality to boot the Linux kernel has been implemented. This
includes:

  - Correct power-on reset values so the various clock rates can be
    accurately calculated.
  - Clock enables stick around when written.

In addition, a best effort attempt to implement SECCNT and CNTR25M was
made even though I don't think the kernel needs them.

Reviewed-by: Tyrone Ting <kfting@nuvoton.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-3-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/misc: Add NPCM7xx System Global Control Registers device model
Havard Skinnemoen [Fri, 11 Sep 2020 05:20:48 +0000 (22:20 -0700)] 
hw/misc: Add NPCM7xx System Global Control Registers device model

Implement a device model for the System Global Control Registers in the
NPCM730 and NPCM750 BMC SoCs.

This is primarily used to enable SMP boot (the boot ROM spins reading
the SCRPAD register) and DDR memory initialization; other registers are
best effort for now.

The reset values of the MDLR and PWRON registers are determined by the
SoC variant (730 vs 750) and board straps respectively.

Reviewed-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com>
Message-id: 20200911052101.2602693-2-hskinnemoen@google.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/arm: versal-virt: Correct the tx/rx GEM clocks
Edgar E. Iglesias [Wed, 9 Sep 2020 17:46:47 +0000 (19:46 +0200)] 
hw/arm: versal-virt: Correct the tx/rx GEM clocks

Correct the GEMs tx/rx clocks to use the 125Mhz fixed-clock.
This matches the setup with the fixed-link 100Mbit PHY.
It also avoids the following warnings from the Linux kernel
driver:

eth0: unable to generate target frequency: 125000000 Hz

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Luc Michel <luc.michel@greensocs.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 20200909174647.662864-2-edgar.iglesias@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agotarget/arm: Count PMU events when MDCR.SPME is set
Aaron Lindsay [Tue, 25 Aug 2020 14:48:10 +0000 (10:48 -0400)] 
target/arm: Count PMU events when MDCR.SPME is set

This check was backwards when introduced in commit
033614c47de78409ad3fb39bb7bd1483b71c6789:

    target/arm: Filter cycle counter based on PMCCFILTR_EL0

Cc: qemu-stable@nongnu.org
Signed-off-by: Aaron Lindsay <aaron@os.amperecomputing.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agoDeprecate lm32 port
Peter Maydell [Thu, 27 Aug 2020 11:32:59 +0000 (12:32 +0100)] 
Deprecate lm32 port

Deprecate our lm32 target support. Michael Walle (former lm32 maintainer)
suggested that we do this in 2019:
 https://www.mail-archive.com/qemu-devel@nongnu.org/msg605024.html
because the only public user of the architecture is the many-years-dead
milkymist project. (The Linux port to lm32 was never merged upstream.)

In commit 4b4d96c776f552e (March 2020) we marked it as 'orphan' in
the MAINTAINERS file, but didn't officially deprecate it. Mark it
deprecated now, with the intention of removing it from QEMU in
mid-2021 before the 6.1 release.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Acked-by: Michael Walle <michael@walle.cc>
Message-id: 20200827113259.25064-1-peter.maydell@linaro.org

8 months agoDeprecate Unicore32 port
Peter Maydell [Tue, 25 Aug 2020 17:27:19 +0000 (18:27 +0100)] 
Deprecate Unicore32 port

Deprecate our Unicore32 target support:
 * the Linux kernel dropped support for unicore32 in commit
   05119217a9bd199c for its 5.9 release (with rationale in the
   cover letter: https://lkml.org/lkml/2020/8/3/232 )
 * there is apparently no upstream toolchain that can create unicore32
   binaries
 * the maintainer doesn't seem to have made any contributions to
   QEMU since the port first landed in 2012
 * nobody else seems to have made changes to the unicore code except
   for generic cleanups either

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20200825172719.19422-1-peter.maydell@linaro.org

8 months agodocs/system/arm/mps2.rst: Make board list consistent
Peter Maydell [Thu, 3 Sep 2020 20:20:48 +0000 (21:20 +0100)] 
docs/system/arm/mps2.rst: Make board list consistent

Make the list of MPS2 boards consistent in the phrasing of each
entry, use the correct casing of "Arm", and move the mps2-an511
entry so the list is in numeric order.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200903202048.15370-4-peter.maydell@linaro.org

8 months agohw/arm/mps2: New board model mps2-an500
Peter Maydell [Thu, 3 Sep 2020 20:20:47 +0000 (21:20 +0100)] 
hw/arm/mps2: New board model mps2-an500

Implement a model of the MPS2 with the AN500 firmware. This is
similar to the AN385, with the following differences:
 * Cortex-M7 CPU
 * PSRAM is at 0x6000_0000
 * Ethernet is at 0xa000_0000
 * No zbt_boot_ctrl remapping of the low 16K
   (but QEMU doesn't implement this anyway)
 * no "block RAM" at 0x01000000

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200903202048.15370-3-peter.maydell@linaro.org

8 months agohw/arm/mps2: New board model mps2-an386
Peter Maydell [Thu, 3 Sep 2020 20:20:46 +0000 (21:20 +0100)] 
hw/arm/mps2: New board model mps2-an386

Implement a model of the MPS2 with the AN386 firmware. This is
essentially identical to the AN385 firmware, but it has a
Cortex-M4 rather than a Cortex-M3.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200903202048.15370-2-peter.maydell@linaro.org

8 months agotarget/arm: Remove no-longer-reachable 32-bit KVM code
Peter Maydell [Fri, 4 Sep 2020 15:41:56 +0000 (16:41 +0100)] 
target/arm: Remove no-longer-reachable 32-bit KVM code

Now that 32-bit KVM host support is gone, KVM can never
be enabled unless CONFIG_AARCH64 is true, and some code
paths are no longer reachable and can be deleted.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20200904154156.31943-3-peter.maydell@linaro.org

8 months agotarget/arm: Remove KVM support for 32-bit Arm hosts
Peter Maydell [Fri, 4 Sep 2020 15:41:55 +0000 (16:41 +0100)] 
target/arm: Remove KVM support for 32-bit Arm hosts

We deprecated the support for KVM on 32-bit Arm hosts in time
for release 5.0, which means that our deprecation policy allows
us to drop it in release 5.2. Remove the code.

To repeat the rationale from the deprecation note: the Linux
kernel dropped support for 32-bit Arm KVM hosts in 5.7.

Running 32-bit guests on a 64-bit Arm host remains supported.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20200904154156.31943-2-peter.maydell@linaro.org

8 months agotarget/arm: Convert VCMLA, VCADD size field to MO_* in decode
Peter Maydell [Thu, 3 Sep 2020 13:32:09 +0000 (14:32 +0100)] 
target/arm: Convert VCMLA, VCADD size field to MO_* in decode

The VCMLA and VCADD insns have a size field which is 0 for fp16
and 1 for fp32 (note that this is the reverse of the Neon 3-same
encoding!). Convert it to MO_* values in decode for consistency.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200903133209.5141-4-peter.maydell@linaro.org

8 months agotarget/arm: Convert Neon VCVT fp size field to MO_* in decode
Peter Maydell [Thu, 3 Sep 2020 13:32:08 +0000 (14:32 +0100)] 
target/arm: Convert Neon VCVT fp size field to MO_* in decode

Convert the insns using the 2reg_vcvt and 2reg_vcvt_f16 formats
to pass the size through to the trans function as a MO_* value
rather than the '0==f32, 1==f16' used in the fp 3-same encodings.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200903133209.5141-3-peter.maydell@linaro.org

8 months agotarget/arm: Convert Neon 3-same-fp size field to MO_* in decode
Peter Maydell [Thu, 3 Sep 2020 13:32:07 +0000 (14:32 +0100)] 
target/arm: Convert Neon 3-same-fp size field to MO_* in decode

In the Neon instructions, some instruction formats have a 2-bit size
field which corresponds exactly to QEMU's MO_8/16/32/64.  However the
floating-point insns in the 3-same group have a 1-bit size field
which is "0 for 32-bit float and 1 for 16-bit float".  Currently we
pass these values directly through to trans_ functions, which means
that when reading a particular trans_ function you need to know if
that insn uses a 2-bit size or a 1-bit size.

Move the handling of the 1-bit size to the decodetree file, so that
all these insns consistently pass a size to the trans_ function which
is an MO_8/16/32/64 value.

In this commit we switch over the insns using the 3same_fp and
3same_fp_q0 formats.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200903133209.5141-2-peter.maydell@linaro.org

8 months agodecodetree: Improve identifier matching
Richard Henderson [Thu, 3 Sep 2020 19:23:34 +0000 (12:23 -0700)] 
decodetree: Improve identifier matching

Only argument set members have to be C identifiers, everything
else gets prefixed during conversion to C.  Some places just
checked the leading character, and some places matched a leading
character plus a C identifier.

Convert everything to match full identifiers, including the
[&%@&] prefix, and drop the full C identifier requirement.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200903192334.1603773-1-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/timer/armv7m_systick: assert that board code set system_clock_scale
Peter Maydell [Tue, 25 Aug 2020 16:08:47 +0000 (17:08 +0100)] 
hw/timer/armv7m_systick: assert that board code set system_clock_scale

It is the responsibility of board code for an armv7m system to set
system_clock_scale appropriately for the CPU speed of the core.
If it forgets to do this, then QEMU will hang if the guest tries
to use the systick timer in the "tick at the CPU clock frequency" mode.

We forgot that in a couple of our boards (see commits ce4f70e81ed23c93f,
e7e5a9595ab1136). Add an assertion in the systick reset method so
we don't let any new boards in with the same bug.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200825160847.18091-1-peter.maydell@linaro.org

8 months agohw/misc/a9scu: Report unimplemented accesses with qemu_log_mask(UNIMP)
Philippe Mathieu-Daudé [Tue, 1 Sep 2020 14:41:00 +0000 (16:41 +0200)] 
hw/misc/a9scu: Report unimplemented accesses with qemu_log_mask(UNIMP)

Report unimplemented register accesses using qemu_log_mask(UNIMP).

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200901144100.116742-5-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/misc/a9scu: Simplify setting MemoryRegionOps::impl fields
Philippe Mathieu-Daudé [Tue, 1 Sep 2020 14:40:59 +0000 (16:40 +0200)] 
hw/misc/a9scu: Simplify setting MemoryRegionOps::impl fields

This model implementation is designed for 32-bit accesses.
We can simplify setting the MemoryRegionOps::impl min/max
fields to 32-bit (memory::access_with_adjusted_size() will
take care of the 8/16-bit accesses).

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200901144100.116742-4-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/misc/a9scu: Simplify setting MemoryRegionOps::valid fields
Philippe Mathieu-Daudé [Tue, 1 Sep 2020 14:40:58 +0000 (16:40 +0200)] 
hw/misc/a9scu: Simplify setting MemoryRegionOps::valid fields

Per the datasheet (DDI0407 r2p0):

  "All SCU registers are byte accessible" and are 32-bit aligned.

Set MemoryRegionOps::valid min/max fields and simplify the write()
handler.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200901144100.116742-3-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agohw/misc/a9scu: Do not allow invalid CPU count
Philippe Mathieu-Daudé [Tue, 1 Sep 2020 14:40:57 +0000 (16:40 +0200)] 
hw/misc/a9scu: Do not allow invalid CPU count

Per the datasheet (DDI0407 r2p0):

  "The SCU connects one to four Cortex-A9 processors to
   the memory system through the AXI interfaces."

Change the instance_init() handler to a device_realize()
one so we can verify the property is in range, and return
an error to the caller if not.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200901144100.116742-2-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agoMerge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20200914' into...
Peter Maydell [Mon, 14 Sep 2020 11:18:58 +0000 (12:18 +0100)] 
Merge remote-tracking branch 'remotes/philmd-gitlab/tags/edk2-next-20200914' into staging

EDK2 firmware: Adopt the edk2-stable202008 release

Note from Laszlo Ersek [1] while addressing LP#1852196 [2]:

Consume the following upstream edk2 releases:

  https://github.com/tianocore/edk2/releases/tag/edk2-stable201908
  https://github.com/tianocore/edk2/releases/tag/edk2-stable201911
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202002
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202005
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202008

Worth mentioning (in random order):

- various CVE fixes (see [2] and shortlog)
- OpenSSL-1.1.1g
- UEFI HTTPS Boot for ARM/AARCH64
- TPM2 for ARM/AARCH64
- VCPU hotplug with SMI
- support for Linux v5.7+ initrd and mixed mode loading
- Fusion-MPT SCSI driver in OVMF
- VMware PVSCSI driver in OVMF
- PXEv4 / PXEv6 boot possible to disable on the QEMU command line
- SEV-ES support

The IA32 and X64 binaries are now smaller -- the reason is that Laszlo
built them with DevToolSet 9 (gcc-9) on RHEL7, and so this is the first
time they've undergone LTO (with the GCC5 edk2 toolchain settings).

CI jobs results:
  https://gitlab.com/philmd/qemu/-/pipelines/189394120
  https://travis-ci.org/github/philmd/qemu/builds/726842542
  https://app.shippable.com/github/philmd/qemu/runs/866/summary/console

[1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg738173.html
[2] https://bugs.launchpad.net/qemu/+bug/1852196

# gpg: Signature made Mon 14 Sep 2020 08:15:37 BST
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* remotes/philmd-gitlab/tags/edk2-next-20200914:
  tests: acpi: update "virt/SSDT.memhp" for edk2-stable202008
  pc-bios: update the README file with edk2-stable202008 information
  pc-bios: refresh edk2 build artifacts for edk2-stable202008
  roms/Makefile.edk2: enable new ARM/AARCH64 flags up to edk2-stable202008
  roms/Makefile.edk2: complete replacing TPM2*_ENABLE macros
  roms/edk2: update submodule from edk2-stable201905 to edk2-stable202008
  tests: acpi: tolerate "virt/SSDT.memhp" mismatch temporarily
  roms/Makefile.edk2: prepare for replacing TPM2*_ENABLE macros
  roms/efirom, tests/uefi-test-tools: update edk2's own submodules first
  Makefile: remove obsolete edk2 exception from "clean" rule

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agoMerge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2020-09-12-tag' into staging
Peter Maydell [Mon, 14 Sep 2020 09:34:35 +0000 (10:34 +0100)] 
Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2020-09-12-tag' into staging

patch queue for qemu-ga

* add guest-get-devices for reporting virtio devices (w32-only)
* extend guest-get-fsinfo to support non-PCI virtio disk controllers

# gpg: Signature made Mon 14 Sep 2020 02:53:51 BST
# gpg:                using RSA key CEACC9E15534EBABB82D3FA03353C9CEF108B584
# gpg:                issuer "mdroth@linux.vnet.ibm.com"
# gpg: Good signature from "Michael Roth <flukshun@gmail.com>" [full]
# gpg:                 aka "Michael Roth <mdroth@utexas.edu>" [full]
# gpg:                 aka "Michael Roth <mdroth@linux.vnet.ibm.com>" [full]
# Primary key fingerprint: CEAC C9E1 5534 EBAB B82D  3FA0 3353 C9CE F108 B584

* remotes/mdroth/tags/qga-pull-2020-09-12-tag:
  qga: add command guest-get-devices for reporting VirtIO devices
  qga/commands-posix: Support fsinfo for non-PCI virtio devices, too
  qga/commands-posix: Move the udev code from the pci to the generic function
  qga/commands-posix: Rework build_guest_fsinfo_for_real_device() function

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agotests: acpi: update "virt/SSDT.memhp" for edk2-stable202008
Laszlo Ersek [Tue, 8 Sep 2020 06:24:55 +0000 (08:24 +0200)] 
tests: acpi: update "virt/SSDT.memhp" for edk2-stable202008

The NVDIMM_ACPI_MEM_ADDR dword in "virt/SSDT.memhp" needs an update due to
the firmware now allocating NVDIMM_DSM_MEM_FILE at a lower address.

>          }
>      }
>
> -    Name (MEMA, 0x43DD0000)
> +    Name (MEMA, 0x43D10000)
>  }
>

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-11-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agopc-bios: update the README file with edk2-stable202008 information
Laszlo Ersek [Mon, 7 Sep 2020 23:48:53 +0000 (01:48 +0200)] 
pc-bios: update the README file with edk2-stable202008 information

Refresh the "pc-bios/README" file with edk2 and OpenSSL release info,
matching the edk2-stable202008 firmware images added in the previous
patch.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <e967b4d5-bcc2-3846-0ad6-9e8f4d2f9115@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agopc-bios: refresh edk2 build artifacts for edk2-stable202008
Laszlo Ersek [Tue, 8 Sep 2020 00:44:03 +0000 (02:44 +0200)] 
pc-bios: refresh edk2 build artifacts for edk2-stable202008

Rebuild the pc-bios/edk2-*.fd.bz2 binaries, based on the edk2-stable202008
release.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-10-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agoroms/Makefile.edk2: enable new ARM/AARCH64 flags up to edk2-stable202008
Laszlo Ersek [Mon, 7 Sep 2020 22:34:12 +0000 (00:34 +0200)] 
roms/Makefile.edk2: enable new ARM/AARCH64 flags up to edk2-stable202008

Edk2 commit ffe048a0807b ("ArmVirtPkg: handle NETWORK_TLS_ENABLE in
ArmVirtQemu*", 2019-06-28), part of edk2-stable201908, allows us to
include the UEFI HTTPS Boot feature in the ArmVirtQemu fw platform (ARM
and AARCH64).

Edk2 commit range 4c0f6e349d32..0980779a9ddc, part of edk2-stable202005,
added TPM2 support to ArmVirtQemu; enable it as well. (Unlike with OVMF
IA32 and X64, TPM-1.2 support is not included, hence the TPM2-specific
flag names.)

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-8-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agoroms/Makefile.edk2: complete replacing TPM2*_ENABLE macros
Laszlo Ersek [Mon, 7 Sep 2020 22:24:31 +0000 (00:24 +0200)] 
roms/Makefile.edk2: complete replacing TPM2*_ENABLE macros

At tag "edk2-stable202008", the TPM2_ENABLE and TPM2_CONFIG_ENABLE macros
are useless (for IA32 and X64). Their roles have been absorbed by
TPM_ENABLE and TPM_CONFIG_ENABLE, respectively. Remove the old build
flags.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-7-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agoroms/edk2: update submodule from edk2-stable201905 to edk2-stable202008
Laszlo Ersek [Mon, 7 Sep 2020 20:26:43 +0000 (22:26 +0200)] 
roms/edk2: update submodule from edk2-stable201905 to edk2-stable202008

Update the edk2 submodule from release edk2-stable201905 to
edk2-stable202008. The release notes can be read at

  https://github.com/tianocore/edk2/releases/tag/edk2-stable201908
  https://github.com/tianocore/edk2/releases/tag/edk2-stable201911
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202002
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202005
  https://github.com/tianocore/edk2/releases/tag/edk2-stable202008

The update brings in a new submodule (cmocka), and replaces three bundled
libraries with submodules (one instance of Oniguruma and two instances of
Brotli):

0eb522987fcd ("UnitTestFrameworkPkg/Library: Add library instances",
  2020-02-07) [edk2-stable202002]

48b6c60cc6a2 ("MdeModulePkg/RegularExpressionDxe: Make oniguruma a
  submodule in edk2.", 2020-04-13) [edk2-stable202005]

58802e02c41b ("MdeModulePkg/BrotliCustomDecompressLib: Make brotli a
  submodule", 2020-04-16) [edk2-stable202005]

06033f5abad3 ("BaseTools: Make brotli a submodule", 2020-04-16)
  [edk2-stable202005]

Our firmware binaries include code from none of these, therefore we're not
going to modify the "licenses" list in "roms/Makefile.edk2".
(Consequently, "pc-bios/edk2-licenses.txt" will not change either).

Shortlog below (using the mailmap updates posted at
<http://mid.mail-archive.com/20200907193102.30535-1-lersek@redhat.com> aka
<https://edk2.groups.io/g/devel/message/65096>):

$ git shortlog edk2-stable201905..edk2-stable202008

> Aaron Antone (1):
>       MdeModulePkg/ConSplitterDxe: Optimize the ConSplitterTextOutSetMode
>
> Abdul Lateef Attar (1):
>       MdeModulePkg: Sets the Cursor to selected BootOption.
>
> Abner Chang (39):
>       MdeModulePkg: Update to support SmBios 3.3.0
>       MdePkg/Include: Update to support SmBios 3.3.0
>       ShellPkg/UefiShellDebug1CommandsLib: Update to support SmBios 3.3.0
>       FatPkg: Add RISC-V architecture for EDK2 CI.
>       FmpDevicePkg: Add RISC-V architecture for EDK2 CI.
>       NetworkPkg: Add RISC-V architecture for EDK2 CI.
>       NetworkPkg/HttpBootDxe: Add RISC-V architecture for EDK2 CI.
>       CryptoPkg: Add RISC-V architecture for EDK2 CI.
>       MdePkg/Include: Add RISC-V related definitions EDK2 CI.
>       SecurityPkg: Security package changes for RISC-V EDK2 CI.
>       ShellPkg: Shell package changes for RISC-V EDK2 CI.
>       UnitTestFrameworkPkg: Add RISC-V architecture for RISC-V EDK2 CI.
>       MdeModulePkg: Use LockBoxNullLib for RISC-V
>       .python/SpellCheck: Add "RISCV" to "words" section
>       BaseTools: BaseTools changes for RISC-V platform.
>       BaseTools: BaseTools changes for RISC-V platform.
>       BaseTools: BaseTools changes for RISC-V platform.
>       BaseTools: Enable RISC-V architecture for RISC-V EDK2 CI.
>       .azurepipelines: Add RISC-V architecture on RISC-V EDK2 CI.
>       .pytool: Add RISC-V architecture on RISC-V EDK2 CI.
>       MdePkg: Add RISC-V RISCV64 binding
>       MdePkg/Include: RISC-V definitions.
>       MdePkg/BaseLib: BaseLib for RISCV64 architecture
>       MdePkg/BaseCacheMaintenanceLib: RISC-V cache maintenance implementation.
>       MdePkg/BaseIoLibIntrinsic: Rename IoLibArm.c=>IoLibNoIo.c
>       MdePkg/BasePeCoff: Add RISC-V PE/Coff related code.
>       MdePkg/BaseCpuLib: RISC-V Base CPU library implementation.
>       MdePkg/BaseSynchronizationLib: RISC-V cache related code.
>       MdePkg/BaseSafeIntLib: Add RISCV64 arch for BaseSafeIntLib.
>       MdeModulePkg/Logo:Add RISCV64 architecture
>       MdeModulePkg/CapsuleRuntimeDxe: Add RISCV64 architecture
>       MdeModulePkg/DxeIplPeim : RISC-V platform level DxeIPL
>       NetworkPkg: Add RISCV64 architecture
>       BaseTools: Add external definitions for RISC-V assembly build
>       BaseTools/PeCoffLoaderEx: Remove the unused local variable
>       BaseLib:Fix RISC-V Supervisor mode (S-Mode) trap handler reentry issue.
>       CryptoPkg/Library: Remove the redundant build option
>       EmbeddedPkg/libfdt: Add strncmp macro to use AsciiStrnCmp
>       MdePkg/Include: Add missing definition of SMBIOS type 42h in SmBios.h
>
> Agrawal, Sachin (1):
>       MdeModulePkg/Ufs: Fix UFS flag read from Query Resp UPIU
>
> Albecki, Mateusz (24):
>       MdeModulePkg/UfsPassThruDxe: Refactor UFS device presence detection
>       MdeModulePkg/UfsPassThruDxe: Fix unaligned data transfer handling
>       MdeModulePkg/SdMmcOverride: Add GetOperatingParam notify phase
>       MdeModulePkg/SdMmcHcDxe: Implement revision 3 of SdMmcOverrideProtocol
>       MdeModulePkg: Add definition of the EDKII_UFS_HC_PLATFORM_PROTOCOL
>       MdeModulePkg/UfsPassThruDxe: Refactor UfsExecUicCommand function
>       MdeModulePkg/UfsPassThruDxe: Refactor private data to use UfsHcInfo
>       MdeModulePkg/UfsPassThruDxe: Implement EDKII_UFS_HC_PLATFORM_PROTOCOL
>       MdeModulePkg/SdMmcPciHcDxe: Remove clock stop from HS200 switch
>       MdeModulePkg/SdMmcPciHcDxe: Fix bus timing switch sequence
>       MdeModulePkg/SdMmcPciHcDxe: Fix SdMmcMmcLegacy bus timing handling
>       MdeModulePkg/SdMmcPciHcDxe: Hook SwitchClockFreq after SD clock start
>       MdeModulePkg/SdMmcPciHcDxe: Add function to start SD clock
>       MdeModulePkg/SdMmcPciHcDxe: Fix unknown doxygen tag error
>       MdeModulePkg/SdMmcPciHcDxe: Fix DAT lane SW reset
>       MdeModulePkg/SdMmcPciHcDxe: Refactor command error detection
>       MdeModulePkg/SdMmcPciHcDxe: Add retries for sync commands
>       MdeModulePkg/SdMmcPciHcDxe: Add retries for async commands
>       MdeModulePkg/SdMmcPciHcDxe: Send SEND_STATUS at lower frequency
>       MdeModulePkg/SdMmcPciHcDxe: Enhance driver traces
>       MdeModulePkg/SdMmcPciHcDxe: Read response on command completion
>       MdeModulePkg/SdMmcPciHcDxe: Refactor data transfer completion
>       MdeModulePkg/SdMmcPciHcDxe: Do not map memory for non DMA transfer
>       MdeModulePkg/SdMmcPciHcDxe: Fix PIO transfer mode
>
> Alex James (1):
>       MdePkg: Use __builtin_offset with CLANGPDB toolchain
>
> Alexander Graf (1):
>       ArmPlatformPkg: Actually disable PL031 interrupts
>
> Amol N Sukerkar (4):
>       CryptoPkg: Add CryptoPkg Token Space GUID
>       CryptoPkg/BaseHashApiLib: Implement Unified Hash Calculation API
>       CryptoPkg/BaseHashApiLib: Align BaseHashApiLib with TPM 2.0 Implementation
>       CryptoPkg/BaseHashApiLib: Change PcdHashApiLibPolicy type to FixedAtBuild
>
> Andrei Warkentin (1):
>       ArmPlatformPkg/PrePi: fix IS_XIP
>
> Andrew Fish (7):
>       EmulatorPkg/Unix/Host: Disable inline/optimizations for XCODE5
>       EmulatorPkg: Fix XCODE5 lldb issues
>       EmulatorPkg/Unix/Host: Initialize field in BerkeleyPacketFilter.c
>       EmulatorPkg/Unix/Host: Remove debug code from BerkeleyPacketFilter.c
>       EmulatorPkg: Disable TftpDynamicCommand and LogoDxe for XCODE5
>       EmulatorPkg/Sec: Change scope of PpiArray[10]
>       BaseTools/tools_def.template: Add -gdwarf to XCODE5 X64
>
> Anthony PERARD (46):
>       MdeModulePkg: Introduce EDKII_SERIAL_PORT_LIB_VENDOR_GUID
>       ArmVirtPkg/PlatformBootManagerLib: Use EDKII_SERIAL_PORT_LIB_VENDOR_GUID
>       ArmPkg/PlatformBootManagerLib: Use EDKII_SERIAL_PORT_LIB_VENDOR_GUID from MdeModulePkg
>       UefiPayloadPkg/PlatformBootManagerLib: Use EDKII_SERIAL_PORT_LIB_VENDOR_GUID from MdeModulePkg
>       OvmfPkg/XenBusDxe: Close XenIoProtocol openned by children
>       OvmfPkg/XenBusDxe: Don't call DisconnectController in Stop()
>       OvmfPkg/ResetSystemLib: Add missing dependency on PciLib
>       OvmfPkg: Create platform OvmfXen
>       OvmfPkg: Introduce XenResetVector
>       OvmfPkg: Introduce XenPlatformPei
>       OvmfPkg/OvmfXen: Creating an ELF header
>       OvmfPkg/XenResetVector: Add new entry point for Xen PVH
>       OvmfPkg/XenResetVector: Saving start of day pointer for PVH guests
>       OvmfPkg/XenResetVector: Allow jumpstart from either hvmloader or PVH
>       OvmfPkg/OvmfXen: use a TimerLib instance that depends only on the CPU
>       OvmfPkg/XenPlatformPei: Detect OVMF_INFO from hvmloader
>       OvmfPkg/XenPlatformPei: Use mXenHvmloaderInfo to get E820
>       OvmfPkg/XenPlatformPei: Grab RSDP from PVH guest start of day struct
>       OvmfPkg/Library/XenPlatformLib: New library
>       OvmfPkg/AcpiPlatformDxe: Use XenPlatformLib
>       OvmfPkg/AcpiPlatformDxe: Use Xen PVH RSDP if it exist
>       OvmfPkg/XenHypercallLib: Enable it in PEIM
>       OvmfPkg/XenPlatformPei: Reinit XenHypercallLib
>       OvmfPkg/XenPlatformPei: Introduce XenHvmloaderDetected
>       OvmfPkg/XenPlatformPei: Setup HyperPages earlier
>       OvmfPkg/XenPlatformPei: Introduce XenPvhDetected
>       OvmfPkg: Import XENMEM_memory_map hypercall to Xen/memory.h
>       OvmfPkg/XenPlatformPei: no hvmloader: get the E820 table via hypercall
>       OvmfPkg/XenPlatformPei: Rework memory detection
>       OvmfPkg/XenPlatformPei: Reserve VGA memory region, to boot Linux
>       OvmfPkg/XenPlatformPei: Ignore missing PCI Host Bridge on Xen PVH
>       OvmfPkg/XenPlatformLib: Cache result for XenDetected
>       OvmfPkg/PlatformBootManagerLib: Use XenDetected from XenPlatformLib
>       OvmfPkg/PlatformBootManagerLib: Handle the absence of PCI bus on Xen PVH
>       OvmfPkg/OvmfXen: Override PcdFSBClock to Xen vLAPIC timer frequency
>       OvmfPkg/OvmfXen: Introduce XenTimerDxe
>       OvmfPkg/PlatformBootManagerLib: Use a Xen console for ConOut/ConIn
>       OvmfPkg: Introduce PcdXenGrantFrames
>       OvmfPkg: Introduce XenIoPvhDxe to initialize Grant Tables
>       OvmfPkg: Move XenRealTimeClockLib from ArmVirtPkg
>       OvmfPkg/OvmfXen: use RealTimeClockRuntimeDxe from EmbeddedPkg
>       OvmfPkg/OvmfXen: Remove DEBUG_ON_SERIAL_PORT
>       OvmfPkg/PlatformDebugLibIoPort: Reword QEMU to hypervisor
>       OvmfPkg/PlatformDebugLibIoPort: factor out debug port detection
>       OvmfPkg/PlatformDebugLibIoPort: Introduce a Nocheck variant
>       OvmfPkg/OvmfXen: Introduce DEBUG_ON_HYPERVISOR_CONSOLE build flag
>
> Antoine Cœur (79):
>       ArmPkg: Fix various typos
>       ArmPlatformPkg: Fix various typos
>       EmbeddedPkg: Fix various typos
>       BaseTools: Fix various typos
>       FmpDevicePkg: Fix various typos
>       Revert "FmpDevicePkg: Fix various typos"
>       IntelFsp2Pkg: Fix various typos
>       FmpDevicePkg: Fix various typos
>       IntelFsp2WrapperPkg: Fix various typos
>       CryptoPkg/OpensslLib: Fix few typos
>       EmbeddedPkg/VirtualKeyboard: Fix few typos
>       EmulatorPkg/Sec: Fix various typos
>       EmulatorPkg/Unix: Fix various typos
>       EmulatorPkg/Win: Fix various typos
>       FatPkg/EnhancedFatDxe: Fix various typos
>       FatPkg/FatPei: Fix few typos
>       MdeModulePkg/Application: Improve French translation
>       MdeModulePkg/Application: Fix various typos
>       MdeModulePkg/Bus/Ata: Fix various typos
>       MdeModulePkg/Bus/I2c: Fix few typos
>       MdeModulePkg/Bus/Isa: Fix various typos
>       MdeModulePkg/Bus/Scsi: Fix various typos
>       MdeModulePkg/Bus/Sd: Fix various typos
>       MdeModulePkg/Core/Pei: Fix various typos
>       MdeModulePkg/Core/PiSmmCore: Fix various typos
>       MdeModulePkg/UsbMass: Fix various typos
>       MdeModulePkg/UsbMouse: Fix few typos
>       MdeModulePkg/UsbBus: Fix various typos
>       MdeModulePkg/Usb: Fix various typos
>       MdePkg/IndustryStandard: Fix various typos
>       MdePkg/Library/Dxe: Fix various typos
>       MdePkg/Library/Pci: Fix various typos
>       MdePkg/Library/Smm: Fix various typos
>       MdePkg/Ppi: Fix various typos
>       MdePkg/Register: Fix various typos
>       NetworkPkg/ArpDxe: Fix various typos
>       NetworkPkg/Dhcp4Dxe: Fix various typos
>       NetworkPkg/Dhcp6Dxe: Fix various typos
>       NetworkPkg/DnsDxe: Fix various typos
>       NetworkPkg/DpcDxe: Fix few typos
>       NetworkPkg/HttpBootDxe: Fix various typos
>       NetworkPkg/HttpDxe: Fix various typos
>       NetworkPkg/Ip4Dxe: Fix various typos
>       NetworkPkg/Ip6Dxe: Fix various typos
>       NetworkPkg/IScsiDxe: Fix various typos
>       NetworkPkg/Library: Fix various typos
>       NetworkPkg/MnpDxe: Fix various typos
>       NetworkPkg/Mtftp4Dxe: Fix various typos
>       NetworkPkg/Mtftp6Dxe: Fix various typos
>       NetworkPkg/SnpDxe: Fix few typos
>       NetworkPkg/TcpDxe/Sock: Fix few typos
>       NetworkPkg/TcpDxe/Tcp: Fix various typos
>       NetworkPkg/Tls: Fix few typos
>       NetworkPkg/Udp4Dxe: Fix various typos
>       NetworkPkg/Udp6Dxe: Fix various typos
>       NetworkPkg/UefiPxeBcDxe: Fix various typos
>       NetworkPkg/VlanConfigDxe: Fix few typos
>       OvmfPkg/Acpi: Fix few typos
>       OvmfPkg/Csm: Fix various typos
>       OvmfPkg/Qemu: Fix various typos
>       OvmfPkg/Virtio: Fix few typos
>       OvmfPkg/Xen: Fix various typos
>       PcAtChipsetPkg: Fix few typos
>       SecurityPkg: Fix few typos
>       SecurityPkg/Hash2DxeCrypto: Fix few typos
>       SecurityPkg/Library/Tpm: Fix various typos
>       SecurityPkg/Tcg: Fix various typos
>       SecurityPkg/VariableAuthenticated: Fix few typos
>       ShellPkg/Application: Fix various typos
>       ShellPkg/DynamicCommand: Fix various typos
>       SignedCapsulePkg: Fix various typos
>       SignedCapsulePkg/Universal: Fix various typos
>       SourceLevelDebugPkg/DebugAgent: Fix various typos
>       SourceLevelDebugPkg/DebugCommunicationLib: Fix various typos
>       SourceLevelDebugPkg: Fix few typos
>       StandaloneMmPkg: Fix few typos
>       UefiCpuPkg/CpuDxe: Fix few typos
>       UefiCpuPkg/PiSmm: Fix various typos
>       UefiCpuPkg/Smm: Fix various typos
>
> Ard Biesheuvel (128):
>       EmbeddedPkg/PrePiLib: remove dead status code reporting code
>       BaseTools/GenFw AARCH64: fix up GOT based relative relocations
>       ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: revert to PIE linking
>       ShellPkg/ShellPkg.dsc AARCH64: enable stack protector
>       ArmVirtPkg: increase FD/FV size for NOOPT builds
>       StandaloneMmPkg: make package .DSC file build again
>       DynamicTablesPkg: include ARM intrinsics library to fix 32-bit build
>       BaseTools/GenFw AARCH64: disregard ADRP instructions that are patched already
>       EmbeddedPkg/NonCoherentDmaLib: implement support for DMA range limits
>       EmbeddedPkg: implement EDK2 IoMmu protocol wrapping DmaLib
>       Maintainers: assume co-maintainership of StandaloneMmPkg
>       ArmPkg/MmCommunicationDxe: relay architected PI events to MM context
>       OvmfPkg: reorganize TPM2 support in DSC/FDF files
>       OvmfPkg: use HII type PCDs for TPM2 config related variables
>       MdeModulePkg: remove EnterS3WithImmediateWake () from ResetSystemLib
>       PcAtChipsetPkg: remove EnterS3WithImmediateWake () from ResetSystemLib
>       UefiPayloadPkg: remove EnterS3WithImmediateWake () from ResetSystemLib
>       OvmfPkg: remove EnterS3WithImmediateWake () from ResetSystemLib
>       ArmVirtPkg: remove EnterS3WithImmediateWake () from ResetSystemLib
>       ArmPkg/ArmSmcPsciResetSystemLib: remove EnterS3WithImmediateWake ()
>       ArmPlatformPkg/PrePeiCore: enable VFP at startup
>       OvmfPkg/Tcg2ConfigPei: introduce a signalling PPI to depex on
>       ArmVirtPkg/PlatformPeiLib: make PcdLib dependency explicit in .INF
>       ArmVirtPkg/PlatformPeiLib: discover the TPM base address from the DT
>       ArmVirtPkg: implement ArmVirtPsciResetSystemPeiLib
>       ArmVirtPkg/ArmVirtQemu: add ResetSystem PEIM for upcoming TPM2 support
>       ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI phase
>       ArmVirtPkg; avoid DxeTpmMeasurementLib in shared .DSC
>       ArmVirtPkg: unshare TpmMeasurementLib resolution between platforms
>       ArmVirtPkg/ArmVirtQemu: enable the DXE phase TPM2 support module
>       ArmVirtPkg/ArmVirtQemu: enable the TPM2 configuration module
>       ArmVirtPkg/ArmVirtQemu: enable TPM2 based measured boot
>       OvmfPkg: add definition of LINUX_EFI_INITRD_MEDIA_GUID
>       OvmfPkg: add 'initrd' shell command to expose Linux initrd via device path
>       ArmVirtPkg: add the 'initrd' dynamic shell command
>       OvmfPkg: add the 'initrd' dynamic shell command
>       MdeModulePkg/DxeCore: defer PE/COFF emulator registration to StartImage
>       OvmfPkg IA32: add support for loading X64 images
>       OvmfPkg/LinuxInitrdDynamicShellCommand: bail if initrd already exists
>       ArmPkg/MmCommunicationDxe: fix logic bug in DXE driver entrypoint
>       OvmfPkg/LinuxInitrdDynamicShellCommand: fix uninitialized status return
>       ArmPlatformPkg/LcdGraphicsOutputDxe: add missing protocol dependency
>       ArmPlatformPkg/PrePeiCore: replace set/way cache ops with by-VA ones
>       OvmfPkg: add GUID for the QEMU kernel loader fs media device path
>       OvmfPkg: export abstract QEMU blob filesystem in standalone driver
>       OvmfPkg: introduce QemuLoadImageLib library class
>       OvmfPkg: provide a generic implementation of QemuLoadImageLib
>       ArmVirtPkg: incorporate the new QEMU kernel loader driver and library
>       ArmVirtPkg/PlatformBootManagerLib: switch to separate QEMU loader
>       OvmfPkg/QemuKernelLoaderFsDxe: don't expose kernel command line
>       OvmfPkg/QemuKernelLoaderFsDxe: add support for the kernel setup block
>       OvmfPkg: create protocol and GUID header for loaded x86 Linux kernels
>       OvmfPkg: implement QEMU loader library for X86 with legacy fallback
>       OvmfPkg: add new QEMU kernel image loader components
>       OvmfPkg/PlatformBootManagerLib: switch to QemuLoadImageLib
>       OvmfPkg/QemuKernelLoaderFsDxe: add support for new Linux initrd device path
>       OvmfPkg: use generic QEMU image loader for secure boot enabled builds
>       ArmPlatformPkg/PrePi: replace set/way cache ops with by-VA ones
>       ArmPkg/ArmMmuLib ARM: remove dummy constructor
>       ArmPkg/ArmMmuLib ARM: split ArmMmuLibCore.c into core and update code
>       ArmPkg/ArmMmuLib ARM: use AllocateAlignedPages() for alignment
>       ArmPkg/ArmMmuLib ARM: cache-invalidate initial page table entries
>       ArmPkg/ArmMmuLib AARCH64: cache-invalidate initial page table entries
>       ArmPkg/ArmLib: move set/way helper functions into private header
>       ArmPkg/ArmLib: clean up library includes
>       ArmPkg/ArmLib: remove bogus protocol declaration
>       ArmPkg/ArmLib: ASSERT on set/way cache ops being used with MMU on
>       ArmPkg/ArmMmuLib ARM: simplify assignment of TTBR0 system register
>       ArmPkg/ArmMmuLib ARM: drop memory type check for page tables
>       OvmfPkg/OvmfXen: fix build by providing QemuLoadImageLib resolution
>       OvmfPkg/QemuKernelLoaderFsDxe: drop tentative const object definition
>       ArmPkg/ArmMmuLib AARCH64: rewrite page table code
>       ArmPkg/ArmMmuLib AARCH64: invalidate page tables before populating them
>       ArmPkg/ArmMmuLib AARCH64: drop pointless page table memory type check
>       ArmPkg/ArmMmuLib AARCH64: cosmetic fixups
>       OvmfPkg/X86QemuLoadImageLib: add dummy assignment to work around GCC
>       ArmVirtPkg/PlatformPeiLib: add dummy assignment to work around older GCC
>       ArmPkg/ArmMmuLib AARCH64: limit recursion when freeing page tables
>       ArmPkg/ArmMmuLib AARCH64: use helpers to determine table entry types
>       ArmPkg/ArmMmuLib AARCH64: preserve attributes when replacing a table entry
>       OvmfPkg/GenericQemuLoadImageLib: Fix VS2019 UINT32 conversion error
>       Maintainers: switch to my Arm email address
>       ArmPkg/CpuDxe: use private copy of GetRootTranslationTableInfo()
>       ArmPkg/CpuDxe: move PageAttributeToGcdAttribute() out of ArmMmuLib
>       ArmPkg/ArmMmuLib: drop pointless LookupAddresstoRootTable() routine
>       ArmPkg/ArmMmuLib: get rid of GetRootTranslationTableInfo()
>       ArmPkg/ArmMmuLib: drop unused TT_ATTR_INDX_INVALID CPP macro
>       OvmfPkg: remove handling of properties table
>       MdeModulePkg: disable properties table generation but retain the code
>       MdePkg: remove PropertiesTable GUID
>       MdeModulePkg/DxeCore: merge properties table routines into MAT handling
>       MdeModulePkg/DeviceManagerUiLib: connect all before creating menu page
>       EmbeddedPkg: rename gEfiMmcHostProtocolGuid to gEmbeddedMmcHostProtocolGuid
>       EmbeddedPkg: remove DwEmmcDxe host controller driver
>       EmbeddedPkg: remove Lan91x network controller driver
>       EmbeddedPkg: remove Lan9118 network controller driver
>       EmbeddedPkg: remove SiI3132 SATA controller driver
>       EmbeddedPkg: remove ISP 1716 USB host controller driver
>       ArmPlatformPkg: remove PL180 SD controller driver
>       EmbeddedPkg/EmbeddedPkg.dsc: remove some stale component references
>       MdePkg: introduce MM communicate 2 protocol
>       MdeModulePkg/SmmIpl: expose MM communicate 2 protocol
>       ArmPkg/MmCommunicationDxe: expose MM Communicate 2 protocol
>       MdeModulePkg/VariableInfo: switch to MM communicate 2 protocol
>       MdeModulePkg/FaultTolerantWriteSmmDxe: switch to MM communicate 2
>       MdeModulePkg/VariableSmmRuntimeDxe: switch to MM communicate 2
>       StandaloneMmPkg: switch to MM communicate 2 protocol
>       ArmPkg/CompilerIntrinsicsLib: provide atomics intrinsics
>       ArmPkg/PlatformBootManagerLib: use static assertion for console type
>       ArmPkg/PlatformBootManagerLib: reject 'default' parity and stop bit count
>       ArmPkg/ArmPkg.dsc: set terminal type PCD to the right value
>       ArmPkg/PlatformBootManagerLib: connect non-discoverable USB hosts
>       ArmPkg/PlatformBootManagerLib: register 's' as UEFI Shell hotkey
>       ArmPkg/PlatformBootManagerLib: fall back to the UiApp on boot failure
>       MdeModulePkg/BootManagerUiLib: show inactive boot options
>       ArmPkg/PlatformBootManagerLib: hide UEFI Shell as a regular boot option
>       ArmPkg/PlatformBootManagerLib: don't connect all devices on each boot
>       ArmVirtPkg: add FDF rule for self-relocating PrePi
>       ArmVirtPkg/PrePi: use standard PeCoff routines for self-relocation
>       ArmVirtPkg: remove unused files
>       MdePkg/BasePrintLib: avoid absolute addresses for error strings
>       StandaloneMmPkg/Core: fix bogus FV pointer in DEBUG string
>       StandaloneMmPkg/Core: add missing GUID reference
>       StandaloneMmPkg: generate position independent code for StMM core
>       StandaloneMmPkg/StandaloneMmCoreEntryPoint: relocate StMM core on the fly
>       ArmPkg/PlatformBootManagerLib: regenerate boot options on boot failure
>       EmbeddedPkg/NonCoherentDmaLib: avoid dereferencing bogus buffer address
>       ArmVirtPkg/NorFlashQemuLib: disable NOR flash DT nodes upon discovery
>
> Ashish Singhal (7):
>       MdeModulePkg/XhciDxe: Fix Aligned Page Allocation
>       MdeModulePkg/XhciPei: Fix Aligned Page Allocation
>       EmbeddedPkg/DtPlatformDxe: Add DT/ACPI Default Flexibility
>       MdeModulePkg: Add EDK2 Platform Boot Manager Protocol
>       MdeModulePkg/BaseSerialPortLib16550: Fix Serial Port Ready
>       ShellPkg/UefiShellAcpiViewCommandLib: Fix FADT Parser
>       ArmPkg/ArmLib: Fix cache-invalidate initial page tables
>
> Bret Barkelew (11):
>       CryptoPkg: Add missing instance for build only
>       SourceLevelDebugPkg: Add missing instances for build only
>       MdeModulePkg: Add missing instances for build only
>       MdeModulePkg/CapsulePei: Optimize the CapsulePei
>       MdeModulePkg/PeiMain: PeiAllocatePool: output NULL if HOB creation fails
>       SecurityPkg: Add missing instances for build only
>       MdeModulePkg: Add a pcd to set the OS indications bit
>       ShellPkg/UefiShellLib: Set input pointer parameter to null if failure
>       MdePkg/Include/Library: Add UnitTestLib class
>       UnitTestFrameworkPkg: Add info to readme about working with UnitTests
>       UnitTestFrameworkPkg/Readme.md: Update documentation for latest features
>
> Brian R Haug (1):
>       MdeModulePkg/Setup: Update opcode number variable type to UINTN
>
> Burt Silverman (1):
>       BaseTools: Robustness for multiple build environments
>
> Chasel Chiu (15):
>       IntelFsp2Pkg/SplitFspBin.py: Support rebasing 1.x binary.
>       IntelFsp2Pkg: add TempRamExitPpi.h.
>       IntelFsp2Pkg: FSP Python scripts to support 3.x.
>       IntelFsp2Pkg: PeiService pointer not reset to 0 in SecMain
>       BaseTools/Scripts: Add GetUtcDateTime script.
>       UefiCpuPkg: support single EFI_PEI_CORE_FV_LOCATION_PPI in PpiList
>       MdeModulePkg: Enable/Disable S3BootScript dynamically.
>       IntelFsp2Pkg/SplitFspBin.py: Command crashed when FV almost full.
>       IntelFsp2Pkg/GenCfgOpt.py: Coverity scan flags issues.
>       IntelFsp2Pkg/SplitFspBin.py: Coverity scan flags issues.
>       IntelFsp2Pkg: Support Multi-Phase SiInit and debug handlers.
>       IntelFsp2Pkg: Add FunctionParametePtr to FspGlobalData.
>       IntelFsp2Pkg: Add Fsp22SecCoreS.inf to Dsc.
>       IntelFsp2Pkg: Add FSP*_ARCH_UPD.
>       IntelFsp2WrapperPkg: Add FSP*_ARCH_UPD.
>
> Ching JenX Cheng (3):
>       IntelFsp2Pkg: Improve FSP Python scripts to support 3.x.
>       Add VS2019 Toolchain def
>       Add VS2019 Support on ToolSetup Batches
>
> Christopher J Zurcher (7):
>       MdePkg: Implement SCSI commands for Security Protocol In/Out
>       MdeModulePkg/UfsPassThruDxe: Check for RPMB W-LUN (SecurityLun)
>       MdeModulePkg/ScsiBusDxe: Clean up Peripheral Type check
>       MdeModulePkg/ScsiDiskDxe: Support Storage Security Command Protocol
>       CryptoPkg/OpensslLib: Add "sort" keyword to header file parsing loop
>       CryptoPkg/OpensslLib: Remove "no-autoalginit" flag from OpenSSL build
>       MdePkg/UefiScsiLib: Set FUA bit for synchronous SCSI Write operations
>
> Cole Robinson (4):
>       BaseTools: Fix python3.8 SyntaxWarning
>       BaseTools: fix ucs-2 lookup on python 3.9
>       BaseTools: Work around array.array.tostring() removal in python 3.9
>       Add a stub CONTRIBUTING.md pointing to the wiki
>
> Cole, Deric (1):
>       UefiCpuPkg/SecCore: Add pre-memory AP vector
>
> Damian Nikodem (2):
>       UefiCpuPkg/PiSmmCpuDxeSmm: don't free page table pages that are required to handle current page fault
>       UefiCpuPkg: Fix potential spinLock issue in SmmStartupThisAp
>
> Dandan Bi (12):
>       ShellPkg/Debug1CommandsLib: Fix bugs in func DisplaySysEventLogData
>       Edk2: Remove nt32 related flag in bat files
>       Edk2Setup: Support different VS tool chain setup
>       EmbeddedPkg: Unload image on EFI_SECURITY_VIOLATION
>       MdeModulePkg/DxeCapsuleLibFmp: Unload image on EFI_SECURITY_VIOLATION
>       MdeModulePkg/UefiBootManager: Unload image on EFI_SECURITY_VIOLATION
>       MdeModulePkg/PlatformDriOverride: Unload image on EFI_SECURITY_VIOLATION
>       ShellPkg: Unload image on EFI_SECURITY_VIOLATION
>       MdeModulePkg/HiiDB: Remove configuration table when it's freed (CVE-2019-14586)
>       MdeModulePkg/String.c: Zero memory before free (CVE-2019-14558)
>       MdeModulePkg/DisplayEngine: Zero memory before free (CVE-2019-14558)
>       MdeModulePkg/DisplayEngine: Add Debug message to show mismatch menu info
>
> Daniel Pawel Banaszek (1):
>       MdePkg PciExpress21: PCI_REG_PCIE_DEVICE_CONTROL2 struct has 17 bits
>
> Daniel Schaefer (2):
>       MdeModulePkg: Use CopyMem instead of GUID assignment
>       MdePkg/DxeServicesLib: Add RISC-V architecture
>
> David Woodhouse (5):
>       OvmfPkg/Csm/LegacyBiosDxe: Fix Legacy16GetTableAddress call for E820 data
>       OvmfPkg/LegacyBios: set NumberBbsEntries to the size of BbsTable
>       OvmfPkg/LegacyBbs: Add boot entries for VirtIO and NVME devices
>       OvmfPkg: Don't build in QemuVideoDxe when we have CSM
>       OvmfPkg: don't assign PCI BARs above 4GiB when CSM enabled
>
> Derek Lin (2):
>       BaseTools: Fix an incremental build issue caused by macro in #include
>       SecurityPkg: Fix TPM2 ACPI measurement.
>
> Desimone, Nathaniel L (1):
>       BaseTools/Scripts: Add sendemail.transferEncoding to SetupGit.py
>
> Donald Kuo (1):
>       UefiCpuPkg: Adding a new TSC library by using CPUID(0x15) TSC leaf
>
> Dorapika Wu (1):
>       ShellPkg: Update timezone of 3 cities
>
> Eric Dong (41):
>       MdePkg: Add new MM MP Protocol definition.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol
>       UefiCpuPkg/RegisterCpuFeaturesLib: Avoid AP calls PeiServices table.
>       UefiCpuPkg/RegisterCpuFeaturesLib: avoid use dynamic PCD.
>       UefiCpuPkg/Include/MpInitLib.h: Add MpInitLibStartupAllCPUs API.
>       UefiCpuPkg/MpInitLib: Add MpInitLibStartupAllCPUs API.
>       UefiCpuPkg/MpInitLibUp: Add MpInitLibStartupAllCPUs API.
>       UefiCpuPkg: Add new EDKII_PEI_MP_SERVICES2_PPI
>       UefiCpuPkg/CpuMpPei: Produce EDKII_PEI_MP_SERVICES2_PPI.
>       UefiCpuPkg/RegisterCpuFeaturesLib: Start all processors simultaneously.
>       UefiCpuPkg/MpInitLib: don't shadow the microcode patch twice.
>       UefiCpuPkg/RegisterCpuFeaturesLib: Remove debug message.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Remove debug message.
>       OvmfPkg/PlatformPei: Change referenced MSR name.
>       UefiCpuPkg/RegisterCpuFeaturesLib: Clean up useless ConsoleLogLock spinlock.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Clean up useless ConsoleLogLock spinlock.
>       UefiCpuPkg/RegisterCpuFeaturesLib: Add "Test Then Write" Macros.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Combine CR read/write action.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Supports test then write new value logic.
>       UefiCpuPkg/RegisterCpuFeaturesLib: Combine CR read/write action.
>       UefiCpuPkg/RegisterCpuFeaturesLib: Supports test then write new value logic.
>       UefiCpuPkg/CpuCommonFeaturesLib: Use new macros.
>       UefiCpuPkg/SecCore: get AllSecPpiList after SecPlatformMain.
>       UefiCpuPkg/CpuDxe: clean up PAGE_TABLE_LIB_PAGING_CONTEXT usage.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Avoid allocate Token every time
>       UefiCpuPkg/PiSmmCpuDxeSmm: Remove dependence between APs
>       UefiCpuPkg/PiSmmCpuDxeSmm: Fix buffer overflow issue.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Pre-allocate PROCEDURE_TOKEN buffer
>       Revert "UefiCpuPkg/PiSmmCpuDxeSmm: Fix buffer overflow issue."
>       UefiCpuPkg/PiSmmCpuDxeSmm: improve the coding style
>       UefiCpuPkg/PiSmmCpuDxeSmm: Add missed comments for parameter.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Remove Used parameter.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Remove useless code in ResetTokens.
>       UefiCpuPkg/MpInitLib: Restore IDT context for APs.
>       UefiCpuPkg/MpInitLib: Avoid ApInitReconfig in PEI.
>       Maintainers.txt: Add reviewers for Tcg related modules.
>       Maintainers.txt: Add reviewer for security boot modules.
>       Maintainers.txt: Add reviewer for UefiCpuPkg.
>       Maintainers.txt: Add reviewer for SEC related modules.
>       Maintainers.txt: Add reviewer for Pei Core.
>       IntelFsp2Pkg/FspSecCore: Use UefiCpuLib.
>
> Eric Jin (13):
>       BaseTools/Capsule: Supports multiple payloads and drivers in capsule
>       MdeModulePkg/EsrtFmpDxe: Enhance ESRT to support multiple controllers
>       FmpDevicePkg: Add UEFI_DRIVER support
>       FmpDevicePkg: Add APIs to FmpDeviceLib
>       FmpDEvicePkg/FmpDeviceLibNull: Implement new APIs
>       FmpDevicePkg/FmpDxe: Use new FmpDeviceLib APIs
>       FmpDevicePkg/FmpDxe: Different variable for each FMP Descriptor
>       FmpDevicePkg: Add Capsule Update Policy Protocol
>       FmpDevicePkg/FmpDxe: Improve all DEBUG() messages
>       FmpDevicePkg/FmpDxe: Add PcdFmpDeviceImageTypeIdGuid
>       FmpDevicePkg/FmpDxe: Add PcdFmpDeviceStorageAccessEnable
>       FmpDevicePkg/FmpDxe: Remove use of CatSprint()
>       BaseTools/Capsule: Tool to generate Windows Firmware Update Driver
>
> Eugene Cohen (2):
>       .mailmap: update description to account for job changes
>       .mailmap: add entry for Eugene Cohen reflecting email change
>
> Felix Polyudov (1):
>       MdePkg: Add PCI Express 5.0 Header File
>
> Feng, Bob C (60):
>       BaseTools: refine CreateAsBuiltInf function
>       BaseTools: Move Build Cache related function out of CreateAsBuiltInf
>       BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c
>       BaseTools: Detect the change of env variable used in tooldef.txt
>       BaseTools: Fixed the issue when ToolDefinitionFile is not generated
>       BaseTools: Create ".cache" folder when initialize Build object
>       BaseTools: Fixed the mis-using strip() function issue.
>       BaseTools: Sort file list in Makefile
>       BaseTools:Updata the output encoding of the Popen function
>       BaseTools: Fixed a typo in Trim.py
>       BaseTools: Singleton the object to handle build conf file
>       BaseTools: Split WorkspaceAutoGen._InitWorker into multiple functions
>       BaseTools: Add functions to get platform scope build options
>       BaseTools: Decouple AutoGen Objects
>       BaseTools: Enable Multiple Process AutoGen
>       BaseTools: Add shared data for processes
>       BaseTools: Add LogAgent to support multiple process Autogen
>       BaseTools: Move BuildOption parser out of build.py
>       BaseTools: Add the support for python 2
>       BaseTools: Enable block queue log agent.
>       BaseTools: Fixed an issue that build raise exception
>       BaseTools: Fix incremental build bug
>       BaseTools: Add "-" in a re to parse line in .map file
>       BaseTools: Move buildoptions.py to Common folder
>       BaseTools: Fixed issue of incorrect Module Unique Name
>       BaseTools: Fix incremental build genmake issue
>       BaseTools: Incorrect error message for library instance not found
>       BaseTools: fix an incremental build issue.
>       BaseTools: Fixed regression issue for building !x86 builds
>       BaseTools: Fix a bug for Hii Pcd override
>       BaseTools: Fixed build clean regression issue
>       BaseTools: Fixed issue for IgnoreAutoGen
>       BaseTools: Sort Pcd settings to make PcdTokenNumber be fixed
>       BaseTools: Fixed the bug of multi-thread genffs for override inf
>       BaseTools: Fixed the build fail on Linux with --genfds-multi-thread
>       BaseTools: Enable --genfds-multi-thread to default build
>       BaseTools: Fixed a bug of IgnoreAutoGen
>       BaseTools: Improve GetDependencyList function
>       BaseTools: remove unnecessary calls of os.exist
>       BaseTools:Remove the unnecessary operation of renaming a file.
>       BaseTools: init DependencyHeaderFileSet for each MakeFile class
>       BaseTools: Fix the lib order in static_library_files.lst
>       BaseTools: Fix a bug of genffs command generation
>       BaseTools: Enable MACRO for DSC Components section tag
>       BaseTools: Add build option for dependency file generation
>       BaseTools: Generate dependent files for ASL and ASM files
>       BaseTools: Update build_rule.txt to generate dependent files.
>       BaseTools: Enhance Basetool for incremental build
>       BaseTools: Fix build failure when multiple build targets given
>       BaseTools: Resolve a issue of Incremental build
>       BaseTools: Fixed a incremental build bug
>       BaseTools: Fixed a Incremental build issue
>       BaseTools: Remove invalid leading space before !INCLUDE in Makefile
>       OvmfPkg/LinuxInitrdDynamicShellCommand: Cast UNIT64 to UNITN in assignment
>       BaseTools: Warn user the file not found issue instead of break build.
>       BaseTools: Remove the file timestamp checking during parsing
>       Revert "BaseTools: Add gcc flag to warn on void* pointer arithmetic"
>       BaseTools: Improve the method of checking queue empty
>       BaseTools: Move CreateAsBuiltInf into AutoGenWorker for parallel
>       BaseTools/Ecc: Fix an issue of path separator compatibility
>
> Feng, YunhuaX (2):
>       BaseTools: Fix parse PCD GUID expression issue
>       BaseTools: Fix binary file not generate map file issue
>
> Gary Lin (14):
>       OvmfPkg/README: Update the network build flags
>       OvmfPkg: use DxeTpmMeasurementLib if and only if TPM2_ENABLE
>       OvmfPkg/OvmfPkg.dec: Adjust PcdMptScsiStallPerPollUsec token value
>       OvmfPkg/LsiScsiDxe: Create the empty driver
>       OvmfPkg/LsiScsiDxe: Install the skeleton of driver binding
>       OvmfPkg/LsiScsiDxe: Report the name of the driver
>       OvmfPkg/LsiScsiDxe: Probe PCI devices and look for LsiScsi
>       OvmfPkg/LsiScsiDxe: Install stubbed EXT_SCSI_PASS_THRU
>       OvmfPkg/LsiScsiDxe: Report Targets and LUNs
>       OvmfPkg/LsiScsiDxe: Open PciIo protocol and initialize the device
>       OvmfPkg/LsiScsiDxe: Map DMA buffer
>       OvmfPkg/LsiScsiDxe: Examine the incoming SCSI Request Packet
>       OvmfPkg/LsiScsiDxe: Process the SCSI Request Packet
>       Maintainers.txt: Add Gary Lin as the reviewer for LsiScsi driver
>
> Gary West (1):
>       CryptoPkg/BaseCryptLib: Wrap OpenSSL HKDF algorithm
>
> Gaurav Jain (3):
>       MdeModulePkg/Pci: Fixed Asserts in SCT PCIIO Protocol Test.
>       EmbeddedPkg/RealTimeClockRuntimeDxe: Drop ASSERTs on function arguments
>       EmbeddedPkg/MmcDxe: Added MaxBlock Transfer Limit 65535 in R/W.
>
> GregX Yeh (1):
>       MdeModulePkg/Setup: Check ConfigAccess protocol in case it's destroyed
>
> Gris87 (1):
>       MdeModulePkg: Add missing sourceX for Blt
>
> Guo Dong (4):
>       UefiPayloadPkg: Remove legacy PIC 8259 driver
>       UefiPayloadPkg/BootManager: Add PS2 keyboard support
>       UefiPayloadPkg:Fix NOOPT build failure
>       UefiPayloadPkg: Fix TerminalDxe build time configurable
>
> Guomin Jiang (31):
>       FmpDevicePkg/FmpDxe: Issues reported by ECC in EDK2.
>       MdeModulePkg: Issues reported by ECC in EDK2.
>       SecurityPkg: Issues reported by ECC in EDK2.
>       MdeModulePkg/SdDxe: Check the Token to avoid null pointer
>       MdePkg/UnitTestBaseLib: Add check for pointer BinData
>       UnitTestFrameworkPkg/UnitTestLib: Check Suite pointer before use.
>       UnitTestFrameworkPkg/ResultReportLib: Remove invalid index string indicator
>       UefiCpuPkg/MpInitLib: Add out attribute for parameter.
>       MdeModulePkg: Remove gEfiFormBrowserExProtocolGuid Protocol Guid
>       CryptoPkg/BaseCryptLibOnProtocolPpi: Add missing comments
>       CryptoPkg/BaseHashApiLib: Rename BaseHashApiLib by HashApiLib
>       MdeModulePkg/SmiHandlerProfileInfo: Overflowed Array Index
>       EmulatorPkg/WinHost: Add link flags for VS2019 tool chains.
>       EmulatorPkg: Add MagicPageLib header file declaration.
>       SecurityPkg/TPM: measure UEFI images without associated device paths again
>       SecurityPkg/DxeImageAuth: Mark the File parameter as OPTIONAL
>       SecurityPkg/DxeImageVerificationLib: Mark the File parameter as OPTIONAL
>       MdeModulePkg/SecurityManagementLib: Mark the File parameter as OPTIONAL
>       MdeModulePkg/SecurityStubDxe: Mark the File parameter as OPTIONAL
>       MdePkg/Security2: Mark the File parameter as OPTIONAL.
>       UnitTestFrameworkPkg/PersistenceLib: Correct the allocated size.
>       CryptoPkg/Pkcs7: Extend support for other OID types
>       BaseTools/Scripts: Ignore the CRLF check when upgrade submodule.
>       CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g
>       MdeModulePkg: Add new PCD to control the evacuate temporary memory feature (CVE-2019-11098)
>       MdeModulePkg/Core: Create Migrated FV Info Hob for calculating hash (CVE-2019-11098)
>       SecurityPkg/Tcg2Pei: Use Migrated FV Info Hob for calculating hash (CVE-2019-11098)
>       UefiCpuPkg/CpuMpPei: Enable paging and set NP flag to avoid TOCTOU (CVE-2019-11098)
>       UefiCpuPkg: Correct some typos.
>       SecurityPkg/TcgPei: Use Migrated FV Info Hob for calculating hash (CVE-2019-11098)
>       Maintainers.txt: Add "Guomin Jiang" as reviewer for Crypto and Capsule
>
> Hao A Wu (36):
>       OvmfPkg: Drop build flag USE_LEGACY_ISA_STACK and legacy ISA stack
>       Maintainers.txt: Add maintainer for CSM components in OvmfPkg
>       OvmfPkg: Copy the required CSM components from framework packages
>       OvmfPkg/OvmfPkg.dec: Add definitions for CSM-related Guid & Protocol
>       OvmfPkg/OvmfPkg.dec: Add the new include folder for CSM header files
>       OvmfPkg/OvmfPkg.dec: Add PCD definitions used by copied CSM modules
>       OvmfPkg/Csm/VideoDxe: Update to make it build for OVMF
>       OvmfPkg/Csm/LegacyBiosDxe: Update to make it build for OVMF
>       OvmfPkg/Csm/LegacyBootMaintUiLib: Update to make it build for OVMF
>       OvmfPkg/Csm/LegacyBootManagerLib: Update to make it build for OVMF
>       OvmfPkg: Update DSC/FDF files to consume CSM components in OvmfPkg
>       OvmfPkg/PlatformPei: Remove redundant reference of framework pkg DEC
>       OvmfPkg/IncompatiblePciDeviceSupportDxe: Drop framework pkg dependency
>       OvmfPkg/Csm/CsmSupportLib: Drop IntelFrameworkPkg dependency
>       OvmfPkg: Refer to Shell app via its declared GUID
>       PcAtChipsetPkg: Remove framework modules
>       EmulatorPkg/MiscSubClassPlatformDxe: Remove this unused module
>       Remove IntelFrameworkModulePkg
>       Remove IntelFrameworkPkg
>       Maintainers.txt: Remove information for IntelFramework[Module]Pkg
>       Maintainers.txt: Drop deprecated SourceForge SVN link
>       Maintainers.txt: Fine-grained review ownership for MdeModulePkg
>       UefiCpuPkg/MpInitLib: Collect processors' CPUID & Platform ID info
>       UefiCpuPkg/MpInitLib: Reduce the size when loading microcode patches
>       UefiCpuPkg: Add definitions for EDKII microcode patch HOB
>       UefiCpuPkg/MpInitLib: Produce EDKII microcode patch HOB
>       UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA
>       UefiCpuPkg/MpInitLib: Remove redundant microcode fields in CPU_MP_DATA
>       UefiCpuPkg/MpInitLib: Fix possible uninitialized 'InitFlag' field
>       UefiCpuPkg/MpInitLib: Always get CPUID & PlatformID in MicrocodeDetect()
>       MdeModulePkg/PiDxeS3BootScriptLib: Fix potential numeric truncation (CVE-2019-14563)
>       Revert UefiCpuPkg/MpInitLib: Relocate microcode patch fields in CPU_MP_DATA
>       UefiCpuPkg/MpInitLib: Not pass microcode info between archs in CPU_MP_DATA
>       MdeModulePkg/SdMmcPciHcDxe: Fix double PciIo Unmap in TRB creation (CVE-2019-14587)
>       UefiCpuPkg/MpInitLib DXE: Add PCD to control AP status check interval
>       UefiCpuPkg/MpInitLib: Add missing explicit PcdLib dependency
>
> Heinrich Schuchardt (3):
>       ShellPkg/CommandLib: avoid NULL derefence and memory leak
>       ShellPkg/edit: typo "%d Lines Wrote"
>       MdeModulePkg: Make retval in UninstallMultipleProtocol follow Spec
>
> Heng Luo (1):
>       MdeModulePkg: Perform test only if not ignore memory test
>
> Heyi Guo (1):
>       ArmPkg/ArmExceptionLib: use static buffer for sp_el0
>
> Huang, Qing (1):
>       MdePkg-UefiSpec.h: Add UEFI 2.8 new memory attributes
>
> Igor Druzhinin (1):
>       OvmfPkg: End timer interrupt later to avoid stack overflow under load
>
> Imran Desai (9):
>       MdePkg/Protocol/Hash: introduce GUID for SM3
>       SecurityPkg: introduce the SM3 digest algorithm
>       SecurityPkg/HashLibBaseCryptoRouter: recognize the SM3 digest algorithm
>       SecurityPkg: set SM3 bit in TPM 2.0 hash mask by default
>       OvmfPkg: link SM3 support into Tcg2Pei and Tcg2Dxe
>       SecurityPkg: introduce the SM3 digest algorithm
>       SecurityPkg/HashLibBaseCryptoRouter: recognize the SM3 digest algorithm
>       SecurityPkg: set SM3 bit in TPM 2.0 hash mask by default
>       OvmfPkg: link SM3 support into Tcg2Pei and Tcg2Dxe
>
> Irene Park (2):
>       BaseTools/build.py: Exit with 1 when AutoGen error occurred
>       ArmPlatformPkg/PL011UartLib: Check PID2 if FiFoDepth is zero
>
> Jaben Carsey (1):
>       Maintainers.txt update for ShellPkg
>
> Jason Voelz (2):
>       MdePkg BaseLib.h: Update IA32_CR4 strut to include all public fields
>       UefiCpuPkg/CpuCommonFeaturesLib: SMXE bit of CR4 should set
>
> Javeed, Ashraf (5):
>       PciBusDxe: duplicate node insertion for every PPB device in the system
>       MdePkg/PciExpress21.h: Fix the PCI industry standard register defines
>       MdePkg/PciExpress40.h: DVSEC definition missing
>       MdePkg/Include/IndustryStandard: CXL 1.1 Registers
>       MdePkg/Include/IndustryStandard: Main CXL header
>
> Jayanth Raghuram (1):
>       MdePkg/DxeHstiLib: Added checks to improve error handling.
>
> Jeff Brasen (2):
>       ArmPlatformPkg/Ds5: Increase path length to 400
>       MdeModulePkg/DxeCorePerformanceLib: Switch to UnicodeStrnToAsciiStrS
>
> Jessica Clarke (1):
>       MdePkg Base.h: Delete prototype for __builtin_return_address
>
> Jian J Wang (25):
>       SecurityPkg: add definitions for OBB verification
>       SecurityPkg/FvReportPei: implement a common FV verifier and reporter
>       SecurityPkg: add FvReportPei.inf in dsc for build validation
>       Readme.md: add submodule policy and clone commands
>       CryptoPkg/OpensslLib: remove clone commands
>       SecurityPkg/SecurityPkg.uni: Add missing strings for new PCDs
>       Maintainers.txt: Unify one maintainer name
>       MdeModulePkg/DxeIplPeim: reserve page 0 for NULL pointer detection
>       MdeModulePkg/Core/Dxe: free page 0 after disabling NULL pointer detection
>       MdePkg: add null version of RngLib
>       CryptoPkg/BaseCryptLib: replace HmacXxxInit API with HmacXxxSetKey
>       CryptoPkg/BaseCryptLib: remove HmacXxxGetContextSize interface
>       SecurityPkg/DxeImageVerificationLib: Fix memory leaks (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: reject CertStack.CertNumber==0 per DBX (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: fix wrong fetch dbx in IsAllowedByDb (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: avoid bypass in fetching dbx (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: refactor db/dbx fetching code (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: Differentiate error/search result (1) (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: tighten default result (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: Differentiate error/search result (2) (CVE-2019-14575)
>       SecurityPkg/DxeImageVerificationLib: change IsCertHashFoundInDatabase name (CVE-2019-14575)
>       SecurityPkg: add RpmcLib and VariableKeyLib public headers
>       SecurityPkg: add null version of RpmcLib
>       SecurityPkg: add null version of VariableKeyLib
>       Maintainers.txt: Remove invalid email address and a few other role changes
>
> Jiaxin Wu (6):
>       MdePkg/Include/Protocol/Tls.h: Add the data type of EfiTlsVerifyHost (CVE-2019-14553)
>       CryptoPkg/TlsLib: Add the new API "TlsSetVerifyHost" (CVE-2019-14553)
>       NetworkPkg/TlsDxe: Add the support of host validation to TlsDxe driver (CVE-2019-14553)
>       NetworkPkg/HttpDxe: Set the HostName for the verification (CVE-2019-14553)
>       Maintainers.txt: Change NetworkPkg maintainer role.
>       NetworkPkg/Ip4Dxe: Check the received package length (CVE-2019-14559).
>
> Jiewen Yao (29):
>       BaseTools: Add HOST_APPLICATION module type.
>       MdePkg/Include: correct Lasa in Tpm2Acpi.
>       SecurityPkg/dsc: Add PCD for Laml, Lasa for TPM2.
>       SecurityPkg/Tcg2: Add Support Laml, Lasa for TPM2 ACPI.
>       MdePkg/Include: Add DMTF SPDM definition.
>       MdeModulePkg/Include: Add DeviceSecurity.h
>       MdeModulePkg/dec: Add EdkiiDeviceSecurityProtocolGuid.
>       MdeModulePkg/Pci: Add DeviceSecurity support.
>       SecurityPkg/Tcg2Smm: Measure the table before patch.
>       MdePkg/Spdm: fix Nonce structure error.
>       MdePkg/Tcg: Add new definition in TCG PFP spec.
>       SecurityPkg/Guid: Add TCG 800-155 event GUID definition.
>       SecurityPkg/Tcg2Dxe: Add Tcg2Dxe to support 800-155 event.
>       MdeModulePkg/Smbios: Done measure Smbios multiple times.
>       MdeModulePkg/dec: add PcdTcgPfpMeasurementRevision PCD
>       MdeModulePkg/Smbios: Add TCG PFP rev 105 support.
>       SecurityPkg/Tcg2Pei: Add TCG PFP 105 support.
>       SecurityPkg/Tcg2Dxe: Add PcdTcgPfpMeasurementRevision in SpecId event.
>       SecurityPkg/Tcg2Pei: Add missing PCRIndex in FvBlob event.
>       SecurityPkg/TcgPpi: Add TcgPpi header file.
>       SecurityPkg/dec: Add TcgPpi.
>       SecurityPkg/Tcg: Add TcgPpi
>       SecurityPkg/Tcg2: Add TcgPpi
>       SecurityPkg/PeiTpmMeasurementLib: Add PEI instance.
>       SecurityPkg/dsc: Add PeiTpmMeasurementLib.
>       IntelFsp2WrapperPkg/FspMeasurementLib: Add header file.
>       IntelFsp2WrapperPkg/FspMeasurementLib: Add BaseFspMeasurementLib.
>       IntelFsp2WraperPkg/Fsp{m|s}WrapperPeim: Add FspBin measurement.
>       IntelFsp2Wrapper/dsc: Add FspTpmMeasurementLib and PcdFspMeasurementConfig.
>
> John E Lofgren (1):
>       UefiCpuPkg/CpuExceptionHandlerLib: Fix split lock
>
> Jonathan Watt (1):
>       ShellPkg/UefiShellBcfgCommandLib: Fix '-opt' option
>
> Jordan Justen (2):
>       EmulatorPkg/build.sh: Fix missing usage of -b BUILDTARGET parameter
>       EmulatorPkg/Unix: Convert timezone from seconds to minutes
>
> Julien Grall (1):
>       Maintainers.txt: Update my e-mail address
>
> Keysound Chang (1):
>       NetworkPkg/TlsAuthConfigDxe: Use HiiPopUp() instead of CreatePopUp()
>
> Kirkendall, Garrett (4):
>       PcAtChipsetPkg: PcAtChipsetPkg.dsc add UefiCpuLib LibraryClass
>       SourceLevelDebugPkg: SourceLevelDebugPkg.dsc add UefiCpuLib LibraryClass
>       UefiCpuPkg: Move StandardSignatureIsAuthenticAMD to BaseUefiCpuLib
>       UefiCpuPkg: PiSmmCpuDxeSmm skip MSR_IA32_MISC_ENABLE manipulation on AMD
>
> KrishnadasX Veliyathuparambil Prakashan (1):
>       MdeModulePkg: Upon BootOption failure, Destroy RamDisk memory before RSC.
>
> Krzysztof Koch (56):
>       DynamicTablesPkg: Add frame number validation to GTDT generator
>       DynamicTablesPkg: Add code for finding duplicate values in arrays
>       DynamicTablesPkg: Test for duplicate UIDs in MADT generator
>       DynamicTablesPkg: Test for duplicate GT Block frame numbers
>       DynamicTablesPkg: Add ACPI 6.3 SPE support to MADT generator
>       DynamicTablesPkg: Add dynamic PPTT table generation support
>       ShellPkg: acpiview: ACPI 6.3 update for MADT parser
>       MdePkg: Add Generic Initiator Affinity Structure definitions to SRAT
>       ShellPkg: acpiview: Improve PPTT table field validation
>       ShellPkg: acpiview: Remove '/?' from valid command line flags
>       ShellPkg: acpiview: Fix '\n\n' printing in Table Checksum reporting
>       ShellPkg: acpiview: Make DBG2 output consistent with other tables
>       ShellPkg: acpiview: Allow disabling consistency checks (-q flag)
>       ShellPkg: acpiview: Remove redundant IORT node types enum
>       ShellPkg: acpiview: Remove '-v' flag from allowed command line args
>       ShellPkg: acpiview: Remove duplicate indentation in IORT parser
>       ShellPkg: acpiview: Make '-h' option not require a parameter
>       ShellPkg: acpiview: RSDP: Remove redundant forward declarations
>       ShellPkg: acpiview: FADT: Remove redundant forward declarations
>       ShellPkg: acpiview: SPCR: Remove redundant forward declaration
>       ShellPkg: acpiview: SRAT: Remove redundant forward declarations
>       ShellPkg: acpiview: MADT: Remove redundant forward declarations
>       ShellPkg: acpiview: IORT: Remove redundant forward declarations
>       ShellPkg: acpiview: GTDT: Remove redundant forward declarations
>       ShellPkg: acpiview: DBG2: Remove redundant forward declarations
>       ShellPkg: acpiview: Allow passing buffer length to DumpGasStruct()
>       ShellPkg: acpiview: XSDT: Remove redundant ParseAcpi() call
>       ShellPkg: acpiview: RSDP: Make code consistent with other parsers
>       ShellPkg: acpiview: SRAT: Minor code style enhancements
>       ShellPkg: acpiview: MADT: Split structure length validation
>       ShellPkg: acpiview: IORT: Refactor PMCG node mapping count validation
>       ShellPkg: acpiview: DBG2: Prevent buffer overruns
>       ShellPkg: acpiview: GTDT: Prevent buffer overruns
>       ShellPkg: acpiview: IORT: Prevent buffer overruns
>       ShellPkg: acpiview: MADT: Prevent buffer overruns
>       ShellPkg: acpiview: PPTT: Prevent buffer overruns
>       ShellPkg: acpiview: SRAT: Prevent buffer overruns
>       ShellPkg: acpiview: Update SRAT parser to ACPI 6.3
>       ShellPkg: acpiview: Set ItemPtr to NULL for unprocessed table fields
>       ShellPkg: acpiview: RSDP: Validate global pointer before use
>       ShellPkg: acpiview: FADT: Validate global pointer before use
>       ShellPkg: acpiview: SLIT: Validate global pointer before use
>       ShellPkg: acpiview: SLIT: Validate System Locality count
>       ShellPkg: acpiview: SRAT: Validate global pointers before use
>       ShellPkg: acpiview: MADT: Validate global pointers before use
>       ShellPkg: acpiview: PPTT: Validate global pointers before use
>       ShellPkg: acpiview: IORT: Validate global pointers before use
>       ShellPkg: acpiview: GTDT: Validate global pointers before use
>       ShellPkg: acpiview: DBG2: Validate global pointers before use
>       MdePkg: Add PCCT table signature definition
>       ShellPkg: acpiview: Remove duplicate ACPI structure size definitions
>       ShellPkg: acpiview: Validate ACPI table 'Length' field
>       ShellPkg: acpiview: Prevent infinite loop if structure length is 0
>       ShellPkg: acpiview: Add -r parameter for table requirements validation
>       ShellPkg: acpiview: Add library for SBBR ACPI requirements validation
>       ShellPkg: acpiview: Check if SBBR mandatory ACPI tables are installed
>
> Kun Qin (2):
>       UnitTestFrameworkPkg/UnitTestLib: Correct dereferred pointer
>       FmpDevicePkg/FmpDxe: Fix uninitialized pointer dereference
>
> Laszlo Ersek (164):
>       MdeModulePkg/PciBusDxe: catch unimplemented extended config space reads
>       ArmVirtPkg: handle NETWORK_TLS_ENABLE in ArmVirtQemu*
>       Revert "OvmfPkg: link SM3 support into Tcg2Pei and Tcg2Dxe"
>       Revert "SecurityPkg: set SM3 bit in TPM 2.0 hash mask by default"
>       Revert "SecurityPkg/HashLibBaseCryptoRouter: recognize the SM3 digest algorithm"
>       Revert "SecurityPkg: introduce the SM3 digest algorithm"
>       Revert "MdePkg/Protocol/Hash: introduce GUID for SM3"
>       MdePkg/BaseLib: re-specify Base64Decode(), and add temporary stub impl
>       MdePkg/BaseLib: rewrite Base64Decode()
>       MdePkg/BaseLib: Base64Decode(): don't declare variables in nested blocks
>       Maintainers.txt: split out section "ArmVirtPkg: modules used on Xen"
>       Maintainers.txt: split out section "OvmfPkg: Xen-related modules"
>       Maintainers.txt: split out section "OvmfPkg: TCG- and TPM2-related modules"
>       Maintainers.txt: split out section "OvmfPkg: CSM modules"
>       ArmPkg: list module-internal header files in INF [Sources]
>       ArmPlatformPkg: list module-internal header files in INF [Sources]
>       CryptoPkg/BaseCryptLib: list module-internal header files in INF [Sources]
>       EmbeddedPkg: list module-internal header files in INF [Sources]
>       Revert "UefiCpuPkg/PiSmmCpu: Allow SMM access-out when static paging is OFF"
>       ArmVirtPkg/PlatformBootManagerLib: unload image on EFI_SECURITY_VIOLATION
>       OvmfPkg/EnrollDefaultKeys: clean up Base64Decode() retval handling
>       EmbeddedPkg: add missing EFIAPI calling convention specifiers
>       EmbeddedPkg/AndroidFastbootTransportTcpDxe: fix DestroyChild() call
>       EmbeddedPkg/Universal/MmcDxe: "fix" CloseProtocol() call in BindingStop()
>       EmulatorPkg/DxeTimerLib: drop superfluous cast
>       EmulatorPkg: stop abusing EFI_HANDLE for keystroke notify registration
>       MdeModulePkg: fix cast in GetModuleInfoFromHandle() calls
>       MdeModulePkg/UefiHiiLib: stop using EFI_HANDLE in place of EFI_HII_HANDLE
>       MdeModulePkg: stop abusing EFI_EVENT for protocol notify registration
>       MdeModulePkg/PlatformVarCleanupLib: fix HiiConstructConfigHdr() call
>       MdeModulePkg: document workaround for EFI_RUNTIME_EVENT_ENTRY PI spec bug
>       MdeModulePkg: stop abusing EFI_HANDLE for keystroke notify registration
>       MdeModulePkg: PEI Core: clean up "AprioriFile" handling in FindFileEx()
>       MdeModulePkg: fix UninstallMultipleProtocolInterfaces() calls
>       MdeModulePkg/PiSmmCore: make type punning consistent
>       MdeModulePkg/S3SaveState: cast Position for S3BootScriptLib explicitly
>       MdePkg/DxeServicesLib: remove bogus cast
>       NetworkPkg/DxeNetLib: fix type typo in NetLibGetMacAddress()
>       NetworkPkg: fix CloseProtocol & UninstallMultipleProtocolInterfaces calls
>       NetworkPkg/Ip4Dxe: fix NetLibDestroyServiceChild() call
>       NetworkPkg/TcpDxe: fix SockFreeFoo() parameter list
>       OvmfPkg/XenBusDxe: fix UninstallMultipleProtocolInterfaces() call
>       OvmfPkg/VirtioNetDxe: fix SignalEvent() call
>       OvmfPkg/PlatformDxe: fix EFI_HII_HANDLE parameters of internal functions
>       SecurityPkg: fix UninstallMultipleProtocolInterfaces() calls
>       SecurityPkg: stop abusing EFI_EVENT for protocol notify registration
>       ShellPkg/UefiShellDriver1CommandsLib: fix parameter list typo
>       ShellPkg: stop using EFI_HANDLE in place of EFI_HII_HANDLE
>       ShellPkg: stop taking EFI_HANDLE in place of SHELL_FILE_HANDLE
>       ShellPkg/UefiShellDebug1CommandsLib: fix ShellCloseFile() call
>       ShellPkg/UefiShellLib: clarify workaround for unfixable EdkShell bug
>       StandaloneMmPkg/Core: stop abusing EFI_HANDLE for FwVolHeader tracking
>       UefiPayloadPkg/BlSupportPei: fix MMCONFIG assignment from XSDT
>       UefiPayloadPkg/BlSupportDxe: fix ReserveResourceInGcd() calls
>       UefiCpuPkg/MpInitLib: expand comment on initial AP enumeration
>       UefiCpuPkg/MpInitLib: honor the platform's boot CPU count in AP detection
>       MdeModulePkg/BdsDxe: Fix calling PlatformBootManagerWaitCallback on 0
>       CryptoPkg/Crt: turn strchr() into a function (CVE-2019-14553)
>       CryptoPkg/Crt: satisfy "inet_pton.c" dependencies (CVE-2019-14553)
>       CryptoPkg/Crt: import "inet_pton.c" (CVE-2019-14553)
>       CryptoPkg/TlsLib: TlsSetVerifyHost: parse IP address literals as such (CVE-2019-14553)
>       MdeModulePkg/VariableSmmRuntimeDxe.inf: list local header "Variable.h"
>       CryptoPkg/OpensslLib: improve INF file consistency
>       CryptoPkg/OpensslLib.inf: list OpenSSL local header "ms/uplink.h"
>       MdeModulePkg/UefiBootManagerLib: log reserved mem allocation failure
>       NetworkPkg/HttpDxe: fix 32-bit truncation in HTTPS download
>       UefiCpuPkg/PiSmmCpuDxeSmm: fix 2M->4K page splitting regression for PDEs
>       OvmfPkg/OvmfXen.dsc: remove PcdCpu* dynamic defaults
>       OvmfPkg/IndustryStandard: define macros for QEMU's CPU hotplug registers
>       OvmfPkg/PlatformPei: rewrite MaxCpuCountInitialization() for CPU hotplug
>       SecurityPkg/DxeImageVerificationHandler: simplify "VerifyStatus"
>       SecurityPkg/DxeImageVerificationHandler: remove "else" after return/break
>       SecurityPkg/DxeImageVerificationHandler: keep PE/COFF info status internal
>       SecurityPkg/DxeImageVerificationHandler: narrow down PE/COFF hash status
>       SecurityPkg/DxeImageVerificationHandler: fix retval on memalloc failure
>       SecurityPkg/DxeImageVerificationHandler: remove superfluous Status setting
>       SecurityPkg/DxeImageVerificationHandler: unnest AddImageExeInfo() call
>       SecurityPkg/DxeImageVerificationHandler: eliminate "Status" variable
>       SecurityPkg/DxeImageVerificationHandler: fix retval for (FileBuffer==NULL)
>       SecurityPkg/DxeImageVerificationHandler: fix imgexec info on memalloc fail
>       SecurityPkg/DxeImageVerificationHandler: fix "defer" vs. "deny" policies
>       BaseTools/Conf/gitattributes: fix "--function-context" for C source code
>       OvmfPkg: introduce PcdQ35SmramAtDefaultSmbase
>       OvmfPkg/IndustryStandard: increase vertical whitespace in Q35 macro defs
>       OvmfPkg/IndustryStandard: add MCH_DEFAULT_SMBASE* register macros
>       OvmfPkg/PlatformPei: factor out Q35BoardVerification()
>       OvmfPkg/PlatformPei: detect SMRAM at default SMBASE (skeleton)
>       OvmfPkg/PlatformPei: assert there's no permanent PEI RAM at default SMBASE
>       OvmfPkg/PlatformPei: reserve the SMRAM at the default SMBASE, if it exists
>       OvmfPkg/SEV: don't manage the lifecycle of the SMRAM at the default SMBASE
>       OvmfPkg/SmmAccess: close and lock SMRAM at default SMBASE
>       OvmfPkg: introduce PcdCsmEnable feature flag
>       OvmfPkg/PlatformPei: detect SMRAM at default SMBASE (for real)
>       SecurityPkg/DxeImageVerificationLib: plug Data leak in IsForbiddenByDbx() (CVE-2019-14575)
>       OvmfPkg/QemuVideoDxe: unbreak "secondary-vga" and "bochs-display" support
>       MdeModulePkg/PiSmmCore: log SMM image start failure
>       UefiCpuPkg/PiSmmCpuDxeSmm: fix S3 Resume for CPU hotplug
>       OvmfPkg: clone SmmCpuPlatformHookLib from UefiCpuPkg
>       OvmfPkg: enable SMM Monarch Election in PiSmmCpuDxeSmm
>       OvmfPkg: enable CPU hotplug support in PiSmmCpuDxeSmm
>       OvmfPkg/CpuHotplugSmm: introduce skeleton for CPU Hotplug SMM driver
>       OvmfPkg/CpuHotplugSmm: add hotplug register block helper functions
>       OvmfPkg/CpuHotplugSmm: define the QEMU_CPUHP_CMD_GET_ARCH_ID macro
>       OvmfPkg/CpuHotplugSmm: add function for collecting CPUs with events
>       OvmfPkg/CpuHotplugSmm: collect CPUs with events
>       OvmfPkg/CpuHotplugSmm: introduce Post-SMM Pen for hot-added CPUs
>       OvmfPkg/CpuHotplugSmm: introduce First SMI Handler for hot-added CPUs
>       OvmfPkg/CpuHotplugSmm: complete root MMI handler for CPU hotplug
>       OvmfPkg: clone CpuS3DataDxe from UefiCpuPkg
>       OvmfPkg/CpuS3DataDxe: superficial cleanups
>       OvmfPkg/CpuS3DataDxe: enable S3 resume after CPU hotplug
>       ArmPkg: convert LFs to CRLF, expand hard TABs
>       ArmVirtPkg: convert LFs to CRLF
>       ArmPlatformPkg: convert LFs to CRLF, expand hard TABs
>       OvmfPkg/PlatformBootManagerLib: sync Timeout with PcdPlatformBootTimeOut
>       ArmVirtPkg/PlatformBootManagerLib: sync Timeout with PcdPlatformBootTimeOut
>       OvmfPkg/X86QemuLoadImageLib: fix "unused variable" error in X64 DXE builds
>       OvmfPkg: raise DXEFV size to 12 MB
>       OvmfPkg/QemuFlashFvbServicesRuntimeDxe: drop unused PCDs
>       OvmfPkg/QemuFlashFvbServices: factor out SetPcdFlashNvStorageBaseAddresses
>       OvmfPkg: set fixed FlashNvStorage base addresses with -D SMM_REQUIRE
>       OvmfPkg: include FaultTolerantWritePei and VariablePei with -D SMM_REQUIRE
>       OvmfPkg: improve SMM comms security with adaptive MemoryTypeInformation
>       OvmfPkg/PlatformPei: explain EFI_MEMORY_TYPE_INFORMATION page counts
>       OvmfPkg: give more telling names to some FDF include files
>       NetworkPkg/UefiPxeBcDxe: handle competing DHCP servers (more) gracefully
>       OvmfPkg: supply missing lib class declarations in the DEC file
>       MdeModulePkg/NonDiscoverablePciDeviceDxe: use standard PCI_MAX_BAR macro
>       OvmfPkg/ResetSystemLib: wrap long lines
>       OvmfPkg/ResetSystemLib: clean up library dependencies
>       OvmfPkg/ResetSystemLib: improve coding style in ResetSystem()
>       OvmfPkg/ResetSystemLib: factor out ResetShutdown()
>       OvmfPkg/ResetSystemLib: rename to BaseResetSystemLib
>       OvmfPkg/ResetSystemLib: introduce the DxeResetSystemLib instance
>       OvmfPkg: introduce QemuFwCfgSimpleParserLib
>       OvmfPkg/PlatformPei: parse "X-PciMmio64Mb" with QemuFwCfgSimpleParserLib
>       OvmfPkg/PlatformPei: use QemuFwCfgParseBool in UPDATE_BOOLEAN_PCD_FROM_...
>       OvmfPkg/QemuFwCfgDxeLib: allow UEFI_DRIVER modules
>       OvmfPkg: control PXEv4 / PXEv6 boot support from the QEMU command line
>       ArmVirtPkg/QemuFwCfgLib: allow UEFI_DRIVER modules
>       ArmVirtPkg: control PXEv4 / PXEv6 boot support from the QEMU command line
>       OvmfPkg/PlatformPei: don't track BS Code/Data in default MemTypeInfo HOB
>       OvmfPkg/PlatformPei: rewrite MemTypeInfo HOB production logic
>       OvmfPkg/PlatformPei: extract memory type info defaults to PCDs
>       OvmfPkg/PlatformPei: increase memory type info defaults
>       OvmfPkg/Tcg2ConfigPei: clean up some lib class dependencies
>       OvmfPkg/Tcg2ConfigPei: factor out InternalTpm12Detect()
>       OvmfPkg/Tcg2ConfigPei: skip TPM-1.2 detection when building for ARM/AARCH64
>       Maintainers.txt: retitle "MdeModulePkg: ACPI S3 modules"
>       Maintainers.txt: restore order of OvmfPkg sections
>       Maintainers.txt: move StandaloneMmPkg to the right spot
>       OvmfPkg/Tcg2ConfigPei: generalize TPM2-only file-top comments
>       OvmfPkg/Tcg2ConfigPei: restrict BaseLib class dependency to IA32 and X64
>       OvmfPkg/X86QemuLoadImageLib: handle EFI_ACCESS_DENIED from LoadImage()
>       OvmfPkg/GenericQemuLoadImageLib: log "Not Found" at INFO level
>       Revert "OvmfPkg: use generic QEMU image loader for secure boot enabled ..."
>       UefiCpuPkg/PiSmmCpuDxeSmm: pause in WaitForSemaphore() before re-fetch
>       OvmfPkg: fix DEC spec violation introduced by Bhyve addition
>       OvmfPkg/SmmControl2Dxe: negotiate ICH9_LPC_SMI_F_CPU_HOTPLUG
>       OvmfPkg/CpuHotplugSmm: fix CPU hotplug race just before SMI broadcast
>       OvmfPkg/CpuHotplugSmm: fix CPU hotplug race just after SMI broadcast
>       SecurityPkg/DxeImageVerificationLib: extract SecDataDirEnd, SecDataDirLeft
>       SecurityPkg/DxeImageVerificationLib: assign WinCertificate after size check
>       SecurityPkg/DxeImageVerificationLib: catch alignment overflow (CVE-2019-14562)
>
> Leendert van Doorn (1):
>       ArmVirtPkg: Include NVMe support in ArmVirtQemu*
>
> Leif Lindholm (38):
>       BaseTools: add centralized location for git config files
>       BaseTools: add script to configure local git options
>       ArmPlatformPkg: use UINT32 epoch second counter
>       EmbeddedPkg: improve TimeBaseLib type safety
>       Maintainers.txt: add Leif Lindholm as Package Reviewer of ArmVirtPkg
>       BaseTools: fix FCE build when edksetup not executed
>       Maintainers.txt: update for filesystem area descriptions
>       Maintainers.txt: add wildcard path association for Arm/AArch64
>       BaseTools: add GetMaintainer.py script
>       BaseTools: use stdint.h for GCC ProcessorBind.h typedefs
>       BaseTools: add missing newlines at end of files
>       EmbeddedPkg: add missing newline at end of TemplateResetSystemLib.inf
>       NetworkPkg: add missing newline at end of file
>       EmbeddedPkg: delete outdated FdtLib README.txt
>       BaseTools: fix line endings in SetupGit.py Conf files
>       DynamicTablesPkg: fix .dsc line ending
>       ArmPkg: ArmScmiDxe - convert .h to from 8859-x to 7-bit
>       BaseTools: correct line endings for ConvertFce Python script
>       EmbeddedPkg: convert Lauterbach README.txt to 7-bit safe Readme.md
>       ArmPkg: strip trailing whitespace
>       ArmPlatformPkg: strip trailing whitespace
>       BaseTools: strip trailing whitespace
>       EmulatorPkg: strip trailing whitespace
>       MdeModulePkg: strip trailing whitespace
>       OvmfPkg: strip trailing whitespace
>       UefiCpuPkg: strip trailing whitespace
>       SignedCapsulePkg: fix AARCH64 build
>       Readme.md: remove positional references from submodule description
>       Maintainers.txt: update email address for Leif Lindholm
>       ArmVirtPkg: fix ASSERT in ArmVirtGicArchLib with virtualization=on
>       ArmPkg: rename misleading local #define in CpuDxe
>       BaseTools: add handling for 'S:' flag to GetMaintainer.py
>       ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
>       BaseTools/PatchCheck.py: add exception for diff orderfile
>       BaseTools: explicitly import email.header PatchCheck.py
>       BaseTools: convert diff.order to LF-only
>       EmbeddedPkg: fix gcc build errors in AndroidBootImgLib
>       Revert "BaseTools/PatchCheck.py: Add LicenseCheck"
>
> Leo Duran (2):
>       UefiCpuPkg/MpInitLib: Skip reading PlatformId on AMD processors.
>       UefiCpuPkg/MpInitLib: Remove Executable attribute from MpLib.h
>
> Li, Aaron (1):
>       BaseTools/Capsule: Add capsule dependency support
>
> Liming Gao (51):
>       Remove IntelSiliconPkg that has been moved to edk2-platform repo
>       Maintainers.txt: update it to remove IntelSiliconPkg maintainers
>       Revert "BaseTools/FCE: Change FCE script type in PosixLike"
>       Revert "BaseTools/BfmLib: Change BfmLib script type in PosixLike"
>       Revert "BaseTools/FMMT: Change FMMT script type in PosixLike"
>       Revert "BaseTools: fix FCE build when edksetup not executed"
>       Revert "BaseTools/FMMT: Add a tool FMMT"
>       Revert "BaseTools/FCE: Add a tool FCE"
>       Revert "BaseTools/BfmLib: Add a tool BfmLib"
>       MdeModulePkg RegularExpressionDxe: Update Oniguruma from v6.9.0 to v6.9.3
>       MdeModulePkg/RegularExpressionDxe: Add two missing null pointer checks
>       Readme.md: Remove tag release from Readme
>       BaseTools: Update GenFw tool to support -e -z option together
>       SecurityPkg Tcg2Config: Move common definitions to new Tcg2Internal.h
>       MdeModulePkg SerialDxe.inf: Fix wrong FILE_GUID format
>       Revert "BaseTools: Improve GetDependencyList function"
>       MdePkg Base.h: Define STATIC_ASSERT macro as empty for EBC arch
>       NetworkPkg: Move network related header files from MdeModulePkg to NetworkPkg
>       MdeModulePkg: Remove network related guid definitions from MdeModulePkg.dec
>       NetworkPkg: Add PcdTftpBlockSize in NetworkPkg.dec
>       NetworkPkg UefiPxeBcDxe: Consume PcdTftpBlockSize defined in NetworkPkg.dec
>       MdeModulePkg: Remove PCD gEfiMdeModulePkgTokenSpaceGuid.PcdTftpBlockSize
>       NetworkPkg: Remove unnecessary MdeModulePkg/MdeModulePkg.dec dependency in INF
>       Maintainers.txt: Move ShellBin maintainers to EDK II Releases section
>       SecurityPkg Tcg2Dxe: Add Variable Arch protocol dependency
>       BaseTools tools_def.template: Remove unnecessary $(DEST_DIR_DEBUG) path
>       BaseTools tools_def: Add CLANG9 tool chain to directly generate PE image
>       BaseTools GenFw: Fix the issue to update the wrong size as SectionSize
>       MdePkg Base.h: Add definition for CLANG9 tool chain
>       MdePkg BaseIoLibIntrinsic: Remove __inline__ attribute for IO functions
>       MdeModulePkg LzmaCustomDecompressLib: Update macro to be same in CLANG tool
>       MdeModulePkg RegularExpressionDxe: Disable warning for CLANG9 tool chain
>       CryptoPkg: Append options to make CLANG9 tool chain pass build
>       CryptoPkg IntrinsicLib: Make _fltused always be used
>       EmulatorPkg: Enable CLANG9 tool chain
>       OvmfPkg: Enable CLANG9 tool chain
>       BaseTools: Rename tool chain CLANG9 to CLANGPDB
>       MdeModulePkg RegularExpressionDxe: Update tool chain name to CLANGPDB
>       CryptoPkg CryptoLib: Update tool chain name to CLANGPDB
>       OvmfPkg DSC: Update tool chain name to CLANGPDB
>       EmulatorPkg DSC and WinHost.inf: Update tool chain name to CLANGPDB
>       MdePkg Base.h: Use correct style to check the defined macro
>       MdePkg Base.h: Use correct style to check macro _MSC_VER value
>       BaseTools tools_def.template: Add back -fno-pie option in GCC49 tool chain
>       OvmfPkg: Fix build failure with VS2015 tool chain
>       MdePkg: Add EFI_RT_PROPERTIES_TABLE
>       BaseTools GenFv: Report the correct spare FV image size
>       BaseTools: Move VS2019 env setting after VS2017 env setting
>       BaseTools: Fix the issue in VS prefix setting for VS2017/VS2019
>       BaseTools: Fix the issue in VS2017/VS2019 setting
>       Maintainers.txt: Update Liming mail address
>
> Liran Alon (20):
>       OvmfPkg/PvScsiDxe: Create empty driver
>       OvmfPkg/PvScsiDxe: Install DriverBinding protocol
>       OvmfPkg/PvScsiDxe: Report name of driver
>       OvmfPkg/PvScsiDxe: Probe PCI devices and look for PvScsi
>       OvmfPkg/PvScsiDxe: Install stubbed EXT_SCSI_PASS_THRU
>       OvmfPkg/PvScsiDxe: Report the number of targets and LUNs
>       OvmfPkg/PvScsiDxe: Translate Target & LUN to/from DevicePath
>       OvmfPkg/PvScsiDxe: Open PciIo protocol for later use
>       OvmfPkg/PvScsiDxe: Backup/Restore PCI attributes on Init/UnInit
>       OvmfPkg/PvScsiDxe: Enable MMIO-Space & Bus-Mastering in PCI attributes
>       OvmfPkg/PvScsiDxe: Define device interface structures and constants
>       OvmfPkg/PvScsiDxe: Reset adapter on init
>       OvmfPkg/PvScsiDxe: Setup requests and completions rings
>       OvmfPkg/PvScsiDxe: Introduce DMA communication buffer
>       OvmfPkg/PvScsiDxe: Support sending SCSI request and receive response
>       OvmfPkg/PvScsiDxe: Reset device on ExitBootServices()
>       OvmfPkg/PvScsiDxe: Enable device 64-bit DMA addresses
>       Maintainers.txt: Add Liran and Nikita as OvmfPkg/PvScsiDxe reviewers
>       OvmfPkg/PvScsiDxe: Fix VS2019 build error because of implicit cast
>       OvmfPkg/PvScsiDxe: Refactor setup of rings to separate function
>
> Maciej Rabeda (7):
>       NetworkPkg/SnpDxe: Add PCD to remove ExitBootServices event from SNP driver.
>       Maintainers.txt: Adding new NetworkPkg reviewer.
>       NetworkPkg: Fixes to static code analysis hits
>       Maintainers.txt: Update email address and role
>       NetworkPkg/Ip6Dxe: Improve Neightbor Discovery message validation.
>       ShellPkg: Fix 'ping' command Ip4 receive flow.
>       NetworkPkg/Ip6Dxe: Fix ASSERT logic in Ip6ProcessRouterAdvertise()
>
> Maggie Chu (7):
>       SecurityPkg/OpalPassword: Add PCD to skip password prompt
>       SecurityPkg/HddPassword: Add a PCD to skip Hdd password prompt
>       MdeModulePkg: Add definitions for NVM Express Passthru PPI
>       MdeModulePkg/NvmExpressPei: Produce NVM Express PassThru PPI
>       MdeModulePkg/NvmExpressPei: Fix Opal S3 unlock issue
>       SecurityPkg/OpalPassword: Remove dependency on EFI_BLOCK_IO_PROTOCOL
>       SecurityPkg: Change default value source
>
> Marc W Chen (3):
>       OvmfPkg/QemuVideoDxe: Shouldn't assume system in VGA alias mode.
>       MdePkg: Add PI 1.5 SmramMemoryReserve HOB file
>       MdePkg: Add MmAccess and MmControl definition.
>
> Marc-André Lureau (5):
>       OvmfPkg: rename TPM2 config prefix to TPM
>       OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei
>       OvmfPkg: include TcgPei module
>       OvmfPkg: include TcgDxe module
>       OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe
>
> Marcin Wojtas (1):
>       MdeModulePkg/UsbBusDxe: Return error when the device is not present
>
> Marvin Häuser (8):
>       WinHost: Add SimplePointer support
>       MdePkg/UefiDebugLibConOut: Pass the correct buffer size
>       MdePkg/UefiDebugLibStdErr: Pass the correct buffer size
>       MdePkg/UefiFileHandleLib: Fix potential NULL dereference
>       MdePkg/UefiFileHandleLib: Tolerate more Root handle FileNames
>       ShellPkg/Ls: Consider UEFI timezone may not be set
>       ShellPkg/Ls: Return empty content for all empty folders
>       ShellPkg/CommandLib: Use first found UC for unsupported PlatformLang
>
> Matt DeVillier (3):
>       MdeModulePkg/Usb/EfiKey: Fix endpoint selection
>       MdeModulePkg/Usb/UsbMouse: Fix endpoint selection
>       MdeModulePkg/UsbMouseAbsolutePointer: Fix endpoint selection
>
> Matthew Carlson (2):
>       BaseTools:Added arch output to build report
>       MdePkg/SmBios.h: Add two additional DWORD for smbios 3.3.0 type17
>
> Max Knutsen (1):
>       BaseTools:Add extra debugging message
>
> Michael D Kinney (93):
>       MdeModulePkg/PiSmmCore: Use unique structure signatures
>       ShellPkg/AcpiView: Fix IA32 link error
>       ShellPkg: Add shell with all commands integrated
>       EmulatorPkg: Fix VS2015 build when VS2017 also installed
>       EmulatorPkg/Unix/Host: Fix NetworkPkg dependencies
>       EmulatorPkg/Unix/Host: Fix XCODE5 IA32/X64 build failure
>       MdePkg/X64/ProcessorBind.h: Fix EmulatorPkg X64 XCODE5
>       BaseTools/PatchCheck: Ignore blank lines in diff
>       BaseTools/PatchCheck: Add copy from/to keywords
>       BaseTools/PatchCheck: Disable text conversion in 'git show'
>       EmulatorPkg: Fix VS20xx IA32 boot failure
>       EmulatorPkg: Remove UNIX_SEC_BUILD/WIN_SEC_BUILD
>       EmulatorPkg: Add -D DISABLE_NEW_DEPRECATED_INTERFACES
>       EmulatorPkg: Add support for NOOPT target
>       EmulatorPkg/Win/Host: Fix image unload regression
>       EmulatorPkg/Win/Host: Fix SecPrint() log line endings
>       SecurityPkg: Change EFI_D_INFO to DEBUG_INFO
>       Maintainers.txt: Add continuous integration(CI) directories
>       CryptoPkg: Add YAML file for CI builds
>       FatPkg: Add YAML file for CI builds
>       FmpDevicePkg: Add YAML file for CI builds
>       MdeModulePkg: Add YAML file for CI builds
>       MdePkg: Add YAML file for CI builds
>       NetworkPkg: Add YAML file for CI builds
>       PcAtChipsetPkg: Add YAML files for CI builds
>       SecurityPkg: Add YAML files for CI builds
>       ShellPkg: Add YAML file for CI builds
>       UefiCpuPkg: Add YAML file for CI builds
>       SignedCapsulePkg: Use BaseCryptLibNull to reduce package CI time
>       .mergify: Add Mergify YML pull request rules configuration file
>       Readme.md: Add CI build status badges
>       Readme.md: Update EDK II CI build status badge and links
>       Readme.md: Update EDK II CI build branch name
>       BaseTools/Scripts/PatchCheck: Address false error conditions
>       BaseTools/Scripts/PatchCheck.py: Remove submodule false positives
>       BaseTools/DscBuildData: Fix PCD autogen include file conflict
>       CryptoPkg/BaseCryptLibNull: Add missing HkdfSha256ExtractAndExpand()
>       BaseTools/Build: Do not use Common.lib in Structured PCD app
>       CryptoPkg/BaseCryptLib: Add X509ConstructCertificateStackV().
>       CryptoPkg: Add EDK II Crypto Protocols/PPIs/PCDs
>       CryptoPkg/Driver: Add Crypto PEIM, DXE, and SMM modules
>       CryptoPkg/Library: Add BaseCryptLibOnProtocolPpi instances
>       CryptoPkg/CryptoPkg.dsc: Add build of Crypto libraries/modules
>       .pytool: Add CI support for host based unit tests with results
>       BaseTools/Plugin: Add HostBasedUnitTestRunner plugin
>       UnitTestFrameworkPkg: Add public and private interfaces
>       UnitTestFrameworkPkg/Library: Add library instances
>       UnitTestFrameworkPkg/Test: Add unit test samples
>       UnitTestFrameworkPkg: Add DSC, DSC INC, and YAML files
>       MdePkg/Test: Add SafeIntLib and BaseLib Base64 unit tests
>       MdeModulePkg: Add DxeResetSystemLib unit test
>       .azurepipelines: Enable CI for UnitTestFrameworkPkg and host tests
>       Maintainers.txt: Add UnitTestFrameworkPkg
>       UnitTestFrameworkPkg/UnitTestLib: Fix XCODE parenthesis issues
>       UnitTestFrameworkPkg: Disable EBC in DSC file
>       MdePkg: Disable EBC for unit tests in MdePkg.dsc
>       MdePkg/BaseSafeIntLib: Fix VS20xx IA32 link failures
>       MdePkg/Test/BaseLib: Add SAFE_STRING_CONSTRAINT_CHECK unit test
>       MdeModulePkg/Variable/RuntimeDxe: Fix return status from Reclaim()
>       BaseTools/Python: Allow HOST_APPLICATION to use NULL libraries
>       MdePkg/BaseCpuLibNull: Add Null version of CpuLib for host testing
>       MdePkg/BaseCacheMaintenanceLibNull: Add Null instance for host testing
>       MdePkg/BaseLib: Break out IA32/X64 GCC inline privileged functions
>       MdePkg/Library/BaseLib: Add BaseLib instance for host based unit tests
>       UnitTestFrameworkPkg: Use host libraries from MdePkg
>       UnitTestFrameworkPkg: Enable source level debug for host tests
>       UnitTestFrameworkPkg: Set host application stack size to 256KB
>       UnitTestFrameworkPkg: Change target mode DebugLib mapping
>       UnitTestFrameworkPkg/UnitTestLib: Move print log into cleanup
>       UnitTestFrameworkPkg/UnitTestLib: Fix target mode log messages
>       UnitTestFrameworkPkg/UnitTestLib: Add checks for ASSERT()
>       MdePkg/Include: Hook DebugLib _ASSERT() for unit tests
>       MdePkg/Include: Add UT_EXPECT_ASSERT_FAILURE() to UnitTestLib
>       MdePkg/Library/BaseStackCheckLib: Fix PCD type in INF
>       UnitTestFramewokPkg/SampleUnitTest: Use UT_EXPECT_ASSERT_FAILURE()
>       MdePkg/Library/UnitTestHostBaseLib: Add missing services
>       UefiCpuPkg/CpuCommonFeaturesLib: Fix spelling mistake
>       BaseTools/GenSec: Fix spelling mistake
>       MdeModulePkg/EbcDxe: Fix spelling mistake
>       MdeModulePkg/BdsDxe: Fix spelling mistake
>       BaseTools/VolInfo: Fix spelling mistake
>       EmbeddedPkg/NonCoherentIoMmuDxe: Apply BSD-2-Clause-Patent
>       MdeModulePkg/PeCoffImageEmulator.h: Apply BSD-2-Clause-Patent
>       MdePkg/BaseMemoryLibOptDxe: Apply BSD-2-Clause-Patent
>       Readme.rst: List submodules and links to licenses
>       MdeModulePkg/CapsuleApp: Fix spelling mistake
>       SecurityPkg/OpalPassword: Fix spelling mistake
>       EmulatorPkg: Fix spelling mistake for occurred
>       MdeModulePkg: Fix spelling mistake for occurred
>       MdePkg: Fix spelling mistake for occurred
>       OvmfPkg: Fix spelling mistake for occurred
>       SecurityPkg: Fix spelling mistake for occurred
>       ShellPkg: Fix spelling mistake for occurred
>
> Michael Johnson (1):
>       EmulatorPkg/TimerLib: Add missing GetTimeInNanoSecond function
>
> Michael Kubacki (54):
>       BaseTools: Fix GenMake multi-workspace failure
>       MdeModulePkg/Variable: Consolidate common parsing functions
>       MdeModulePkg/Variable: Parameterize GetNextVariableInternal () stores
>       MdeModulePkg/Variable: Parameterize VARIABLE_INFO_ENTRY buffer
>       MdeModulePkg/Variable: Parameterize auth status in VariableParsing
>       MdeModulePkg/Variable: Add a file for NV variable functions
>       MdeModulePkg VariableInfo: Always consider RT DXE and SMM stats
>       MdeModulePkg/Variable: Add RT GetVariable() cache support
>       MdeModulePkg/Variable: Add RT GetNextVariableName() cache support
>       OvmfPkg: Disable variable runtime cache
>       MdeModulePkg: Enable variable runtime cache by default
>       MdeModulePkg/Variable: Fix volatile variable RT cache update logic
>       MdeModulePkg/Variable: Initialize local variable "Variable"
>       MdeModulePkg/Variable: Initialize local variable "RtPtrTrack"
>       MdeModulePkg PeiCore: Fix typos
>       MdeModulePkg PeiCore: Improve comment semantics
>       MdeModulePkg/Variable: Fix VarErrorFlag RT cache offset calculation
>       ArmPkg/ArmPkg.dsc: Add missing components
>       ArmPlatformPkg/ArmPlatformPkg.dsc: Add missing components
>       MdeModulePkg Variable: Return GetVariable() attr if EFI_BUFFER_TOO_SMALL
>       MdeModulePkg VariablePei: Return GetVariable() attr if EFI_BUFFER_TOO_SMALL
>       Revert "TlsAuthConfigDxe: fix TlsCaCertificate attributes retrieval"
>       NetworkPkg/SnpDxe: Register SnpNotifyExitBootServices at TPL_CALLBACK
>       NetworkPkg/SnpDxe: Prevent invalid PCI BAR access
>       NetworkPkg/Ip6Dxe: Validate source data record length
>       .python/SpellCheck: Increase SpellCheck plugin max failures
>       MdeModulePkg/ReportStatusCodeRouter: Clear RSC Data buffer if Data is NULL
>       MdeModulePkg/ReportStatusCodeRouter: Revert end pointer on out of resources
>       MdeModulePkg/ReportStatusCodeRouter: Take HeaderSize into Consideration
>       MdeModulePkg/ReportStatusCodeRouter: Update RSC Data on reallocation
>       MdePkg/BaseLib: Add linked list iteration macros
>       MdeModulePkg/EhciDxe: Use BaseLib linked list iteration macros
>       MdeModulePkg/EhciPei: Use BaseLib linked list iteration macros
>       MdeModulePkg/XhciDxe: Use BaseLib linked list iteration macros
>       MdeModulePkg/UfsPassThruDxe: Use BaseLib linked list iteration macros
>       MdeModulePkg/RamDiskDxe: Use BaseLib linked list iteration macros
>       SecurityPkg/HddPassword: Use BaseLib linked list iteration macros
>       SecurityPkg: Add PCD for SW SMI Command port
>       SecurityPkg Tcg: Use SW SMI IO port PCD in Tpm.asl
>       BaseTools/Ecc: Replace deprecated function time.clock()
>       UnitTestFrameworkPkg/UnitTestResultReportLib: Use AsciiStrnCpyS()
>       MdePkg/UnitTestLib.h: Drop FrameworkHandle param from SaveFrameworkState()
>       UnitTestFrameworkPkg/UnitTestLib: Update SaveFrameworkState() signature
>       MdeModulePkg/PeiCore: Enable T-RAM evacuation in PeiCore (CVE-2019-11098)
>       UefiCpuPkg/CpuMpPei: Add GDT migration support (CVE-2019-11098)
>       UefiCpuPkg/SecMigrationPei: Add initial PEIM (CVE-2019-11098)
>       FmpDevicePkg/FmpDependencyLib: Correct ValidateDependency() documentation
>       FmpDevicePkg/FmpDependencyLib: Fix "exression" typo
>       FmpDevicePkg/FmpDependencyLib: Handle version string overflow
>       FmpDevicePkg/FmpDependencyCheckLib: Return unsatisfied on handle failure
>       FmpDevicePkg/FmpDxe: Better warn of potential ImageTypeId misconfig
>       FmpDevicePkg/FmpDxe: Indicate ESRT GUID on invalid ImageIdName
>       FmpDevicePkg/FmpDxe: Improve function parameter validation
>       FmpDevicePkg/FmpDxe: Fix Clang build error
>
> Mike Turner (1):
>       MdeModulePkg DxeCore: Fix for missing Memory Attributes Table (MAT) update
>
> Ming Tan (7):
>       EmulatorPkg/PlatformSmbiosDxe: fix a spell error of platform.
>       MdeModulePkg/StatusCodeHandler: do not output \n\r for string data
>       MdeModulePkg.dec: Change PCDs for status code.
>       EmulatorPkg/EmulatorPkg.dsc: Change PCDs type about status code
>       UefiPayloadPkg/UefiPayloadPkgIa*.dsc: Change some PCDs type
>       OvmfPkg/OvmfPkg*.dsc: Change PCDs type about status code
>       IntelFsp2Pkg/Tools/GenCfgOpt.py: Fix a bug about parse macro
>
> Nickle Wang (2):
>       MdeModulePkg/SetupBrowserDxe: Fix IsZeroGuid() ASSERT.
>       EmulatorPkg/WinHost: Enable network support.
>
> Nikita Leshenko (12):
>       OvmfPkg/MptScsiDxe: Create empty driver
>       OvmfPkg/MptScsiDxe: Install DriverBinding Protocol
>       OvmfPkg/MptScsiDxe: Report name of driver
>       OvmfPkg/MptScsiDxe: Probe PCI devices and look for MptScsi
>       OvmfPkg/MptScsiDxe: Install stubbed EXT_SCSI_PASS_THRU
>       OvmfPkg/MptScsiDxe: Report targets and one LUN
>       OvmfPkg/MptScsiDxe: Build and decode DevicePath
>       OvmfPkg/MptScsiDxe: Open PciIo protocol for later use
>       OvmfPkg/MptScsiDxe: Set and restore PCI attributes
>       OvmfPkg/MptScsiDxe: Initialize hardware
>       OvmfPkg/MptScsiDxe: Implement the PassThru method
>       OvmfPkg/MptScsiDxe: Reset device on ExitBootServices()
>
> Oleksiy Yakovlev (17):
>       MdePkg: Extend SERIAL_IO with DeviceTypeGuid
>       BaseTools: REST style formset
>       MdePkg: REST style formset
>       BaseTools: Bootable NVDIMM namespaces
>       MdePkg: Bootable NVDIMM namespaces
>       MdePkg: Add UEFI Spec Revision 2.8
>       MdePkg: UEFI JSON Capsule Support
>       MdePkg: Add new CPER Notification types
>       MdePkg: Fix OUT parameters marked as IN OUT
>       MdePkg: Add FMP Capsule Image Header extension
>       MdeModulePkg: Add FMP Capsule Image Header extension
>       SignedCapsulePkg: Add FMP Capsule Image Header extension
>       MdePkg: Add Serial Terminal Device Type Guid
>       MdePkg: Add New Memory Attributes
>       MdeModulePkg: Add New Memory Attributes
>       UefiCpuPkg: Update EFI_MEMORY_CACHETYPE_MASK definition
>       UefiCpuPkg: Add New Memory Attributes
>
> Park, Aiden (1):
>       edksetup.bat stuck on unicode locale Windows
>
> Patrick Rudolph (1):
>       UefiPayloadPkg: Make TerminalDxe build time configurable
>
> Paul Grimes (1):
>       MdePkg: Correcting EFI_ACPI_DMA_TRANSFER_TYPE_16_BIT definition
>
> Pavana.K (1):
>       CryptoPkg: Support for SHA384 & SHA512 RSA signing schemes
>
> Pete Batard (7):
>       ArmPlatformPkg: Add missing header files in INF file
>       MdeModulePkg/BdsDxe: Also call PlatformBootManagerWaitCallback on 0
>       OvmfPkg/PlatformBootManagerLib: Don't update progress if Pcd is 0
>       ArmVirtPkg/PlatformBootManagerLib: Don't update progress if Pcd is 0
>       MdePkg/Include: Add DCC and BCM2835 SPCR UART types
>       EmbeddedPkg/AcpiLib: add GICC table init macro for ACPI 6.3
>       EmbeddedPkg/TimeBaseLib: Add macros to get build year/month/day
>
> Peter Jones (1):
>       OvmfPkg: Make SOURCE_DEBUG_ENABLE actually need to be set to TRUE
>
> Philippe Mathieu-Daudé (59):
>       ArmPkg: DebugPeCoffExtraActionLib: debugger commands are not errors
>       ArmPkg: DebugPeCoffExtraActionLib: fix trivial comment typos
>       MdeModulePkg DxeCore: Fix typo in function name
>       MdeModulePkg/PiSmmCore: Fix typo in function name
>       StandaloneMmPkg/Core: Fix typo in function name
>       NetworkPkg/Ip6Dxe: Fix typo in comment
>       .pytool: Avoid "is" with a literal Python 3.8 warnings in CI plugins
>       BaseTools: Avoid "is" with a literal Python 3.8 warnings
>       .mailmap: Add a stub with documentation
>       .mailmap: Add an entry for Aaron Li
>       .mailmap: Add an entry for Antoine Coeur
>       .mailmap: Add an entry for Ard Biesheuvel
>       .mailmap: Add an entry for Ashley DeSimone
>       .mailmap: Add an entry for Baraneedharan Anbazhagan
>       .mailmap: Add an entry for Chasel Chiu
>       .mailmap: Add an entry for Christopher J Zurcher
>       .mailmap: Add an entry for Eric Dong
>       .mailmap: Add an entry for Erik Bjorge
>       .mailmap: Add an entry for Hao Wu
>       .mailmap: Add an entry for Hot Tian
>       .mailmap: Add an entry for Jiewen Yao
>       .mailmap: Add an entry for Jim Dailey
>       .mailmap: Add an entry for Laszlo Ersek
>       .mailmap: Add an entry for Liming Gao
>       .mailmap: Add an entry for Maciej Rabeda
>       .mailmap: Add an entry for Marc-Andre Lureau
>       .mailmap: Add an entry for Marvin Haeuser
>       .mailmap: Add an entry for Maurice Ma
>       .mailmap: Add an entry for Michael Kubacki
>       .mailmap: Add an entry for Ming Tan
>       .mailmap: Add an entry for Nikolai Saoukh
>       .mailmap: Add an entry for Philippe Mathieu-Daude
>       .mailmap: Add an entry for Ray Ni
>       .mailmap: Add an entry for Samer El-Haj-Mahmoud
>       .mailmap: Add an entry for Shenglei Zhang
>       .mailmap: Add an entry for Star Zeng
>       .mailmap: Add an entry for Vitaly Cheptsov
>       .mailmap: Add an entry for Vladimir Olovyannikov
>       .mailmap: Add an entry for Yonghong Zhu
>       .mailmap: Add an entry for Yu-Chen Lin
>       BaseTools/PatchCheck.py: Ignore CR and LF characters in subject length
>       BaseTools/PatchCheck.py: Extract email check code to EmailAddressCheck
>       BaseTools/PatchCheck.py: Check the committer email address
>       BaseTools/PatchCheck.py: Let EmailAddressCheck describe email checked
>       BaseTools/PatchCheck.py: Check the patch author email address
>       BaseTools/Scripts: Add log.mailmap to SetupGit.py
>       BaseTools/Scripts/PatchCheck.py: Detect emails rewritten by Groups.Io
>       BaseTools/Scripts/PatchCheck.py: Do not use mailmap
>       SecurityPkg: Fix incorrect return value when File is NULL
>       EmbeddedPkg/VirtualKeyboard: Fix a typo in EFI_INVALID_PARAMETER
>       MdeModulePkg/UsbBusDxe: Fix a typo
>       NetworkPkg: Fix a typo
>       NetworkPkg/DnsDxe: Fix a typo
>       NetworkPkg/HttpBootDxe: Fix a typo in variable name
>       OvmfPkg/Csm/LegacyBios: Fix a typo
>       OvmfPkg/Xen: Fix a typo
>       StandaloneMmPkg: Fix a typo
>       ShellPkg: Document ParseCommandLineToArgs returns EFI_INVALID_PARAMETER
>       ShellPkg: Document UpdateArgcArgv returns EFI_INVALID_PARAMETER
>
> Pierre Gondois (44):
>       ShellPkg/acpiview: GTDT updates for ACPI 6.3
>       DynamicTablesPkg: GTDT updates for ACPI 6.3
>       MdePkg: Add AML OpCode definition for ExternalOp
>       BaseTools: Script for converting .aml to .hex
>       BaseTools: Rationalise makefile generation
>       BaseTools: Remove caret in NASM_INC macro
>       MdePkg: Add AML FieldList OpCode definitions
>       ArmPkg/ArmMmuLib: Fix implicit cast
>       BaseTools: PatchCheck: Exclude bash scripts from CRLF check
>       BaseTools: Generate multiple rules when multiple output files
>       BaseTools: Rename AmlToHex script to AmlToC
>       BaseTools: Compile AML bytecode arrays into .obj file
>       BaseTools: Fix string concatenation
>       BaseTools: Add gcc flag to warn on void* pointer arithmetic
>       BaseTools: Factorize GCC flags
>       EmbeddedPkg: Fix build error for MmcDxe
>       DynamicTablesPkg: Update ASL build options
>       DynamicTablesPkg: AmlLib definitions
>       DynamicTablesPkg: AML grammar definition
>       DynamicTablesPkg: AML node definitions
>       DynamicTablesPkg: AML tree interface
>       DynamicTablesPkg: AML tree enumerator
>       DynamicTablesPkg: AML tree traversal
>       DynamicTablesPkg: AML tree iterator
>       DynamicTablesPkg: AML tree/node cloning
>       DynamicTablesPkg: AML utility interfaces
>       DynamicTablesPkg: AML and ASL string helper
>       DynamicTablesPkg: AML serialise interface
>       DynamicTablesPkg: AML debug logging
>       DynamicTablesPkg: AML ACPI Namespace interface
>       DynamicTablesPkg: AML Parser
>       DynamicTablesPkg: AML resource data helper
>       DynamicTablesPkg: AML resource data parser
>       DynamicTablesPkg: AML Method parser
>       DynamicTablesPkg: AML Field list parser
>       DynamicTablesPkg: AML Codegen
>       DynamicTablesPkg: AML Resource Data Codegen
>       DynamicTablesPkg: AML Core interface
>       DynamicTablesPkg: AmlLib APIs
>       DynamicTablesPkg: Dynamic AML: Add AmlLib library
>       DynamicTablesPkg: SSDT Serial Port Fixup library
>       DynamicTablesPkg: SSDT Serial Port generator
>       DynamicTablesPkg: Add SSDT Serial port for SPCR
>       DynamicTablesPkg: Add SSDT Serial port for DBG2
>
> Qi Zhang (8):
>       SecurityPkg/Tpm2CommandLib: add a new function
>       SecurityPkg/Tcg2Config: remove TPM2_ChangEPS if it is not supported.
>       SecurityPkg/TcgEventLogRecordLib: add new lib for firmware measurement
>       SecurityPkg/dsc: add FvEventLogRecordLib
>       SecurityPkg/Tcg2: handle PRE HASH and LOG ONLY
>       IntelFsp2WrapperPkg/dsc: add HashLib, Tpm2CommandLib and Tpm2DeviceLib
>       IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dec: add FspMeasurementLib.h
>       MdeModulePkg/Library: add PEIM and SEC module type to TpmMeasurementLibNull
>
> Ray Ni (49):
>       UefiCpuPkg/MpInitLib: increase NumApsExecuting only for ApInitConfig
>       UefiCpuPkg/MpInitLib: Decrease NumApsExecuting only for ApInitConfig
>       IntelFspPkg&IntelFspWrapperPkg: Remove them
>       UefiCpuPkg/PiSmmCpu: Change variable names and comments to follow SDM
>       MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging
>       UefiCpuPkg/PiSmmCpu: Enable 5 level paging when CPU supports
>       Maintainers.txt: Remove maintainer info for IntelFsp[Wrapper]Pkg
>       Revert "UefiCpuPkg/PiSmmCpu: Enable 5 level paging when CPU supports"
>       Revert "MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging"
>       MdePkg/BaseLib.h: Update IA32_CR4 structure for 5-level paging
>       UefiCpuPkg/PiSmmCpu: Enable 5 level paging when CPU supports
>       UefiCpuPkg/PiSmmCpu: ReclaimPages: fix incorrect operator binding
>       UefiCpuPkg/PiSmmCpu: Allow SMM access-out when static paging is OFF
>       UefiCpuPkg/MpInitLib: Enable 5-level paging for AP when BSP's enabled
>       UefiCpuPkg/CpuDxe: Remove unnecessary macros
>       UefiCpuPkg/CpuDxe: Support parsing 5-level page table
>       MdeModulePkg/DxeIpl: Introduce PCD PcdUse5LevelPageTable
>       MdePkg/Cpuid.h: Move Cpuid.h from UefiCpuPkg to MdePkg
>       MdeModulePkg/DxeIpl: Create 5-level page table for long mode
>       UefiCpuPkg|MdePkg: Move Register/ folder to MdePkg/Include/
>       UefiCpuPkg: Update code to include register definitions from MdePkg
>       UefiCpuPkg: Add PcdCpuSmmRestrictedMemoryAccess
>       UefiCpuPkg/PiSmmCpu: Use new PCD PcdCpuSmmRestrictedMemoryAccess
>       UefiCpuPkg/PiSmmCpu: Restrict access per PcdCpuSmmRestrictedMemoryAccess
>       UefiCpuPkg: Explain relationship between several SMM PCDs
>       PcAtChipsetPkg: add PcdRealTimeClockUpdateTimeout
>       MdeModulePkg: Remove PcdRealTimeClockUpdateTimeout
>       IntelFsp2Pkg/FspSecCore: Remove unneeded MdeModulePkg dependency
>       IntelFsp2WrapperPkg: Remove unneeded MdeModulePkg dependency
>       MdePkg/BluetoothLeConfig.h: Add type EfiBluetoothSmpPeerAddressList
>       UefiCpuPkg/PiSmmCpu: Enable 5L paging only when phy addr line > 48
>       UefiCpuPkg: Remove PcdCpuSmmStaticPageTable
>       UefiCpuPkg/MpInitLib: Set X2ApicEnable flag from BSP
>       UefiCpuPkg/MpInitLib: Remove global variable X2ApicEnable
>       BaseTools: Fix build failure when using python38
>       UefiCpuPkg/CpuCommonFeaturesLib: Remove XD enable/disable logic
>       UefiCpuPkg/RegisterCpuFeature: Remove CPU_FEATURE_XD macro
>       UefiCpuPkg/RegisterCpuFeaturesLib: Delete CPU_FEATURE_[BEFORE|AFTER]
>       UefiCpuPkg/RegisterCpuFeaturesLib: Rename [Before|After]FeatureBitMask
>       UefiCpuPkg/CpuFeature: Introduce First to indicate 1st unit.
>       UefiCpuPkg/PiSmmCpuDxeSmm: Improve the performance of GetFreeToken()
>       UefiCpuPkg/MpService: GetProcessorInfo returns 6-level topology
>       MdePkg/PciSegmentInfoLib: Add missing EFIAPI to GetPciSegmentInfo()
>       UefiPayloadPkg/Pci: Use the PCIE Base Addr stored in AcpiBoardInfo HOB
>       UefiCpuPkg/MtrrLib: Remove unnecessary API MtrrGetVariableMtrr()
>       UefiCpuPkg/MtrrLib: Remove unnecessary API MtrrSetVariableMtrr()
>       UefiCpuPkg/MtrrLib: Remove unnecessary API MtrrSetFixedMtrr()
>       UefiCpuPkg/MtrrLib/UnitTest: Add host based unit test
>       UefiCpuPkg/MtrrLibUnitTest: Change to use static array for CI test
>
> Rebecca Cran (21):
>       Fix indentation in edksetup.sh SetupPython3
>       edksetup.sh: Use bash variable $PWD instead of executing pwd command
>       edksetup.sh: Use $SCRIPTNAME consistently instead of 'edksetup.sh'
>       edksetup.sh: when executing arithmetic commands, $ isn't needed
>       edksetup.sh: remove redundant -?, -h and --help in options parsing
>       OvmfPkg/build.sh: enable multitheaded build by default
>       OvmfPkg/build.sh: remove literal carriage return
>       OvmfPkg/build.sh: remove $ADD_QEMU_HDA
>       OvmfPkg/build.sh: use newer '-drive if=pflash' syntax when running qemu
>       OvmfPkg: replace old EFI_D_ debug levels with new DEBUG_ ones
>       OvmfPkg: Add bhyve support into AcpiTimerLib
>       OvmfPkg: Add VBE2 mode info structure to LegacyVgaBios.h
>       OvmfPkg: Add QemuFwCfgLibNull
>       OvmfPkg: Add BaseResetSystemLibBhyve
>       BaseTools: add repo name option to SetupGit.py
>       ShellPkg: smbiosview - print field values as unsigned integers
>       BaseTools: Update ReadMe.txt to match current functionality
>       BaseTools: rename ReadMe.txt to ReadMe.rst
>       Add BhyvePkg, to support the bhyve hypervisor
>       Maintainers.txt: Add bhyve reviewers
>       OvmfPkg/Bhyve: rename files to remove 'Pkg' infix
>
> Robert Phelps (4):
>       MdePkg: New Status Codes
>       MdePkg: Updates to PI 1.7 Revision numbers
>       MdePkg: Added header file for Delayed Dispatch PPI
>       MdePkg: Update structures for MpServices Protocol
>
> Rodriguez, Christian (3):
>       BaseTools: Add a checking for Sources section in INF file
>       BaseTools: Refactor hash tracking after checking for Sources section
>       BaseTools: Fix checking for Sources section in INF file
>
> Roman Bolshakov (1):
>       OvmfPkg: Skip initrd command on Xcode toolchain
>
> Samer El-Haj-Mahmoud (3):
>       MdeModulePkg: PcdAcpiExposedTableVersions default for Arm64 platforms
>       ArmVirtPkg/ArmVirtQemu: Revert "limit ACPI support to v5.0 and higher"
>       ShellPkg: smbiosview - Change some type 17 field values format
>
> Sami Mujawar (35):
>       DynamicTablesPkg: Fix line endings in dsc file
>       DynamicTablesPkg: Disable deprecated APIs
>       DynamicTablesPkg: Arm SRAT Table Generator
>       StandaloneMmPkg: Fix build failure - Bug 2253
>       ShellPkg: acpiview: Add support for parsing FACS
>       ShellPkg: acpiview: IORT Spec Rev D updates
>       ArmPkg: Dispatch deferred images after EndOfDxe
>       DynamicTablesPkg: Update FADT generator to ACPI 6.3
>       DynamicTablesPkg: Fix entry point param definition
>       DynamicTablesPkg: Fix missing local header warning
>       DynamicTablesPkg: Remove struct CM_ARM_CPU_INFO
>       DynamicTablesPkg: Fix serial port subtype warning
>       DynamicTablesPkg: Fix Proc node length assignment
>       DynamicTablesPkg: Fix GT Block length assignment
>       DynamicTablesPkg: Fix Boot arch flag width
>       DynamicTablesPkg: Fix ACPI table rev field width
>       DynamicTablesPkg: Fix unaligned pointers usage
>       DynamicTablesPkg: Serial debug port initialisation
>       DynamicTablesPkg: Remove redundant frame count check
>       DynamicTablesPkg: Fix IORT node length assignment
>       DynamicTablesPkg: IORT: Fix uninitialized memory usage
>       DynamicTablesPkg: PPTT: Fix uninitialized memory usage
>       DynamicTablesPkg: Remove erroneous use of EFIAPI
>       DynamicTablesPkg: Option for VS2017 static code analysis
>       DynamicTablesPkg: SRAT: Fix entry points
>       DynamicTablesPkg: SRAT: Fix uninitialized memory usage
>       BaseTools: Remove deprecated Visual Studio Option
>       DynamicTablesPkg: Fix issues reported by EDKII CI
>       DynamicTablesPkg: Add EDK2 Core CI support
>       DynamicTablesPkg: Update release build flags
>       DynamicTablesPkg: Introduction to Dynamic AML
>       DynamicTablesPkg: AML stream interface
>       DynamicTablesPkg: Add AsciiFromHex helper function
>       .pytool: CI Settings to support DynamicTablesPkg
>       .azurepipelines: Add DynamicTablesPkg to CI matrix
>
> Sean Brogan (35):
>       BaseTools:replace the chinese quotation mark with unicode "
>       BaseTools/Capsule: Add WindowsCapsuleSupportHelper
>       MdePkg: Add UefiFileHandleLib to DSC file
>       FatPkg: Fix spelling errors
>       PcAtChipsetPkg: Fix spelling errors
>       FmpDevicePkg: Fix spelling errors
>       SecurityPkg: Fix spelling errors
>       CryptoPkg: Add missing components to CryptoPkg.dsc
>       CryptoPkg: Add Null instance of the TlsLib class
>       UefiCpuPkg: Add missing components to UefiCpuPkg.dsc
>       CryptoPkg: Add Null instance of the BaseCryptLib class
>       NetworkPkg: Add missing components to DSC file
>       .gitignore: Ignore python compiled files, extdeps, and vscode
>       pip-requirements.txt: Add python pip requirements file
>       BaseTools: Add RC_PATH define for VS2017/2019
>       BaseTools: Add YAML files with path env and tool extdeps
>       BaseTools: Add BaseTools plugins to support CI
>       .pytool/Plugin: Add CI plugins
>       .pytool: Add CISettings.py and Readme.md
>       .azurepipelines: Add Azure Pipelines YML configuration files
>       MdeModulePkg/NvmExpressDxe: Fix wrong queue size for async IO queues
>       BaseTools/WindowsVsToolChain: Clean up Python source formatting
>       BaseTools/WindowsVsToolChain: Setup VS2017/VS2019 env
>       BaseTools/PcdValueCommon: Fix 64-bit host compiler error
>       BaseTools: Update Edk2ToolsBuild.py to use multiple threads on Linux
>       .azurepipelines: Update CI steps
>       .azurepipelines: Add Platform CI template
>       ArmVirtPkg: Add Platform CI and configuration for Core CI
>       EmulatorPkg: Add Platform CI and configuration for Core CI
>       OvmfPkg: Add Platform CI and configuration for Core CI
>       .pytool: Update CI Settings to support Emulator, ArmVirt, and Ovmf packages
>       .azurepipelines: Update Core CI build matrix to include platforms
>       ReadMe: Convert to rst and add Platform CI Status
>       .pytool/CISettings: Remove Windows only scope for host based unit tests
>       BaseTools/Plugin: Update HostBasedUnitTestRunner to support Linux
>
> Shenglei Zhang (103):
>       SecurityPkg/DxeDeferImageLoadLib: Remove DxeDeferImageLoadLib
>       SecurityPkg: Remove DxeDeferImageLoadLib in DSC
>       BaseTools/BfmLib: Add a tool BfmLib
>       BaseTools/FCE: Add a tool FCE
>       BaseTools/FMMT: Add a tool FMMT
>       BaseTools/FMMT: Change FMMT script type in PosixLike
>       BaseTools/BfmLib: Change BfmLib script type in PosixLike
>       BaseTools/FCE: Change FCE script type in PosixLike
>       MdeModulePkg: Fix typos and add periods
>       SecurityPkg/FvReportPei: Change HashAlgoId to HashAlgId
>       UefiCpuPkg/PiSmmCpuDxeSmm: Keep function comment and declaration adjacent
>       SecurityPkg/SecurityPkg.dec: Remove trailing white space
>       MdeModulePkg: Remove S3Lib.h and PeiS3LibNull
>       MdeModulePkg: Remove RecoveryLib.h and PeiRecoveryLibNull
>       UefiCpuPkg/PiSmmCpuDxeSmm: Add check for pointer Pml5Entry
>       UefiCpuPkg/PiSmmCpuDxeSmm: Make code consistent with comments
>       MdeModulePkg/DxeCapsuleLibFmp: Add missing description for parameter
>       MdeModulePkg: Add missing header files in INF files
>       MdePkg/BaseUefiDecompressLib: Add missing description for parameter
>       ShellPkg/UefiShellAcpiViewCommandLib: Add missing header files in INF
>       IntelFsp2Pkg/FspSecCore: Add missing header file in INF file
>       UefiCpuPkg/PiSmmCpuDxeSmm: Fix coding style
>       MdeModulePkg/DxeIplPeim: Relocate operation of PageMapLevel5Entry++
>       ShellPkg/UefiShellAcpiViewCommandLib: Remove the variable "Index"
>       NetworkPkg: Add Dpc protocol
>       NetworkPkg: Move Dpc.h from MdeModulePkg to NetworkPkg
>       MdeModulePkg/MdeModulePkg.dec: Remove gEfiDpcProtocolGuid
>       MdeModulePkg/DxeIplPeim: Initialize pointer PageMapLevel5Entry
>       CryptoPkg/OpensslLib: Add missing header files in INF file
>       ShellPkg/UefiShellAcpiViewCommandLib: Initialize local variables
>       UefiCpuPkg/Cpuid: Add description for parameter LeafFunction
>       CryptoPkg: Fix coding style
>       ShellPkg/UefiShellAcpiViewCommandLib: Replace shift logical left
>       MdePkg/MdePkg.dec: Update PciSegmentLib.h to S3PciSegmentLib.h
>       SecurityPkg/SecurityPkg.dec: Update TcgPpVendorLib.h to Tcg2PpVendorLib.h
>       EmulatorPkg/PeiEmuSerialPortLib: Update the INF file Guid
>       MdeModulePkg/SerialDxe: Update the file Guid in SerialDxe.inf
>       BaseTools/LzmaCompress: Add two switches
>       BaseTools/LzmaCompress: Fix the option "d" dictionary size
>       CryptoPkg/OpensslLib: Update process_files.pl to generate .h files
>       MdeModulePkg/Oniguruma: Remove redundant IF statement
>       MdeModulePkg/Variable/Pei: Update the condition in if statement
>       MdeModulePkg/HiiDatabaseDxe: ASSERT "Private->Attribute >> 4"
>       MdeModulePkg/SdBlockIoPei: Add check for DeviceIndex
>       MdeModulePkg/EhciPei: Initialize the variable Map
>       MdeModulePkg/UhciPei: Initialize the variable RequestMap
>       MdeModulePkg/Mem: Initialize the variable MapMemory
>       CryptoPkg: Upgrade OpenSSL to 1.1.1d
>       ShellPkg/Shell/FileHandleWrappers.c: Add check for MemFile->Buffer
>       MdeModulePkg/HiiDatabaseDxe: ASSERT StringPtr
>       MdeModulePkg/EsrtDxe: Add check for EsrtRepository
>       MdeModulePkg/SetupBrowserDxe: ASSERT GetBufferForValue(&Value)
>       MdeModulePkg/EbcDebugger: Add check for Entry and RetEntry
>       MdePkg: Update the comments of IsLanguageSupported
>       MdeModulePkg/MdeModulePkg.uni: Add missing strings for PCD
>       NetworkPkg/NetworkPkg.uni: Add missing strings for PCD
>       UefiCpuPkg/UefiCpuPkg.uni: Add missing strings for PCD
>       UefiCpuPkg: Update the coding styles
>       MdeModulePkg/RegularExpressionDxe: Make oniguruma a submodule in edk2.
>       pip-requirements.txt: Update extensions min version to 0.13.3
>       .azurepiplines/pr-gate-steps.yml: Update python to 3.8.x for ci build
>       BaseTools/WindowsVsToolChain.py: Update toolchain plugin
>       MdeModulePkg/BrotliCustomDecompressLib: Make brotli a submodule
>       BaseTools: Make brotli a submodule
>       NetworkPkg/IScsiDxe: Enhance the check for array boundary
>       .gitmodules: ignore untracked files in brotli
>       MdeModulePkg/RegularExpressionDxe: Optimize the code infrastructure
>       NetworkPkg/DxeNetLib: Change the order of conditions in IF statement
>       BaseTools/PatchCheck.py: Add LicenseCheck
>       BaseTools/PatchCheck.py: Skip length check for user name in xxx-by
>       .pytool/Plugin: Add a plugin LicenseCheck
>       FatPkg/FatPkg.ci.yaml: Add configuration for LicenseCheck
>       ArmVirtPkg/ArmVirtPkg.ci.yaml: Add configuration for LicenseCheck
>       CryptoPkg/CryptoPkg.ci.yaml: Add configuration for LicenseCheck
>       EmulatorPkg/EmulatorPkg.ci.yaml: Add configuration for LicenseCheck
>       FmpDevicePkg/FmpDevicePkg.ci.yaml: Add configuration for LicenseCheck
>       MdeModulePkg/MdeModulePkg.ci.yaml: Add configuration for LicenseCheck
>       MdePkg/MdePkg.ci.yaml: Add configuration for LicenseCheck
>       NetworkPkg/NetworkPkg.ci.yaml: Add configuration for LicenseCheck
>       OvmfPkg/OvmfPkg.ci.yaml: Add configuration for LicenseCheck
>       PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml: Add configuration for LicenseCheck
>       SecurityPkg/SecurityPkg.ci.yaml: Add configuration for LicenseCheck
>       ShellPkg/ShellPkg.ci.yaml: Add configuration for LicenseCheck
>       UefiCpuPkg/UefiCpuPkg.ci.yaml: Add configuration for LicenseCheck
>       UnitTestFrameworkPkg: Add configuration for LicenseCheck in yaml file
>       pip-requirements.txt: Add Ecc required lib
>       .pytool/Plugin: Add a plugin EccCheck
>       MdeModulePkg/MdeModulePkg.ci.yaml: Add configuration for Ecc check
>       ArmVirtPkg/ArmVirtPkg.ci.yaml: Add configuration for Ecc check
>       CryptoPkg/CryptoPkg.ci.yaml: Add configuration for Ecc check
>       EmulatorPkg/EmulatorPkg.ci.yaml: Add configuration for Ecc check
>       FatPkg/FatPkg.ci.yaml: Add configuration for Ecc check
>       FmpDevicePkg/FmpDevicePkg.ci.yaml: Add configuration for Ecc check
>       MdePkg/MdePkg.ci.yaml: Add configuration for Ecc check
>       NetworkPkg/NetworkPkg.ci.yaml: Add configuration for Ecc check
>       OvmfPkg/OvmfPkg.ci.yaml: Add configuration for Ecc check
>       PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml: Add configuration for Ecc check
>       SecurityPkg/SecurityPkg.ci.yaml: Add configuration for Ecc check
>       ShellPkg/ShellPkg.ci.yaml: Add configuration for Ecc check
>       UefiCpuPkg/UefiCpuPkg.ci.yaml: Add configuration for Ecc check
>       UnitTestFrameworkPkg: Add configuration for Ecc check in yaml file
>       .pytool/EccCheck: Disable Ecc error code 10014 for open CI
>       Revert ".pytool/EccCheck: Disable Ecc error code 10014 for open CI"
>
> Siyuan Fu (10):
>       Maintainers.txt: Change NetworkPkg maintainer role.
>       NetworkPkg/SnpDxe: Use PcdGetBool() instead of FixedPcdGetBool in Snp.c
>       UefiCpuPkg: Remove alignment check when calculate microcode size.
>       UefiCpuPkg: Always load microcode patch on AP processor.
>       MdePkg: Add header file for Firmware Interface Table specification.
>       UefiCpuPkg: Shadow microcode patch according to FIT microcode entry.
>       MdeModulePkg/Capsule: Remove RT restriction in UpdateCapsule service.
>       UefiCpuPkg: Remove FIT based microcode shadow logic from MpInitLib.
>       MdePkg: Remove FIT table industry standard header file.
>       NetworkPkg/ArpDxe: Recycle invalid ARP packets (CVE-2019-14559)
>
> Star Zeng (11):
>       UefiCpuPkg CpuCommFeaturesLib: Disable TraceEn at the beginning
>       UefiCpuPkg CpuCommFeaturesLib: Fix GP fault issue about ProcTrace
>       UefiCpuPkg CpuCommFeaturesLib: Fix ASSERT if LMCE is supported
>       UefiCpuPkg CpuCommFeaturesLib: Reduce to set MSR_IA32_CLOCK_MODULATION
>       UefiCpuPkg RegisterCpuFeaturesLib.h: Fix typo 'STRICK' to 'STRIKE'
>       MdeModulePkg SmbiosMeasurementDxe: Add Type4 Voltage field to blacklist
>       UefiCpuPkg RegisterCpuFeaturesLib: Fix an ASSERTION issue
>       UefiCpuPkg CpuCommonFeaturesLib: Enhance Ppin code
>       UefiCpuPkg DxeRegisterCpuFeaturesLib: Fix VS2012 build failure
>       SourceLevelDebugPkg DebugCommLibUsb3: Address NULL ptr dereference case
>       UefiCpuPkg RegisterCpuFeaturesLib: Match data type and format specifier
>
> Stephano Cetola (1):
>       EmulatorPkg: update HOST_TOOLS to xcode5
>
> Steven Shi (17):
>       BaseTools:Build cache cannot store the cache files for library package
>       BaseTools:Build Cache output notification message
>       BaseTools: Cannot store library cache of different arch together
>       BaseTools:Introduce CopyFileOnChange() function to copy cache files
>       BaseTools: Improve the cache hit in the edk2 build cache
>       BaseTools: Print first cache missing file for build cachle
>       BaseTools: Change the [Arch][Name] module key in Build cache
>       BaseTools: Add GenFds multi-thread support in build cache
>       BaseTools: Improve the file saving and copying reliability
>       BaseTools: Support long file path in windows for misc functions
>       BaseTools: Support more file types in build cache
>       BaseTools: Add more parameter checking for CopyFileOnChange()
>       BaseTools: store more complete output files in binary cache
>       BaseTools: enhance the CacheCopyFile method arg names
>       BaseTools: Leverage compiler output to optimize binary cache
>       BaseTools: Remove redundant binary cache file
>       BaseTools: Enhance call stack unwindability for CLANGPDB x64 binary
>
> Sunny Wang (1):
>       MdeModulePkg/BdsDxe: Fix PlatformRecovery issue
>
> Tom Lendacky (50):
>       UefiCpuPkg/CpuExceptionHandler: Make XCODE5 changes toolchain specific
>       OvmfPkg: Use toolchain appropriate CpuExceptionHandlerLib
>       UefiCpuPkg/CpuExceptionHandler: Revert CpuExceptionHandler binary patching
>       MdeModulePkg: Create PCDs to be used in support of SEV-ES
>       UefiCpuPkg: Create PCD to be used in support of SEV-ES
>       MdePkg: Add the MSR definition for the GHCB register
>       MdePkg: Add a structure definition for the GHCB
>       MdeModulePkg/DxeIplPeim: Support GHCB pages when creating page tables
>       MdePkg/BaseLib: Add support for the XGETBV instruction
>       MdePkg/BaseLib: Add support for the VMGEXIT instruction
>       UefiCpuPkg: Implement library support for VMGEXIT
>       OvmfPkg: Prepare OvmfPkg to use the VmgExitLib library
>       UefiPayloadPkg: Prepare UefiPayloadPkg to use the VmgExitLib library
>       UefiCpuPkg/CpuExceptionHandler: Add base support for the #VC exception
>       OvmfPkg/VmgExitLib: Implement library support for VmgExitLib in OVMF
>       OvmfPkg/VmgExitLib: Add support for IOIO_PROT NAE events
>       OvmfPkg/VmgExitLib: Support string IO for IOIO_PROT NAE events
>       OvmfPkg/VmgExitLib: Add support for CPUID NAE events
>       OvmfPkg/VmgExitLib: Add support for MSR_PROT NAE events
>       OvmfPkg/VmgExitLib: Add support for NPF NAE events (MMIO)
>       OvmfPkg/VmgExitLib: Add support for WBINVD NAE events
>       OvmfPkg/VmgExitLib: Add support for RDTSC NAE events
>       OvmfPkg/VmgExitLib: Add support for RDPMC NAE events
>       OvmfPkg/VmgExitLib: Add support for INVD NAE events
>       OvmfPkg/VmgExitLib: Add support for VMMCALL NAE events
>       OvmfPkg/VmgExitLib: Add support for RDTSCP NAE events
>       OvmfPkg/VmgExitLib: Add support for MONITOR/MONITORX NAE events
>       OvmfPkg/VmgExitLib: Add support for MWAIT/MWAITX NAE events
>       OvmfPkg/VmgExitLib: Add support for DR7 Read/Write NAE events
>       OvmfPkg/MemEncryptSevLib: Add an SEV-ES guest indicator function
>       OvmfPkg: Add support to perform SEV-ES initialization
>       OvmfPkg: Create a GHCB page for use during Sec phase
>       OvmfPkg/PlatformPei: Reserve GHCB-related areas if S3 is supported
>       OvmfPkg: Create GHCB pages for use during Pei and Dxe phase
>       OvmfPkg/PlatformPei: Move early GDT into ram when SEV-ES is enabled
>       UefiCpuPkg: Create an SEV-ES workarea PCD
>       OvmfPkg: Reserve a page in memory for the SEV-ES usage
>       OvmfPkg/PlatformPei: Reserve SEV-ES work area if S3 is supported
>       OvmfPkg/ResetVector: Add support for a 32-bit SEV check
>       OvmfPkg/Sec: Add #VC exception handling for Sec phase
>       OvmfPkg/Sec: Enable cache early to speed up booting
>       OvmfPkg/QemuFlashFvbServicesRuntimeDxe: Bypass flash detection with SEV-ES
>       UefiCpuPkg: Add a 16-bit protected mode code segment descriptor
>       UefiCpuPkg/MpInitLib: Add CPU MP data flag to indicate if SEV-ES is enabled
>       UefiCpuPkg: Allow AP booting under SEV-ES
>       OvmfPkg: Use the SEV-ES work area for the SEV-ES AP reset vector
>       OvmfPkg: Move the GHCB allocations into reserved memory
>       UefiCpuPkg/MpInitLib: Prepare SEV-ES guest APs for OS use
>       Maintainers.txt: Add reviewers for the OvmfPkg SEV-related files
>       UefiCpuPkg/MpInitLib: Always initialize the DoDecrement variable
>
> Tom Zhao (1):
>       MdePkg: UefiLib: Add a function to check if a language is supported
>
> Tomas Pilar (7):
>       ShellPkg/AcpiView: Move log reset to main method
>       ShellPkg/AcpiView: Refactor configuration
>       ShellPkg/AcpiView: Move table count reset
>       ShellPkg/AcpiView: Move parameter parsing
>       ShellPkg/AcpiView: Refactor DumpAcpiTableToFile
>       ShellPkg: Add AcpiViewCommandLib
>       ShellPkg/AcpiView: Add application wrapper
>
> Vijayenthiran Subramaniam (1):
>       ArmPkg/ArmSvcLib: prevent speculative execution beyond svc
>
> Vin Xue (1):
>       SignedCapsulePkg: Address NULL pointer dereference case.
>
> Vitaly Cheptsov (10):
>       MdePkg: Add STATIC_ASSERT macro
>       MdeModulePkg/ResetUtilityLib: Use STATIC_ASSERT macro
>       MdePkg: Use STATIC_ASSERT macro
>       MdePkg: Drop VERIFY_SIZE_OF in favour of STATIC_ASSERT
>       BaseTools: Do not call sys.setdefaultencoding with python 3
>       MdePkg: Do not use CreateEventEx unless required
>       BaseTools: Switch to GNU mode for CLANGPDB
>       OvmfPkg: Fix SMM/RT driver section alignment for XCODE5/CLANGPDB
>       BaseTools: Use SEH exceptions in CLANGPDB for IA32
>       MdePkg: Fix SafeString performing assertions on runtime checks
>
> Vladimir Olovyannikov (1):
>       MdePkg: UefiFileHandleLib: fix buffer overrun in FileHandleReadLine()
>
> Walon Li (1):
>       MdeModulePkg/SetupBrowserDxe: Do not reconnect driver with form-update
>
> Wasim Khan (1):
>       MdePkg: Include Acpi header file
>
> Wei6 Xu (29):
>       MdeModulePkg: Add Capsule On Disk related definition.
>       MdeModulePkg/CapsuleApp: Enhance Capsule-On-Disk related functions.
>       MdeModulePkg/BdsDxe: Support Capsule On Disk.
>       MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature.
>       MdeModulePkg/DxeIpl: Support Capsule On Disk.
>       MdeModulePkg: Add Capsule On Disk APIs into CapsuleLib.
>       MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM.
>       MdeModulePkg/CapsuleApp: Enhance Capsule-On-Disk related functions.
>       MdeModulePkg: Add Capsule On Disk related definition.
>       MdeModulePkg/BdsDxe: Support Capsule On Disk.
>       MdeModulePkg/CapsuleRuntimeDxe: Introduce PCD to control this feature.
>       MdeModulePkg/DxeIpl: Support Capsule On Disk.
>       MdeModulePkg: Add Capsule On Disk APIs into CapsuleLib.
>       MdeModulePkg: Add CapsuleOnDiskLoadPei PEIM.
>       MdeModulePkg/DxeCapsuleLibFmp: Add missing NULL pointer check.
>       MdePkg/UefiDebugLibConOut: Add destructor to CloseEvent
>       MdePkg/UefiDebugLibDebugPortProtocol: Add destructor to CloseEvent
>       MdePkg/UefiDebugLibStdErr: Add destructor to CloseEvent
>       MdeModulePkg/CapsuleApp: Improve comparisons in CapsuleOnDisk.c
>       MdeModulePkg/DxeCapsuleLibFmp: Improve comparisons in CapsuleOnDisk.c
>       MdePkg: Add definition for Fmp Capsule Dependency.
>       MdeModulePkg/CapsuleApp: Enhance CapsuleApp for Fmp Capsule Dependency
>       FmdDevicePkg/FmpDxe: Support Fmp Capsule Dependency.
>       FmpDevicePkg: Add FmpDependency library class and BASE instance
>       FmpDevicePkg/Test: Add FmpDependencyLib unit test
>       FmpDevicePkg: Add FmpDependencyCheck library class and instances
>       FmpDevicePkg: Add FmpDependencyDevice library class and NULL instance
>       FmpDevicePkg/FmpDxe: Use new Fmp dependency libraries
>       Maintainers.txt: Add reviewer for FmpDevicePkg.
>
> XiaoyuX Lu (4):
>       CryptoPkg/BaseCryptLib: Wrap OpenSSL SM3 algorithm
>       CryptoPkg/OpensslLib: Fix CR/LF issue
>       CryptoPkg/OpensslLib: disable autoload-config for OpenSSL
>       CryptoPkg/OpensslLib: Exclude err_all.c in process_files.pl
>
> Ye Ting (1):
>       Change package reviewer of CryptoPkg.
>
> Yonghong Zhu (1):
>       Maintainers.txt: Remove Yonghong from BaseTools Reviewer
>
> Yuwei Chen (2):
>       BaseTools: Add Guid name support in GenFfs.
>       Maintainers.txt: Add 'Yuwei Chen' for BaseTools review
>
> Zhang, Chao B (2):
>       Revert "Capsule-on-Disk entire Patch
>       Maintainers.txt: Change SecurityPkg Maintainer Role
>
> Zhichao Gao (50):
>       MdeModulePkg/GraphicsConsoleDxe: Initialize the output mode
>       MdeMoudlePkg/CapsulePei: Fix coding style issue
>       MdeMoudlePkg/CapsulePei: Optimize AreCapsulesStaged
>       MdeMoudlePkg/CapsulePei: Optimize GetScatterGatherHeadEntries
>       MdeMoudlePkg/CapsulePei: No need to remain space for null-terminate
>       MdeModulePkg/CapsulePei: Add memory pointer check
>       UefiCpuPkg/MpInitLib: MicrocodeDetect: Ensure checked range is valid
>       MdeModulePkg/BdsDxe: Use a pcd to control PlatformRecovery
>       ShellPkg/Type.c: Add value check before (LoopVar - 1)
>       CryptoPkg/BaseCryptLib: Use cmp-operator for non-Boolean comparisons
>       ShellPkg/UefiShellLevel2CommansLib: Pointer Resonse should be checked
>       ShellPkg/UefiShellDriver1CommandsLib: Make array big enough
>       ShellPkg/Pci.c: Update supported link speed to PCI5.0
>       MdeModulePkg: Extend the support keyboard type of Terminal console
>       MdeModulePkg/TerminalDxe: Extend the terminal console support types
>       MdeModulePkg/BM_UI: Add the new terminal types to related menu
>       MdeModulePkg/TerminalDxe: Enhance the arrow keys support
>       MdePkg/SmBios.h: SMBIOS 3.3.0 add PCI gen4 values for type 9
>       MdePkg/SmBios.h: SMBIOS 3.3.0 add support for CXL Flexbus
>       MdePkg/SmBios.h: SMBIOS 3.3.0 Add value HBM and Die for type 17
>       MdePkg/SmBios.h: SMBIOS 3.3.0 Update Intel Persistent Memory string
>       ShellPkg/SmbiosView: SMBIOS 3.3.0 add PCI gen4 values for type 9
>       ShellPkg/SmbiosView: SMBIOS 3.3.0 add support for CXL Flexbus
>       ShellPkg/SmbiosView: SMBIOS 3.3.0 Add value HBM and Die for type 17
>       ShellPkg/SmbiosView: SMBIOS 3.3.0 Update "Intel persistent memory"
>       ShellPkg/UefiHandleParsingLib: Fix error allocate pool
>       ShellPkg/ShellProtocol: Return error code while fail parsing cmd-line
>       SecurityPkg/TcgPhysicalPresenceLib: Replace the ASSERT with error code
>       CryptoPkg/CryptoDxe: Add function to indicate the deprecated algorithm
>       CryptoPkg/BaseCrpytLib: Retire MD4 algorithm
>       CryptoPkg/OpensslLib: Set MD4 disable in OpensslLib
>       CryptoPkg/BaseCryptLib: Retire ARC4 algorithm
>       CryptoPkg/OpensslLib: Set ARC4 disable in OpensslLib
>       CryptoPkg/BaseCryptLib: Retire the TDES algorithm
>       CryptoPkg/OpensslLib: Set TDES disable in OpensslLib
>       CryptoPkg/BaseCryptLib: Retire Aes Ecb mode algorithm
>       CryptoPkg/OpensslLib: Remove the Aes Ecb file in the OpensslLib
>       CryptoPkg/BaseCryptLib: Retire HMAC MD5 algorithm
>       CryptoPkg/BaseCryptLib: Retire HMAC SHA1 algorithm
>       CryptoPkg/opensslconf.h: Covert the file ending to dos format
>       CryptoPkg/Crypto.h: Update the version of Crypto Driver
>       CryptoPkg/BaseCryptLib: Add MARCO to disable the deprecated MD5
>       CryptoPkg/BaseCryptLib: Add MARCO to disable the deprecated SHA1
>       MdeModulePkg/PartitionDxe: Correct the MBR last block value
>       MdeModulePkg/PartitionDxe: Skip the MBR that add for CD-ROM
>       MdeModulePkg/PartitionDxe: Add already start check for child hanldes
>       Maintainers.txt: Add reviewer for serial, disk and SMBIOS
>       MdeModulePkg/PartitionDxe: Put the UDF check ahead of MBR
>       MdeModulePkg/PartitionDxe: Revert changes for the special MBR
>       MdeModulePkg/PartitionDxe: Fix the incorrect LBA size in child hander
>
> Zhiguang Liu (14):
>       BaseTools: Add map file parsing support for CLANG9
>       BaseTools: Add support for parseing map files generated by CLANG9 in GenFv
>       MdeModulePkg: Unify the definitions of size_t
>       MdeModulePkg: LzmaCustomDecompressLib.inf don't support EBC anymore
>       MdeModulePkg: Add ARM/Aarch64 support which were missing
>       edksetup.bat: Simplify the step to use CLANGPDB
>       BaseTools: append -DNO_MSABI_VA_FUNCS option in CLANGPDB tool chain
>       MdePkg: Avoid using __clang__ to specify CLANGPDB
>       BaseTools: remove -DNO_MSABI_VA_FUNCS option in CLANGPDB tool chain
>       MdePkg DebugLib: Enable FILE NAME as DEBUG ASSERT for CLANG
>       MdePkg: add definitions for ACPI NVDIMM Device Path
>       Using LLVM compiler set to build BaseTools in Linux
>       Maintainers.txt: Add 'Zhiguang Liu' for MdePkg review
>       SecurityPkg: Initailize variable Status before it is consumed.
>
> Zhijux Fan (27):
>       BaseTools:Make BaseTools support new rules to generate RAW FFS FILE
>       BaseTools:Add import in FvImageSection
>       BaseTools:Add DetectNotUsedItem.py to Edk2\BaseTools\Scripts
>       BaseTools:Remove unused Edk2\BuildNotes2.txt
>       BaseTools:Linux changes the way the latest version is judged
>       BaseTools:Add the Judgment Method of "--exclude"
>       BaseTools: Update incorrect variable name 'DataPile'
>       BaseTools:Ecc handle another copyright format
>       BaseTools:ECC need to handle lower case 'static'
>       BaseTools:Replace PlatformInfo with PlatformAutoGen for Moudle
>       BaseTools:change some incorrect parameter defaults
>       BaseTools:Fix the issue that build report failed
>       BaseTools:"--exclude" don't apply if parameter ends with separator
>       BaseTools:Add [packages] section in dsc file
>       BaseTools:fix regression issue for platform .map file
>       BaseTools:Enhance the way to handling included dsc file
>       BaseTools:replaces the two offending quotes by ascii quotes
>       BaseTools:Change the case rules for ECC check pointer names
>       BaseTools:Fix GenFds issue for BuildOption replace GenFdsOption
>       BaseTools:fix Ecc tool issue for check StructPcd
>       BaseTools: Fixed build failure when using python38
>       BaseTools:build failure in CLANGPDB tool chain
>       BaseTools:copy the common PcdValueCommon.c to output directory
>       BaseTools:fix issue for decode the stdout/stderr byte arrays
>       BaseTools:Fix build tools print traceback info issue
>       BaseTools:GuidedSectionTools.txt is not generated correctly
>       BaseTools:Add the spare space FV image size checker

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Philippe Mathieu-Daude <philmd@redhat.com>
Message-Id: <20200908072939.30178-6-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agotests: acpi: tolerate "virt/SSDT.memhp" mismatch temporarily
Laszlo Ersek [Tue, 8 Sep 2020 06:12:38 +0000 (08:12 +0200)] 
tests: acpi: tolerate "virt/SSDT.memhp" mismatch temporarily

Tolerate "virt/SSDT.memhp" mismatch temporarily to let
"check-qtest-aarch64" pass until we refresh the AML after
advancing the edk2 submodule to tag edk2-stable202008.

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-5-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agoroms/Makefile.edk2: prepare for replacing TPM2*_ENABLE macros
Laszlo Ersek [Mon, 7 Sep 2020 20:03:36 +0000 (22:03 +0200)] 
roms/Makefile.edk2: prepare for replacing TPM2*_ENABLE macros

Ekd2 commit 07952a962a40 ("OvmfPkg: rename TPM2 config prefix to TPM",
2020-03-04), part of edk2-stable202005, renamed OVMF's TPM2*_ENABLE build
flags to TPM*_ENABLE. Going forward, the TPM*_ENABLE flags would activate
both TPM1.2 and TPM2.0 support.

In order to build OVMF at edk2-stable202008 without losing currently
enabled functionality, insert the new flags as no-ops now. We'll remove
the old flags after advancing with the edk2 submodule.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-4-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agoroms/efirom, tests/uefi-test-tools: update edk2's own submodules first
Laszlo Ersek [Mon, 7 Sep 2020 20:13:02 +0000 (22:13 +0200)] 
roms/efirom, tests/uefi-test-tools: update edk2's own submodules first

In edk2 commit 06033f5abad3 ("BaseTools: Make brotli a submodule",
2020-04-16), part of edk2-stable202005, the Brotli compressor /
decompressor source code that edk2 had flattened into BaseTools was
replaced with a git submodule.

This means we have to initialize edk2's own submodules before building
BaseTools not just in "roms/Makefile.edk2", but in "roms/Makefile" (for
the sake of the "efirom" target) and "tests/uefi-test-tools/Makefile" as
well.

Right now this patch is effectively a no-op; it will become meaningful
after we move the edk2 submodule to edk2-stable202008.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-3-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agoMakefile: remove obsolete edk2 exception from "clean" rule
Laszlo Ersek [Mon, 7 Sep 2020 22:05:44 +0000 (00:05 +0200)] 
Makefile: remove obsolete edk2 exception from "clean" rule

The file "BaseTools/Source/Python/UPT/Dll/sqlite3.dll" was removed in edk2
commit 26e2b295ec7a ("BaseTools:Remove unused
BaseTools\Source\Python\UPT\Dll", 2019-05-08), part of edk2-stable201905,
so skipping it in the outermost in-tree "clean" rule is unnecessary.

Remove the obsolete pathname reference.

Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Ref: https://bugs.launchpad.net/qemu/+bug/1852196
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908072939.30178-2-lersek@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
8 months agoMerge remote-tracking branch 'remotes/alistair/tags/pull-riscv-to-apply-20200910...
Peter Maydell [Sun, 13 Sep 2020 19:29:35 +0000 (20:29 +0100)] 
Merge remote-tracking branch 'remotes/alistair/tags/pull-riscv-to-apply-20200910' into staging

This PR includes multiple fixes and features for RISC-V:
 - Fixes a bug in printing trap causes
 - Allows 16-bit writes to the SiFive test device. This fixes the
   failure to reboot the RISC-V virt machine
 - Support for the Microchip PolarFire SoC and Icicle Kit
 - A reafactor of RISC-V code out of hw/riscv

# gpg: Signature made Thu 10 Sep 2020 19:08:06 BST
# gpg:                using RSA key F6C4AC46D4934868D3B8CE8F21E10D29DF977054
# gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [full]
# Primary key fingerprint: F6C4 AC46 D493 4868 D3B8  CE8F 21E1 0D29 DF97 7054

* remotes/alistair/tags/pull-riscv-to-apply-20200910: (30 commits)
  hw/riscv: Sort the Kconfig options in alphabetical order
  hw/riscv: Drop CONFIG_SIFIVE
  hw/riscv: Always build riscv_hart.c
  hw/riscv: Move sifive_test model to hw/misc
  hw/riscv: Move sifive_uart model to hw/char
  hw/riscv: Move riscv_htif model to hw/char
  hw/riscv: Move sifive_plic model to hw/intc
  hw/riscv: Move sifive_clint model to hw/intc
  hw/riscv: Move sifive_gpio model to hw/gpio
  hw/riscv: Move sifive_u_otp model to hw/misc
  hw/riscv: Move sifive_u_prci model to hw/misc
  hw/riscv: Move sifive_e_prci model to hw/misc
  hw/riscv: sifive_u: Connect a DMA controller
  hw/riscv: clint: Avoid using hard-coded timebase frequency
  hw/riscv: microchip_pfsoc: Hook GPIO controllers
  hw/riscv: microchip_pfsoc: Connect 2 Cadence GEMs
  hw/arm: xlnx: Set all boards' GEM 'phy-addr' property value to 23
  hw/net: cadence_gem: Add a new 'phy-addr' property
  hw/riscv: microchip_pfsoc: Connect a DMA controller
  hw/dma: Add SiFive platform DMA controller emulation
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
# Conflicts:
# hw/riscv/trace-events

8 months agoqga: add command guest-get-devices for reporting VirtIO devices
Tomáš Golembiovský [Tue, 21 Jul 2020 15:40:41 +0000 (17:40 +0200)] 
qga: add command guest-get-devices for reporting VirtIO devices

Add command for reporting devices on Windows guest. The intent is not so
much to report the devices but more importantly the driver (and its
version) that is assigned to the device. This gives caller the
information whether VirtIO drivers are installed and/or whether
inadequate driver is used on a device (e.g. QXL device with base VGA
driver).

Example:
[
    {
      "driver-date": "2019-08-12",
      "driver-name": "Red Hat VirtIO SCSI controller",
      "driver-version": "100.80.104.17300",
      "address": {
        "type": "pci",
        "data": {
          "device-id": 4162,
          "vendor-id": 6900
        }
      }
    },
    ...
]

Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
*remove redundant glib autoptr declaration for GuestDeviceInfo
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
8 months agoqga/commands-posix: Support fsinfo for non-PCI virtio devices, too
Thomas Huth [Wed, 22 Jul 2020 04:40:28 +0000 (06:40 +0200)] 
qga/commands-posix: Support fsinfo for non-PCI virtio devices, too

QEMU on s390x uses virtio via channel I/O instead of PCI by default.
Add a function to detect and provide information for virtio-scsi and
virtio-block devices here, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
8 months agoqga/commands-posix: Move the udev code from the pci to the generic function
Thomas Huth [Wed, 22 Jul 2020 04:40:27 +0000 (06:40 +0200)] 
qga/commands-posix: Move the udev code from the pci to the generic function

The libudev-related code is independent from the other pci-related code
and can be re-used for non-pci devices (like ccw devices on s390x). Thus
move this part to the generic function.

Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1755075
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
8 months agoqga/commands-posix: Rework build_guest_fsinfo_for_real_device() function
Thomas Huth [Wed, 22 Jul 2020 04:40:26 +0000 (06:40 +0200)] 
qga/commands-posix: Rework build_guest_fsinfo_for_real_device() function

We are going to support non-PCI devices soon. For this we need to split
the generic GuestDiskAddress and GuestDiskAddressList memory allocation
and list chaining into a separate function first.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
8 months agoMerge remote-tracking branch 'remotes/stsquad/tags/pull-testing-fixes-100920-1' into...
Peter Maydell [Sat, 12 Sep 2020 21:54:32 +0000 (22:54 +0100)] 
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-fixes-100920-1' into staging

Various misc and testing fixes:

  - Expand CODING_STYLE.rst a little more
  - usb-host build fix
  - allow check-softfloat unit tests without TCG
  - simplify mips imm_branch so compiler isn't confused
  - mark ppc64abi32 for deprecation
  - more compiler soothing in pch_rev_id
  - allow acceptance to skip missing binaries
  - more a bunch of plugins to contrib

# gpg: Signature made Thu 10 Sep 2020 10:51:05 BST
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* remotes/stsquad/tags/pull-testing-fixes-100920-1:
  plugins: move the more involved plugins to contrib
  tests/acceptance: Add Test.fetch_asset(cancel_on_missing=True)
  tests: bump avocado version
  hw/i386: make explicit clearing of pch_rev_id
  configure: don't enable ppc64abi32-linux-user by default
  docs/system/deprecated: mark ppc64abi32-linux-user for deprecation
  target/mips: simplify gen_compute_imm_branch logic
  tests/meson.build: fp tests don't need CONFIG_TCG
  usb-host: restrict workaround to new libusb versions
  CODING_STYLE.rst: flesh out our naming conventions.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agoMerge remote-tracking branch 'remotes/berrange-gitlab/tags/crypt-perf-pull-request...
Peter Maydell [Sat, 12 Sep 2020 20:17:22 +0000 (21:17 +0100)] 
Merge remote-tracking branch 'remotes/berrange-gitlab/tags/crypt-perf-pull-request' into staging

Improve performance of crypto cipher subsystem

# gpg: Signature made Thu 10 Sep 2020 11:05:18 BST
# gpg:                using RSA key DAF3A6FDB26B62912D0E8E3FBE86EBB415104FDF
# gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
# gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
# Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF

* remotes/berrange-gitlab/tags/crypt-perf-pull-request:
  crypto/gcrypt: Split QCryptoCipherGcrypt into subclasses
  crypto/nettle: Split QCryptoCipherNettle into subclasses
  crypto/builtin: Split QCryptoCipherBuiltin into subclasses
  crypto/builtin: Split and simplify AES_encrypt_cbc
  crypto/builtin: Move AES_cbc_encrypt into cipher-builtin.inc.c
  crypto/builtin: Merge qcrypto_cipher_aes_{ecb,xts}_{en,de}crypt
  crypto/builtin: Remove odd-sized AES block handling
  crypto: Constify cipher data tables
  crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new
  crypto: Allocate QCryptoCipher with the subclass
  crypto: Use the correct const type for driver
  crypto: Move QCryptoCipherDriver typedef to crypto/cipher.h
  crypto/nettle: Fix xts_encrypt arguments
  crypto: Remove redundant includes
  crypto: Rename cipher include files to .c.inc
  crypto: Assume blocksize is a power of 2
  tests: fix output message formatting for crypto benchmarks

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agoMerge remote-tracking branch 'remotes/vivier2/tags/trivial-branch-for-5.2-pull-reques...
Peter Maydell [Sat, 12 Sep 2020 13:23:15 +0000 (14:23 +0100)] 
Merge remote-tracking branch 'remotes/vivier2/tags/trivial-branch-for-5.2-pull-request' into staging

trivial patches pull request 20200911

# gpg: Signature made Fri 11 Sep 2020 20:32:27 BST
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/trivial-branch-for-5.2-pull-request:
  target/i386/kvm: Add missing fallthrough comment
  util/hexdump: Reorder qemu_hexdump() arguments
  util/hexdump: Convert to take a void pointer argument
  hw/arm/pxa2xx: Add missing fallthrough comment
  target/i386/kvm: Rename host_tsx_blacklisted() as host_tsx_broken()
  test-vmstate: remove unnecessary code in match_interval_mapping_node
  hw: hyperv: vmbus: Fix 32bit compilation
  kconfig: fix comment referring to old Makefiles
  meson.build: tweak sdl-image error message
  hw/net/e1000e: Remove duplicated write handler for FLSWDATA register
  hw/net/e1000e: Remove overwritten read handler for STATUS register
  Makefile: Skip the meson subdir in cscope/TAGS/ctags
  Makefile: Drop extra phony cscope
  hw/gpio/max7310: Replace disabled printf() by qemu_log_mask(UNIMP)
  hw/gpio/omap_gpio: Replace fprintf() by qemu_log_mask(GUEST_ERROR)
  hw/acpi/tco: Remove unused definitions
  hw/isa/isa-bus: Replace hw_error() by assert()
  hw/mips/fuloong2e: Convert pointless error message to an assert()

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
# Conflicts:
# net/colo-compare.c

8 months agotarget/i386/kvm: Add missing fallthrough comment
Thomas Huth [Fri, 11 Sep 2020 12:53:01 +0000 (14:53 +0200)] 
target/i386/kvm: Add missing fallthrough comment

Let's make this file compilable with -Werror=implicit-fallthrough :
Looking at the code, it seems like the fallthrough is intended here,
so we should add the corresponding "/* fallthrough */" comment here.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200911125301.413081-1-thuth@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agoutil/hexdump: Reorder qemu_hexdump() arguments
Philippe Mathieu-Daudé [Sat, 22 Aug 2020 18:09:50 +0000 (20:09 +0200)] 
util/hexdump: Reorder qemu_hexdump() arguments

qemu_hexdump()'s pointer to the buffer and length of the
buffer are closely related arguments but are widely separated
in the argument list order (also, the format of <stdio.h>
function prototypes is usually to have the FILE* argument
coming first).

Reorder the arguments as "fp, prefix, buf, size" which is
more logical.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20200822180950.1343963-3-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agoutil/hexdump: Convert to take a void pointer argument
Philippe Mathieu-Daudé [Sat, 22 Aug 2020 18:09:49 +0000 (20:09 +0200)] 
util/hexdump: Convert to take a void pointer argument

Most uses of qemu_hexdump() do not take an array of char
as input, forcing use of cast. Since we can use this
helper to dump any kind of buffer, use a pointer to void
argument instead.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20200822180950.1343963-2-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agohw/arm/pxa2xx: Add missing fallthrough comment
Thomas Huth [Fri, 11 Sep 2020 12:18:44 +0000 (14:18 +0200)] 
hw/arm/pxa2xx: Add missing fallthrough comment

Let's make this file compilable with -Werror=implicit-fallthrough :
Looking at the code, it seems like the fallthrough is intended here,
so we should add the corresponding "/* fallthrough */" comment here.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200911121844.404434-1-thuth@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agoMerge remote-tracking branch 'remotes/ehabkost/tags/machine-next-pull-request' into...
Peter Maydell [Fri, 11 Sep 2020 18:26:51 +0000 (19:26 +0100)] 
Merge remote-tracking branch 'remotes/ehabkost/tags/machine-next-pull-request' into staging

QOM boilerplate cleanup

Documentation build fix:
* memory: Remove kernel-doc comment marker (Eduardo Habkost)

QOM cleanups:
* Rename QOM macros for consistency between
  TYPE_* and type checking constants (Eduardo Habkost)

QOM new macros:
* OBJECT_DECLARE_* and OBJECT_DEFINE_* macros (Daniel P. Berrangé)
* DECLARE_*_CHECKER macros (Eduardo Habkost)

Automated QOM boilerplate changes:
* Automated changes to use DECLARE_*_CHECKER (Eduardo Habkost
* Automated changes to use OBJECT_DECLARE* (Eduardo Habkost)

# gpg: Signature made Thu 10 Sep 2020 19:17:49 BST
# gpg:                using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6
# gpg:                issuer "ehabkost@redhat.com"
# gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/machine-next-pull-request: (33 commits)
  virtio-vga: Use typedef name for instance_size
  vhost-user-vga: Use typedef name for instance_size
  xilinx_axienet: Use typedef name for instance_size
  lpc_ich9: Use typedef name for instance_size
  omap_intc: Use typedef name for instance_size
  xilinx_axidma: Use typedef name for instance_size
  tusb6010: Rename TUSB to TUSB6010
  pc87312: Rename TYPE_PC87312_SUPERIO to TYPE_PC87312
  vfio: Rename PCI_VFIO to VFIO_PCI
  usb: Rename USB_SERIAL_DEV to USB_SERIAL
  sabre: Rename SABRE_DEVICE to SABRE
  rs6000_mc: Rename RS6000MC_DEVICE to RS6000MC
  filter-rewriter: Rename FILTER_COLO_REWRITER to FILTER_REWRITER
  esp: Rename ESP_STATE to ESP
  ahci: Rename ICH_AHCI to ICH9_AHCI
  vmgenid: Rename VMGENID_DEVICE to TYPE_VMGENID
  vfio: Rename VFIO_AP_DEVICE_TYPE to TYPE_VFIO_AP_DEVICE
  dev-smartcard-reader: Rename CCID_DEV_NAME to TYPE_USB_CCID_DEV
  ap-device: Rename AP_DEVICE_TYPE to TYPE_AP_DEVICE
  gpex: Fix type checking function name
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agoMerge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Peter Maydell [Fri, 11 Sep 2020 13:47:49 +0000 (14:47 +0100)] 
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block layer patches:

- qemu-img create: Fail gracefully when backing file is an empty string
- Fixes related to filter block nodes ("Deal with filters" series)
- block/nvme: Various cleanups required to use multiple queues
- block/nvme: Use NvmeBar structure from "block/nvme.h"
- file-win32: Fix "locking" option
- iotests: Allow running from different directory

# gpg: Signature made Thu 10 Sep 2020 10:11:19 BST
# gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg:                issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6

* remotes/kevin/tags/for-upstream: (65 commits)
  block/qcow2-cluster: Add missing "fallthrough" annotation
  block/nvme: Pair doorbell registers
  block/nvme: Use generic NvmeBar structure
  block/nvme: Group controller registers in NVMeRegs structure
  file-win32: Fix "locking" option
  iotests: Allow running from different directory
  iotests: Test committing to overridden backing
  iotests: Add test for commit in sub directory
  iotests: Add filter mirror test cases
  iotests: Add filter commit test cases
  iotests: Let complete_and_wait() work with commit
  iotests: Test that qcow2's data-file is flushed
  block: Leave BDS.backing_{file,format} constant
  block: Inline bdrv_co_block_status_from_*()
  blockdev: Fix active commit choice
  block: Drop backing_bs()
  qemu-img: Use child access functions
  nbd: Use CAF when looking for dirty bitmap
  commit: Deal with filters
  backup: Deal with filters
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agotarget/i386/kvm: Rename host_tsx_blacklisted() as host_tsx_broken()
Philippe Mathieu-Daudé [Thu, 10 Sep 2020 07:01:31 +0000 (09:01 +0200)] 
target/i386/kvm: Rename host_tsx_blacklisted() as host_tsx_broken()

In order to use inclusive terminology, rename host_tsx_blacklisted()
as host_tsx_broken().

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200910070131.435543-7-philmd@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agotest-vmstate: remove unnecessary code in match_interval_mapping_node
Pan Nengyuan [Thu, 10 Sep 2020 02:38:18 +0000 (10:38 +0800)] 
test-vmstate: remove unnecessary code in match_interval_mapping_node

'str' is not used in match_interval_mapping_node(), remove it.

Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20200910023818.11880-1-pannengyuan@huawei.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agohw: hyperv: vmbus: Fix 32bit compilation
Jon Doron [Wed, 15 Jul 2020 08:43:26 +0000 (11:43 +0300)] 
hw: hyperv: vmbus: Fix 32bit compilation

Fix 32-bit build error for vmbus:

  hw/hyperv/vmbus.c: In function ‘gpadl_iter_io’:
  hw/hyperv/vmbus.c:383:13: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
  383 |         p = (void *)(((uintptr_t)iter->map & TARGET_PAGE_MASK) | off_in_page);
      |             ^
  cc1: all warnings being treated as errors

Fixes: 0d71f7082d7 ("vmbus: vmbus implementation")
Signed-off-by: Jon Doron <arilou@gmail.com>
Tested-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Message-Id: <20200715084326.678715-3-arilou@gmail.com>
[lv: updated with commit description from <20200906050113.2783642-1-richard.henderson@linaro.org>]
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agokconfig: fix comment referring to old Makefiles
Paolo Bonzini [Tue, 8 Sep 2020 09:42:44 +0000 (11:42 +0200)] 
kconfig: fix comment referring to old Makefiles

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908094244.26327-1-pbonzini@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agomeson.build: tweak sdl-image error message
Sergei Trofimovich [Tue, 8 Sep 2020 07:40:16 +0000 (08:40 +0100)] 
meson.build: tweak sdl-image error message

Before the change missing SDL was reported as:

    ../meson.build:253:4: ERROR: Expected 1 arguments, got 2.

After the error as:

    ../meson.build:258:4: ERROR: Problem encountered: sdl-image required, but SDL was not found

CC: Paolo Bonzini <pbonzini@redhat.com>
CC: "Marc-André Lureau" <marcandre.lureau@redhat.com>
CC: "Philippe Mathieu-Daudé" <philmd@redhat.com>
CC: Rafael Kitover <rkitover@gmail.com>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908074016.2593596-1-slyfox@gentoo.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agohw/net/e1000e: Remove duplicated write handler for FLSWDATA register
Philippe Mathieu-Daudé [Fri, 4 Sep 2020 13:14:02 +0000 (15:14 +0200)] 
hw/net/e1000e: Remove duplicated write handler for FLSWDATA register

The FLSWDATA register writeop handler is initialized twice:

  3067 #define e1000e_putreg(x)    [x] = e1000e_mac_writereg
  3068 typedef void (*writeops)(E1000ECore *, int, uint32_t);
  3069 static const writeops e1000e_macreg_writeops[] = {
  ....
  3102     e1000e_putreg(FLSWDATA),
  ....
  3145     e1000e_putreg(FLSWDATA),

To avoid confusion, remove the duplicated initialization.

Fixes: 6f3fbe4ed0 ("net: Introduce e1000e device emulation")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <20200904131402.590055-3-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agohw/net/e1000e: Remove overwritten read handler for STATUS register
Philippe Mathieu-Daudé [Fri, 4 Sep 2020 13:14:01 +0000 (15:14 +0200)] 
hw/net/e1000e: Remove overwritten read handler for STATUS register

The STATUS register readop handler is initialized first with
the generic e1000e_mac_readreg() handler:

  2861 #define e1000e_getreg(x)    [x] = e1000e_mac_readreg
  2862 typedef uint32_t (*readops)(E1000ECore *, int);
  2863 static const readops e1000e_macreg_readops[] = {
  ....
  2919     e1000e_getreg(STATUS),

Then overwritten with the specific e1000e_get_status handler:

  3018     [STATUS]  = e1000e_get_status,

To avoid confusion, remove the overwritten initialization.

6f3fbe4ed0 ("net: Introduce e1000e device emulation")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Message-Id: <20200904131402.590055-2-f4bug@amsat.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agoMakefile: Skip the meson subdir in cscope/TAGS/ctags
Greg Kurz [Thu, 3 Sep 2020 19:47:55 +0000 (21:47 +0200)] 
Makefile: Skip the meson subdir in cscope/TAGS/ctags

If the meson submodule is present, we don't really want to index its
source code. Consolidate the find command in a single place and use
it for cscope, ctags and etags. Note that this now causes ctags and
etags to also index assembly files, but this is okay since they both
have been supporting assembly since 2001 at least.

Signed-off-by: Greg Kurz <groug@kaod.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <159916247553.691541.10480293747685886851.stgit@bahia.lan>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agoMakefile: Drop extra phony cscope
Greg Kurz [Thu, 3 Sep 2020 19:47:48 +0000 (21:47 +0200)] 
Makefile: Drop extra phony cscope

Commit d79864058a64 added a dedicated phony line for cscope.

Fixes: d79864058a64 ("Makefile: Add back TAGS/ctags/cscope rules")
Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <159916246865.691541.16619858522304817323.stgit@bahia.lan>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
8 months agoMerge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
Peter Maydell [Thu, 10 Sep 2020 10:45:13 +0000 (11:45 +0100)] 
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging

Pull request

v2:
 * Rebased after meson and resolved conflict in "softmmu: Add missing trace-events file"
 * Dropped "meson: Don't make object files for dtrace on macOS" (already merged via Paolo's tree)

# gpg: Signature made Thu 10 Sep 2020 09:09:47 BST
# gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha/tags/tracing-pull-request:
  trace-events: Fix attribution of trace points to source
  trace-events: Delete unused trace points
  scripts/cleanup-trace-events: Emit files in alphabetical order
  scripts/cleanup-trace-events: Fix for vcpu property
  net/colo: Match is-enabled probe to tracepoint
  scripts/tracetool: Use void pointer for vcpu
  scripts/tracetool: Fix dtrace generation for macOS
  softmmu: Add missing trace-events file

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
8 months agocrypto/gcrypt: Split QCryptoCipherGcrypt into subclasses
Richard Henderson [Fri, 28 Aug 2020 17:05:23 +0000 (10:05 -0700)] 
crypto/gcrypt: Split QCryptoCipherGcrypt into subclasses

With gcrypt, most of the dispatch happens in the library,
so there aren't many classes to create.  However, we can
still create separate dispatch for CTR mode, and for
CONFIG_QEMU_PRIVATE_XTS, which avoids needing to check
for these modes at runtime.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto/nettle: Split QCryptoCipherNettle into subclasses
Richard Henderson [Fri, 28 Aug 2020 17:05:22 +0000 (10:05 -0700)] 
crypto/nettle: Split QCryptoCipherNettle into subclasses

Use separate classes for each cipher entry point: des_rfb, des3,
aes128, aes192, aes256, cast128, serpent, and twofish.

Generate wrappers for XTS only for CONFIG_QEMU_PRIVATE_XTS.
This eliminates unreachable wrappers for DES_RFB, DES3 and
CAST128, which have blocksizes that do not allow XTS mode.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto/builtin: Split QCryptoCipherBuiltin into subclasses
Richard Henderson [Fri, 28 Aug 2020 17:05:21 +0000 (10:05 -0700)] 
crypto/builtin: Split QCryptoCipherBuiltin into subclasses

We had a second set of function pointers in QCryptoCipherBuiltin,
which are redundant with QCryptoCipherDriver.  Split the AES and
DES implementations to avoid one level of indirection.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto/builtin: Split and simplify AES_encrypt_cbc
Richard Henderson [Fri, 28 Aug 2020 17:05:20 +0000 (10:05 -0700)] 
crypto/builtin: Split and simplify AES_encrypt_cbc

Split into encrypt/decrypt functions, dropping the "enc" argument.
Now that the function is private to this file, we know that "len"
is a multiple of AES_BLOCK_SIZE.  So drop the odd block size code.

Name the functions do_aes_*crypt_cbc to match the *_ecb functions.
Reorder and re-type the arguments to match as well.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto/builtin: Move AES_cbc_encrypt into cipher-builtin.inc.c
Richard Henderson [Fri, 28 Aug 2020 17:05:19 +0000 (10:05 -0700)] 
crypto/builtin: Move AES_cbc_encrypt into cipher-builtin.inc.c

By making the function private, we will be able to make further
simplifications.  Re-indent the migrated code and fix the missing
braces for CODING_STYLE.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto/builtin: Merge qcrypto_cipher_aes_{ecb,xts}_{en,de}crypt
Richard Henderson [Fri, 28 Aug 2020 17:05:18 +0000 (10:05 -0700)] 
crypto/builtin: Merge qcrypto_cipher_aes_{ecb,xts}_{en,de}crypt

There's no real reason we need two separate helper functions here.
Standardize on the function signature required for xts_encrypt.
Rename to do_aes_{en,de}crypt_ecb, since the helper does not
itself do anything with respect to xts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto/builtin: Remove odd-sized AES block handling
Richard Henderson [Fri, 28 Aug 2020 17:05:17 +0000 (10:05 -0700)] 
crypto/builtin: Remove odd-sized AES block handling

We verified that the data block is properly sized modulo
AES_BLOCK_SIZE within qcrypto_builtin_cipher_{en,de}crypt.
Therefore we will never have to handle odd sized blocks.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Constify cipher data tables
Richard Henderson [Fri, 28 Aug 2020 17:05:16 +0000 (10:05 -0700)] 
crypto: Constify cipher data tables

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new
Richard Henderson [Fri, 28 Aug 2020 17:05:15 +0000 (10:05 -0700)] 
crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new

The class vtable should be set by the class initializer.
This will also allow additional subclassing, reducing the
amount of indirection in the hierarchy.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Allocate QCryptoCipher with the subclass
Richard Henderson [Fri, 28 Aug 2020 17:05:14 +0000 (10:05 -0700)] 
crypto: Allocate QCryptoCipher with the subclass

Merge the allocation of "opaque" into the allocation of "cipher".
This is step one in reducing the indirection in these classes.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Use the correct const type for driver
Richard Henderson [Fri, 28 Aug 2020 17:05:13 +0000 (10:05 -0700)] 
crypto: Use the correct const type for driver

This allows the in memory structures to be read-only.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Move QCryptoCipherDriver typedef to crypto/cipher.h
Richard Henderson [Fri, 28 Aug 2020 17:05:12 +0000 (10:05 -0700)] 
crypto: Move QCryptoCipherDriver typedef to crypto/cipher.h

Allow the use in QCryptoCipher to be properly typed with
the opaque struct pointer.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto/nettle: Fix xts_encrypt arguments
Richard Henderson [Fri, 28 Aug 2020 17:05:11 +0000 (10:05 -0700)] 
crypto/nettle: Fix xts_encrypt arguments

The fourth argument to xts_encrypt should be the decrypt
callback; we were accidentally passing encrypt twice.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Remove redundant includes
Richard Henderson [Fri, 28 Aug 2020 17:05:10 +0000 (10:05 -0700)] 
crypto: Remove redundant includes

Both qemu/osdep.h and cipherpriv.h have already been
included by the parent cipher.c.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Rename cipher include files to .c.inc
Richard Henderson [Fri, 28 Aug 2020 17:05:09 +0000 (10:05 -0700)] 
crypto: Rename cipher include files to .c.inc

QEMU standard procedure for included c files is to use *.c.inc.
E.g. there are a different set of checks that are applied.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agocrypto: Assume blocksize is a power of 2
Richard Henderson [Fri, 28 Aug 2020 17:05:08 +0000 (10:05 -0700)] 
crypto: Assume blocksize is a power of 2

The check in the encode/decode path using full division has a
noticeable amount of overhead.  By asserting the blocksize is
a power of 2, we can reduce this check to a mask.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agotests: fix output message formatting for crypto benchmarks
Daniel P. Berrangé [Wed, 9 Sep 2020 12:01:45 +0000 (13:01 +0100)] 
tests: fix output message formatting for crypto benchmarks

The output was changed from g_print to g_test_message in

  commit 24441f912e67233d9c52ce6b459ed75de2484525
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   Fri Aug 28 15:07:30 2020 +0400

    tests: do not print benchmark output to stdout

    As this makes the TAP output invalid. Use g_test_message().

The functions do not result in equivalent output. The g_print
statements were putting all the information on a single line
for ease of interpretation. The change to g_test_message split
the output across many lines making it painful to read.

The opportunity is used to tweak the information printed to be
more consistent across tests.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
8 months agoplugins: move the more involved plugins to contrib
Alex Bennée [Wed, 9 Sep 2020 11:27:41 +0000 (12:27 +0100)] 
plugins: move the more involved plugins to contrib

We have an exploding complexity problem in the testing so lets just
move the more involved plugins into contrib. tests/plugins still exist
for the basic plugins that exercise the API. We restore the old
pre-meson style Makefile for contrib as it also doubles as a guide for
out-of-tree plugin builds.

While we are at it add some examples to the documentation and a
specific plugins build target.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200909112742.25730-11-alex.bennee@linaro.org>

8 months agotests/acceptance: Add Test.fetch_asset(cancel_on_missing=True)
Philippe Mathieu-Daudé [Wed, 9 Sep 2020 11:27:40 +0000 (12:27 +0100)] 
tests/acceptance: Add Test.fetch_asset(cancel_on_missing=True)

Invert the default of avocado.Test.fetch_asset 'cancel_on_missing'
keyword: accept missing artefacts by default. If a test is certain
an artifact can't be missing, it will set cancel_on_missing=False.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20200908202352.298506-3-philmd@redhat.com>
Message-Id: <20200909112742.25730-10-alex.bennee@linaro.org>

8 months agotests: bump avocado version
Pavel Dovgalyuk [Wed, 9 Sep 2020 11:27:39 +0000 (12:27 +0100)] 
tests: bump avocado version

Reverse debugging test uses gdb remote client of avocado framework.
This client was fixed since the currently used version 76.
Therefore this patch bumps the version to 81 and fixes command
line version compatibility issue.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <159903462803.28509.16851113546106095750.stgit@pasha-ThinkPad-X280>
Message-Id: <20200908202352.298506-2-philmd@redhat.com>
Message-Id: <20200909112742.25730-9-alex.bennee@linaro.org>

8 months agohw/i386: make explicit clearing of pch_rev_id
Alex Bennée [Wed, 9 Sep 2020 11:27:38 +0000 (12:27 +0100)] 
hw/i386: make explicit clearing of pch_rev_id

Some compilers (notably the Xenial gcc in Travis) fail to spot that
this will always be set if pch_dev_id != 0xffff. Given this is setup
code and using _Pragma to override is equally as ugly lets just remove
the doubt from the compilers mind.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200909112742.25730-8-alex.bennee@linaro.org>

8 months agoconfigure: don't enable ppc64abi32-linux-user by default
Alex Bennée [Wed, 9 Sep 2020 11:27:37 +0000 (12:27 +0100)] 
configure: don't enable ppc64abi32-linux-user by default

The user can still enable this explicitly but they will get a warning
at the end of configure for their troubles. This also drops any builds
of ppc64abi32 from our CI tests.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20200909112742.25730-7-alex.bennee@linaro.org>

8 months agodocs/system/deprecated: mark ppc64abi32-linux-user for deprecation
Alex Bennée [Wed, 9 Sep 2020 11:27:36 +0000 (12:27 +0100)] 
docs/system/deprecated: mark ppc64abi32-linux-user for deprecation

It's buggy and we are not sure anyone uses it.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20200909112742.25730-6-alex.bennee@linaro.org>