All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bharata B Rao <bharata@linux.vnet.ibm.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: qemu-devel@nongnu.org, mdroth@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [RFC PATCH v0 10/15] ppc: Factor out CPU initialization code to a new routine
Date: Mon, 29 Sep 2014 08:30:15 +0530	[thread overview]
Message-ID: <20140929030015.GA21207@in.ibm.com> (raw)
In-Reply-To: <20140926172902.3b0bdf4a@nial.usersys.redhat.com>

On Fri, Sep 26, 2014 at 05:29:02PM +0200, Igor Mammedov wrote:
> On Thu,  4 Sep 2014 11:36:20 +0530
> Bharata B Rao <bharata@linux.vnet.ibm.com> wrote:
> 
> > Separate out CPU initialization code into a new routine ppc_new_cpu()
> > so that it can be used from CPU hotplug path too.
> > 
> > Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
> > ---
> >  hw/ppc/spapr.c | 73 +++++++++++++++++++++++++++++++++-------------------------
> >  1 file changed, 42 insertions(+), 31 deletions(-)
> > 
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index b2ca527..41207ae 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -1603,6 +1603,45 @@ static SaveVMHandlers savevm_htab_handlers = {
> >      .load_state = htab_load,
> >  };
> >  
> looking at following code from POV of using CPU with device_add cmd.
> 
> > +static const char *current_cpu_model;
> do PPC CPUs use full 'model-name,feature1,-feature2' format or only
> model-name from cpu_model string?

I think it is just the model-name.

> 
> > +static PowerPCCPU *ppc_new_cpu(const char *cpu_model)
> > +{
> > +    PowerPCCPU *cpu;
> > +    CPUPPCState *env;
> > +
> > +    cpu = cpu_ppc_init(cpu_model);
> > +    if (cpu == NULL) {
> > +        fprintf(stderr, "Unable to find PowerPC CPU definition\n");
> > +        exit(1);
> > +    }
> 
> -- cut --
> > +    env = &cpu->env;
> > +
> > +    /* Set time-base frequency to 512 MHz */
> > +    cpu_ppc_tb_init(env, TIMEBASE_FREQ);
> > +
> > +    /* PAPR always has exception vectors in RAM not ROM. To ensure this,
> > +     * MSR[IP] should never be set.
> > +     */
> > +    env->msr_mask &= ~(1 << 6);
> > +
> > +    /* Tell KVM that we're in PAPR mode */
> > +    if (kvm_enabled()) {
> > +        kvmppc_set_papr(cpu);
> > +    }
> > +
> > +    if (cpu->max_compat) {
> > +        if (ppc_set_compat(cpu, cpu->max_compat) < 0) {
> > +            exit(1);
> > +        }
> > +    }
> -- cut --
> selected block looks like setting CPU internals, which could be done
> inside of CPU's realizefn.
> 
> > +
> > +    xics_cpu_setup(spapr->icp, cpu);
> 
> 
> > +    qemu_register_reset(spapr_cpu_reset, cpu);
> also could be put inside of CPU's realizefn, like it's done in
> for x86 CPU.

Right, I just converted my CPU hotplug patchset for PowerPC to use the
hotplug handler APIs and now working on to see if I can switch over to
device_add and support device_del for CPU hotplug on PowerPC.

Regards,
Bharata.

  reply	other threads:[~2014-09-29  3:00 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-04  6:06 [Qemu-devel] [RFC PATCH v0 00/15] CPU hotplug support of PowerPC sPAPR guests Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 01/15] ppc: Store dr entity state bits at the right bit offset Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 02/15] ppc: Rename SPAPR_DRC_TABLE_SIZE to SPAPR_DRC_PHB_TABLE_SIZE Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 03/15] ppc: Rename sPAPRDrcEntry.phb_buid to sPAPRDrcEntry.id Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 04/15] ppc: Make creation of DRC entries in FDT endian safe Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 05/15] ppc: Accommodate CPU DRC entries in DRC table Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 06/15] ppc: stop after getting first unused DR slot " Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 07/15] ppc: Initialize DRC table before initializing CPUs Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 08/15] ppc: Add CPU dynamic reconfiguration (DR) support Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 09/15] ppc: Consider max_cpus during xics initialization Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 10/15] ppc: Factor out CPU initialization code to a new routine Bharata B Rao
2014-09-26 15:29   ` Igor Mammedov
2014-09-29  3:00     ` Bharata B Rao [this message]
2014-09-29  8:49       ` Igor Mammedov
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 11/15] ppc: Move RTAS indicator defines to a header file Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 12/15] ppc: Support ibm, lrdr-capacity device tree property Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 13/15] ppc: Make ibm, configure-connector endian-safe Bharata B Rao
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 14/15] ppc: Add CPU hotplug support for sPAPR guests Bharata B Rao
2014-09-05 21:51   ` Tyrel Datwyler
2014-09-04  6:06 ` [Qemu-devel] [RFC PATCH v0 15/15] ppc: Allow hotplugging of CPU cores only Bharata B Rao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140929030015.GA21207@in.ibm.com \
    --to=bharata@linux.vnet.ibm.com \
    --cc=imammedo@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.