From: Thomas Huth <thuth@redhat.com>
To: David Gibson <david@gibson.dropbear.id.au>,
gkurz@linux.vnet.ibm.com, aik@ozlabs.ru
Cc: lvivier@redhat.com, qemu-ppc@nongnu.org, agraf@suse.de,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCHv2 2/3] target-ppc: Add helpers for updating a CPU's SDR1 and external HPT
Date: Mon, 7 Mar 2016 16:56:24 +0100 [thread overview]
Message-ID: <56DDA4A8.1020705@redhat.com> (raw)
In-Reply-To: <1457317586-15122-3-git-send-email-david@gibson.dropbear.id.au>
On 07.03.2016 03:26, David Gibson wrote:
> When a Power cpu with 64-bit hash MMU has it's hash page table (HPT)
> pointer updated by a write to the SDR1 register we need to update some
> derived variables. Likewise, when the cpu is configured for an external
> HPT (one not in the guest memory space) some derived variables need to be
> updated.
>
> Currently the logic for this is (partially) duplicated in ppc_store_sdr1()
> and in spapr_cpu_reset(). In future we're going to need it in some other
> places, so make some common helpers for this update.
>
> In addition the new ppc_hash64_set_external_hpt() helper also updates
> SDR1 in KVM - it's not updated by the normal runtime KVM <-> qemu CPU
> synchronization. In a sense this belongs logically in the
> ppc_hash64_set_sdr1() helper, but that is called from
> kvm_arch_get_registers() so can't itself call cpu_synchronize_state()
> without infinite recursion. In practice this doesn't matter because
> the only other caller is TCG specific.
>
> Currently there aren't situations where updating SDR1 at runtime in KVM
> matters, but there are going to be in future.
>
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> hw/ppc/spapr.c | 13 ++-----------
> target-ppc/kvm.c | 2 +-
> target-ppc/kvm_ppc.h | 6 ++++++
> target-ppc/mmu-hash64.c | 43 +++++++++++++++++++++++++++++++++++++++++++
> target-ppc/mmu-hash64.h | 6 ++++++
> target-ppc/mmu_helper.c | 13 ++++++-------
> 6 files changed, 64 insertions(+), 19 deletions(-)
Reviewed-by: Thomas Huth <thuth@redhat.com>
next prev parent reply other threads:[~2016-03-07 15:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-07 2:26 [Qemu-devel] [PATCHv2 0/3] target-ppc: Clean up handling of SDR1 and external HPTs David Gibson
2016-03-07 2:26 ` [Qemu-devel] [PATCHv2 1/3] target-ppc: Split out SREGS get/put functions David Gibson
2016-03-07 11:22 ` Thomas Huth
2016-03-08 0:32 ` David Gibson
2016-03-08 0:37 ` David Gibson
2016-03-08 3:01 ` Alexey Kardashevskiy
2016-03-08 3:53 ` David Gibson
2016-03-08 5:13 ` Alexey Kardashevskiy
2016-03-08 5:50 ` David Gibson
2016-03-08 8:50 ` Greg Kurz
2016-03-07 2:26 ` [Qemu-devel] [PATCHv2 2/3] target-ppc: Add helpers for updating a CPU's SDR1 and external HPT David Gibson
2016-03-07 13:37 ` Greg Kurz
2016-03-07 15:56 ` Thomas Huth [this message]
2016-03-22 16:33 ` Laurent Vivier
2016-03-24 5:35 ` David Gibson
2016-03-24 8:41 ` Laurent Vivier
2016-03-25 9:13 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2016-03-29 6:39 ` David Gibson
2016-03-07 2:26 ` [Qemu-devel] [PATCHv2 3/3] target-ppc: Eliminate kvmppc_kern_htab global David Gibson
2016-03-07 13:41 ` Greg Kurz
2016-03-08 0:36 ` David Gibson
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=56DDA4A8.1020705@redhat.com \
--to=thuth@redhat.com \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=david@gibson.dropbear.id.au \
--cc=gkurz@linux.vnet.ibm.com \
--cc=lvivier@redhat.com \
--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 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.