qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [PATCH for-2.13 02/10] spapr: Remove support for PowerPC


From: David Gibson
Subject: Re: [Qemu-ppc] [PATCH for-2.13 02/10] spapr: Remove support for PowerPC 970 with pseries machine type
Date: Thu, 3 May 2018 16:23:18 +1000
User-agent: Mutt/1.9.3 (2018-01-21)

On Fri, Apr 20, 2018 at 02:25:23PM +0200, Greg Kurz wrote:
> On Tue, 17 Apr 2018 17:17:14 +1000
> David Gibson <address@hidden> wrote:
> 
> > Current POWER cpus allow for a VRMA, a special mapping which describes a
> > guest's view of memory when in real mode (MMU off, from the guest's point
> > of view).  Older cpus didn't have that which meant that to support a guest
> > a special host-contiguous region of memory was needed to give the guest its
> > Real Mode Area (RMA).
> > 
> > This was useful in the early days of KVM on Power to allow it to be tested
> > on PowerPC 970 chips as used in Macintosh G5 machines.  Now, however, those
> > machines are so old as to be irrelevant, and the host kernel has long since
> > dropped support for this mode.  It hasn't been tested in ages either.
> > 
> > So, to simplify the code, drop the support from qemu as well.
> > 
> > As well as the code for handling contiguous RMAs, we can remove some
> > code to set the HIOR register, which existed on 970 but not on the
> > current and supported CPUs.
> > 
> > Signed-off-by: David Gibson <address@hidden>
> > ---
> 
> Regardless of the discussion on the deprecation process, just
> a cosmetic remark...
> 
> >  hw/ppc/spapr.c          | 61 
> > +++++++++++++++----------------------------------
> >  hw/ppc/spapr_cpu_core.c |  2 --
> >  target/ppc/kvm.c        | 36 -----------------------------
> >  target/ppc/kvm_ppc.h    |  6 -----
> >  4 files changed, 19 insertions(+), 86 deletions(-)
> > 
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index 81b50af3b5..fbb2c6752c 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -2376,9 +2376,6 @@ static void spapr_machine_init(MachineState *machine)
> >      int i;
> >      MemoryRegion *sysmem = get_system_memory();
> >      MemoryRegion *ram = g_new(MemoryRegion, 1);
> > -    MemoryRegion *rma_region;
> > -    void *rma = NULL;
> > -    hwaddr rma_alloc_size;
> >      hwaddr node0_size = spapr_node0_size(machine);
> >      long load_limit, fw_size;
> >      char *filename;
> > @@ -2417,40 +2414,28 @@ static void spapr_machine_init(MachineState 
> > *machine)
> >          exit(1);
> >      }
> >  
> > -    /* Allocate RMA if necessary */
> > -    rma_alloc_size = kvmppc_alloc_rma(&rma);
> > +    spapr->rma_size = node0_size;
> >  
> > -    if (rma_alloc_size == -1) {
> > -        error_report("Unable to create RMA");
> > -        exit(1);
> > +    /* With KVM, we don't actually know whether KVM supports an
> > +     * unbounded RMA (PR KVM) or is limited by the hash table size (HV
> > +     * KVM using VRMA), so we always assume the latter
> > +     *
> > +     * In that case, we also limit the initial allocations for RTAS
> > +     * etc... to 256M since we have no way to know what the VRMA size
> > +     * is going to be as it depends on the size of the hash table
> > +     * isn't determined yet.
> 
> ... maybe s/isn't/which isn't/ while at it ?

Thanks, I've made that change.

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]