qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: groug@kaod.org
Cc: clg@kaod.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: [Qemu-devel] [PATCH 0/7] Better handling of machine specific per-cpu information
Date: Wed, 13 Jun 2018 16:57:00 +1000	[thread overview]
Message-ID: <20180613065707.30766-1-david@gibson.dropbear.id.au> (raw)

It's moderately common for a machine type to need to keep track of
information that is specific to the platform it implements, but
per-cpu.

While it could keep such information inside the MachineState, this
makes lookup from the CPUState awkward.  So, this series adds a
standard way to stash machine-specific per-cpu information using a
void pointer in the PowerPCCPU object.  The machine is responsible for
alloc()ing, free()ing and (if applicable) migrating this state.

The meat of the series is the last two patches.  The first 5 clean up
a number of minor uglies I encountered while implementing.

David Gibson (7):
  spapr: Clean up cpu realize/unrealize paths
  pnv: Add missing error check during cpu realize()
  pnv_core: Allocate cpu thread objects individually
  pnv: Clean up cpu realize path
  pnv: Add cpu unrealize path
  target/ppc: Replace intc pointer with a general machine_data pointer
  target/ppc, spapr: Move VPA information to machine_data

 hw/intc/xics.c                  |  5 +-
 hw/intc/xics_spapr.c            | 16 ++++--
 hw/ppc/pnv.c                    |  8 +--
 hw/ppc/pnv_core.c               | 96 +++++++++++++++++++--------------
 hw/ppc/spapr.c                  |  8 +--
 hw/ppc/spapr_cpu_core.c         | 85 ++++++++++++++---------------
 hw/ppc/spapr_hcall.c            | 77 ++++++++++++++------------
 include/hw/ppc/pnv_core.h       | 11 +++-
 include/hw/ppc/spapr_cpu_core.h | 13 +++++
 include/hw/ppc/xics.h           |  4 +-
 target/ppc/cpu.h                |  8 +--
 target/ppc/translate_init.inc.c |  8 ---
 12 files changed, 186 insertions(+), 153 deletions(-)

-- 
2.17.1

             reply	other threads:[~2018-06-13  6:57 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-13  6:57 David Gibson [this message]
2018-06-13  6:57 ` [Qemu-devel] [PATCH 1/7] spapr: Clean up cpu realize/unrealize paths David Gibson
2018-06-13  8:11   ` Cédric Le Goater
2018-06-13  8:51     ` Greg Kurz
2018-06-13  8:52     ` David Gibson
2018-06-13  8:34   ` Greg Kurz
2018-06-13  6:57 ` [Qemu-devel] [PATCH 2/7] pnv: Add missing error check during cpu realize() David Gibson
2018-06-13  8:15   ` Cédric Le Goater
2018-06-13  9:12     ` David Gibson
2018-06-13  9:09   ` Greg Kurz
2018-06-13  9:14     ` Cédric Le Goater
2018-06-13  9:42       ` Greg Kurz
2018-06-13  9:53         ` David Gibson
2018-06-14  1:01           ` David Gibson
2018-06-13  9:42       ` David Gibson
2018-06-13  6:57 ` [Qemu-devel] [PATCH 3/7] pnv_core: Allocate cpu thread objects individually David Gibson
2018-06-13  8:17   ` Cédric Le Goater
2018-06-13  9:13   ` Greg Kurz
2018-06-13  6:57 ` [Qemu-devel] [PATCH 4/7] pnv: Clean up cpu realize path David Gibson
2018-06-13  8:20   ` Cédric Le Goater
2018-06-13  9:14     ` David Gibson
2018-06-13  9:15   ` Greg Kurz
2018-06-13  6:57 ` [Qemu-devel] [PATCH 5/7] pnv: Add cpu unrealize path David Gibson
2018-06-13  8:23   ` Cédric Le Goater
2018-06-13  9:16   ` Greg Kurz
2018-06-13  6:57 ` [Qemu-devel] [PATCH 6/7] target/ppc: Replace intc pointer with a general machine_data pointer David Gibson
2018-06-13  8:46   ` Cédric Le Goater
2018-06-13  9:45     ` David Gibson
2018-06-13 10:11   ` Greg Kurz
2018-06-13 10:15     ` David Gibson
2018-06-13  6:57 ` [Qemu-devel] [PATCH 7/7] target/ppc, spapr: Move VPA information to machine_data David Gibson
2018-06-13 10:16   ` Greg Kurz

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=20180613065707.30766-1-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=clg@kaod.org \
    --cc=groug@kaod.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).