Skip to content
Tags give the ability to mark specific points in history as being important
  • ppc-for-6.2-20211109
    ppc patch queue for 2021-11-09
    
    Here's the latest set of ppc related patches for qemu-6.2, which I
    hope will squeeze in just barely before the hard freeze.
    
    This set includes a change to MAINTAINERS moving maintainership of ppc
    from myself and Greg Kurz to Cédric le Goater and Daniel Henrique
    Barboza.  So, I expect this to be my last pull request as ppc
    maintainer.  It's been great, but it's time I moved onto other things.
    
    Apart from that, this patchset is mostly a lot of updates to TCG
    implementations of ISA 3.1 (POWER10) instructions from the El Dorado
    team.  There are also a handful of other fixes.
    
  • ppc-for-6.2-20211021
    ppc patch queue 2021-10-21
    
    Here's the next batch of ppc target related patches for qemu-6.2.
    Highlights are:
     * Some fixes and minimal tests for old embedded ppc platforms
     * The beginnings of PMU emulation in TCG from Daniel Barboza
     * Some improvements to the pegasos2 platform
     * A number of TCG bugfixes from the folks at the El Dorado Institute
     * A few other assorted bugfixes and cleanups
    
  • ppc-for-6.2-20210930
    ppc patch queue for 2021-09-30
    
    Here's the next batch of ppc related patches for qemu-6.2.  Highlights
    are:
     * Fixes for several TCG math instructions from the El Dorado Institute
     * A number of improvements to the powernv machine type
     * Support for a new DEVICE_UNPLUG_GUEST_ERROR QAPI event from Daniel
       Barboza
     * Support for the new FORM2 PAPR NUMA representation.  This allows
       more specific NUMA distances, as well as asymmetric configurations
     * Fix for 64-bit decrementer (used on MicroWatt CPUs)
     * Assorted fixes and cleanups
     * A number of updates to MAINTAINERS
    
    Note that the DEVICE_UNPLUG_GUEST_ERROR stuff includes changes to
    files outside my normal area, but has suitable Acks.
    
    The MAINTAINERS updates are mostly about marking minor platforms
    unmaintained / orphaned, and moving some pieces away from myself and
    Greg.  As we move onto other projects, we're going to need to drop
    more of the ppc maintainership, though we're hoping we can avoid too
    abrupt a change.
    
  • ppc-for-6.2-20210827
    ppc patch queue 2021-08-27
    
    First ppc pull request for qemu-6.2.  As usual, there's a fair bit
    here, since it's been queued during the 6.1 freeze.  Highlights are:
    
     * Some fixes for 128 bit arithmetic and some vector opcodes that use
       them
     * Significant improvements to the powernv to support POWER10 cpus
       (more to come though)
     * Several cleanups to the ppc softmmu code
     * A few other assorted fixes
    
  • ppc-for-6.1-20210729
    ppc patch queue 2021-07-29
    
    Here's a small batch of bufixes for the ppc target to go into qemu-6.1.
    
  • ppc-for-6.1-20210713
    ppc patch queue 2021-07-13
    
    I thought I'd sent the last PR before the 6.1 soft freeze, but
    unfortunately I need one more.  This last minute one puts in a SLOF
    update, along with a couple of bugfixes.
    
  • ppc-for-6.1-20210709
    ppc patch queue 2021-07-09
    
    Here's a (probably) final pull request before the qemu-6.1 soft
    freeze.  Includes:
      * Implementation of the new H_RPT_INVALIDATE hypercall
      * Virtual Open Firmware for pSeries and pegasos2 machine types.
        This is an experimental minimal Open Firmware implementation which
        works by delegating nearly everything to qemu itself via a special
        hypercall.
      * A number of cleanups to the ppc soft MMU code
      * Fix to handling of two-level radix mode translations for the
        powernv machine type
      * Update the H_GET_CPU_CHARACTERISTICS call with newly defined bits.
        This will allow more flexible handling of possible future CPU
        Spectre-like flaws
      * Correctly treat mtmsrd as an illegal instruction on BookE cpus
      * Firmware update for the ppce500 machine type
    
  • ppc-for-6.1-20210603
    ppc patch queue 2021-06-03
    
    Next batch of ppc target patches.  Highlights are:
     * A fix for a regression with single-step mode
     * Start of moving ppc to use decodetree
     * Implementation of some POWER10 64-bit prefixed instructions
     * Several cleanups to softmmu code
     * Continued progress towards allowing --disable-tcg
     * Fix for the POWER PEF implementation
     * Fix for LPCR handling of hotplugged CPUs
     * Assorted other bugfixes and cleanups
    
    This patchset does contain a couple of changes to code outside my
    normal scope of maintainership, related to the removal of cpu_dump and
    cpu_statistics hooks.  ppc was the last target arch implementing these
    at all, and they didn't really do anything there either.  The patches
    should have relevant acks.
    
  • ppc-for-6.1-20210519
    ppc patch queue 2021-05-19
    
    Next set of ppc related patches for qemu-6.1.  Highlights are:
     * Start of a significant softmmu cleanup from Richard Henderson
     * Further work towards allowing builds without CONFIG_TCG
    
  • ppc-for-6.1-20210504
    ppc patch queue 2021-05-04
    
    Here's the first ppc pull request for qemu-6.1.  It has a wide variety
    of stuff accumulated during the 6.0 freeze.  Highlights are:
    
     * Multi-phase reset cleanups for PAPR
     * Preliminary cleanups towards allowing !CONFIG_TCG for the ppc target
     * Cleanup of AIL logic and extension to POWER10
     * Further improvements to handling of hot unplug failures on PAPR
     * Allow much larger numbers of CPU on pseries
     * Support for the H_SCM_HEALTH hypercall
     * Add support for the Pegasos II board
     * Substantial cleanup to hflag handling
     * Assorted minor fixes and cleanups
    
  • ppc-for-6.0-20210412
    ppc patch queue for 2021-04-21
    
    Here's what I hope is the last ppc related pull request for qemu-6.0.
    
    The 2 patches here revert a behavioural change that after further
    discussion we concluded was a bad idea (adding a timeout for
    possibly-failed hot unplug requests).  Instead it implements a
    different approach to the original problem: we again let unplug
    requests the guest doesn't respond to remain pending indefinitely, but
    no longer allow those to block attempts to retry the same unplug
    again.
    
    The change is a bit more complex than I'd like for this late in the
    freeze.  Nonetheless, I think it's important to merge this for 6.0, so
    we don't allow a release which has the probably-a-bad-idea timeout
    behaviour.
    
  • ppc-for-6.0-20210331
    ppc patch queue for 2021-03-31
    
    Here's another set of patches for the ppc target and associated
    machine types.  I'd hoped to send this closer to the hard freeze, but
    got caught up for some time chasing what looked like a strange
    regression, before finally concluding it was due to unrelated failures
    on the CI.
    
    This is just a handful of fairly straightforward fixes, plus one
    performance improvement that's simple and beneficial enough that I'm
    considering it a "performance bug fix".
    
  • ppc-for-6.0-20210310
    ppc patch queue for 2021-03-10
    
    Next batch of patches for the ppc target and machine types.  Includes:
     * Several cleanups for sm501 from Peter Maydell
     * An update to the SLOF guest firmware
     * Improved handling of hotplug failures in spapr, associated cleanups
       to the hotplug handling code
     * Several etsec fixes and cleanups from Bin Meng
     * Assorted other fixes and cleanups
    
  • ppc-for-6.0-20210210
    ppc patch queue for 20201-02-10
    
    Here's the latest batch of patches for the ppc target and machine
    types.  Highlights are:
     * Several fixes for E500 from Bin Meng
     * Fixes and cleanups for PowerNV from Cédric Le Goater
     * Assorted other fixes and cleanups
    
  • cgs-pull-request
    Generalize memory encryption models
    
    A number of hardware platforms are implementing mechanisms whereby the
    hypervisor does not have unfettered access to guest memory, in order
    to mitigate the security impact of a compromised hypervisor.
    
    AMD's SEV implements this with in-cpu memory encryption, and Intel has
    its own memory encryption mechanism.  POWER has an upcoming mechanism
    to accomplish this in a different way, using a new memory protection
    level plus a small trusted ultravisor.  s390 also has a protected
    execution environment.
    
    The current code (committed or draft) for these features has each
    platform's version configured entirely differently.  That doesn't seem
    ideal for users, or particularly for management layers.
    
    AMD SEV introduces a notionally generic machine option
    "machine-encryption", but it doesn't actually cover any cases other
    than SEV.
    
    This series is a proposal to at least partially unify configuration
    for these mechanisms, by renaming and generalizing AMD's
    "memory-encryption" property.  It is replaced by a
    "confidential-guest-support" property pointing to a platform specific
    object which configures and manages the specific details.
    
    Note to Ram Pai: the documentation I've included for PEF is very
    minimal.  If you could send a patch expanding on that, it would be
    very helpful.
    
    Changes since v8:
     * Rebase
     * Fixed some cosmetic typos
    Changes since v7:
     * Tweaked and clarified meaning of the 'ready' flag
     * Polished the interface to the PEF internals
     * Shifted initialization for s390 PV later (I hope I've finally got
       this after apply_cpu_model() where it needs to be)
    Changes since v6:
     * Moved to using OBJECT_DECLARE_TYPE and OBJECT_DEFINE_TYPE macros
     * Assorted minor fixes
    Changes since v5:
     * Renamed from "securable guest memory" to "confidential guest
       support"
     * Simpler reworking of x86 boot time flash encryption
     * Added a bunch of documentation
     * Fixed some compile errors on POWER
    Changes since v4:
     * Renamed from "host trust limitation" to "securable guest memory",
       which I think is marginally more descriptive
     * Re-organized initialization, because the previous model called at
       kvm_init didn't work for s390
     * Assorted fixes to the s390 implementation; rudimentary testing
       (gitlab CI) only
    Changes since v3:
     * Rebased
     * Added first cut at handling of s390 protected virtualization
    Changes since RFCv2:
     * Rebased
     * Removed preliminary SEV cleanups (they've been merged)
     * Changed name to "host trust limitation"
     * Added migration blocker to the PEF code (based on SEV's version)
    Changes since RFCv1:
     * Rebased
     * Fixed some errors pointed out by Dave Gilbert
    
  • cgs-20210208
    Generalize memory encryption models (v9)
    
    A number of hardware platforms are implementing mechanisms whereby the
    hypervisor does not have unfettered access to guest memory, in order
    to mitigate the security impact of a compromised hypervisor.
    
    AMD's SEV implements this with in-cpu memory encryption, and Intel has
    its own memory encryption mechanism.  POWER has an upcoming mechanism
    to accomplish this in a different way, using a new memory protection
    level plus a small trusted ultravisor.  s390 also has a protected
    execution environment.
    
    The current code (committed or draft) for these features has each
    platform's version configured entirely differently.  That doesn't seem
    ideal for users, or particularly for management layers.
    
    AMD SEV introduces a notionally generic machine option
    "machine-encryption", but it doesn't actually cover any cases other
    than SEV.
    
    This series is a proposal to at least partially unify configuration
    for these mechanisms, by renaming and generalizing AMD's
    "memory-encryption" property.  It is replaced by a
    "confidential-guest-support" property pointing to a platform specific
    object which configures and manages the specific details.
    
    Changes since v8:
     * Rebase
     * Fixed some cosmetic typos
    Changes since v7:
     * Tweaked and clarified meaning of the 'ready' flag
     * Polished the interface to the PEF internals
     * Shifted initialization for s390 PV later (I hope I've finally got
       this after apply_cpu_model() where it needs to be)
    Changes since v6:
     * Moved to using OBJECT_DECLARE_TYPE and OBJECT_DEFINE_TYPE macros
     * Assorted minor fixes
    Changes since v5:
     * Renamed from "securable guest memory" to "confidential guest
       support"
     * Simpler reworking of x86 boot time flash encryption
     * Added a bunch of documentation
     * Fixed some compile errors on POWER
    Changes since v4:
     * Renamed from "host trust limitation" to "securable guest memory",
       which I think is marginally more descriptive
     * Re-organized initialization, because the previous model called at
       kvm_init didn't work for s390
     * Assorted fixes to the s390 implementation; rudimentary testing
       (gitlab CI) only
    Changes since v3:
     * Rebased
     * Added first cut at handling of s390 protected virtualization
    Changes since RFCv2:
     * Rebased
     * Removed preliminary SEV cleanups (they've been merged)
     * Changed name to "host trust limitation"
     * Added migration blocker to the PEF code (based on SEV's version)
    Changes since RFCv1:
     * Rebased
     * Fixed some errors pointed out by Dave Gilbert
    
  • ppc-for-6.0-20210119
    ppc patch queue 2021-01-19
    
    Next pull request for qemu-6.0.  Not a huge amount here, but it does
    have some important fixes from Greg Kurz.  Includes:
    
     * A number of minor cleanups from Daniel Barboza (preliminaries for
       some hotplug changes that are still under review)
     * Improved handling of memory hotplug from Greg Kurz
     * A number of fixes for sam460ex and other 440 based platforms from
       Zolan Balaton
     * Some fixes for the QOMification of the PPC 4xx UIC interrupt
       controller from Peter Maydell
    
  • ppc-for-6.0-20210106
    ppc patch queue 2021-01-06
    
    First pull request for 2021, which has a bunch of things accumulated
    over the holidays.  Includes:
      * A number of cleanups to sam460ex and ppc440 code from BALATON Zoltan
      * Several fixes for builds with --without-default-devices from Greg Kurz
      * Fixes for some DRC reset problems from Greg Kurz
      * QOM conversion of the PPC 4xx UIC devices from Peter Maydell
      * Some other assorted fixes and cleanups
    
  • ppc-for-6.0-20201214
    ppc patch queue 2020-12-14
    
    Here's my first pull request for qemu-6.0, with a bunch of things
    queued over the freeze.  Highlights are:
     * A bunch of cleanups to hotplug error paths from Greg Kurz
     * A number of TCG fixes from new contributor Giuseppe Musacchio
     * Added Greg Kurz as co-maintainer
     * Assorted other bugfixes and cleanups
    
    This supersedes ppc-for-6.0-20201211, the only change are some patch
    authors to better match qemu conventions.
    
  • ppc-for-6.0-20201211
    ppc patch queue 2020-12-11
    
    Here's my first pull request for qemu-6.0, with a bunch of things
    queued over the freeze.  Highlights are:
     * A bunch of cleanups to hotplug error paths from Greg Kurz
     * A number of TCG fixes from new contributor LemonBoy
     * Added Greg Kurz as co-maintainer
     * Assorted other bugfixes and cleanups