From: David Gibson <david@gibson.dropbear.id.au>
To: Alexander Graf <agraf@suse.de>
Cc: paulus@samba.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/3] PPC: SPAPR: Use KVM function for time info
Date: Wed, 10 Aug 2011 13:35:53 +1000 [thread overview]
Message-ID: <20110810033553.GJ23511@yookeroo.fritz.box> (raw)
In-Reply-To: <1312907970-15440-4-git-send-email-agraf@suse.de>
On Tue, Aug 09, 2011 at 06:39:30PM +0200, Alexander Graf wrote:
> One of the things we can't fake on PPC is the timer speed. So
> we need to extract the frequency information from the host and
> put it back into the guest device tree.
>
> Luckily, we already have functions for that from the non-pseries
> targets, so all we need to do is to connect the dots and the guest
> suddenly gets to know its real timer speeds.
>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
> hw/spapr.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/hw/spapr.c b/hw/spapr.c
> index d56697a..a73f38a 100644
> --- a/hw/spapr.c
> +++ b/hw/spapr.c
> @@ -140,6 +140,8 @@ static void *spapr_create_fdt_skel(const char *cpu_model,
> char *nodename;
> uint32_t segs[] = {cpu_to_be32(28), cpu_to_be32(40),
> 0xffffffff, 0xffffffff};
> + uint32_t tbfreq = kvm_enabled() ? kvmppc_get_tbfreq() : TIMEBASE_FREQ;
> + uint32_t cpufreq = kvm_enabled() ? kvmppc_get_clockfreq() : 1000000000;
Um.. I see the kvmppc_get_tbfreq() function but not the
kvmppc_get_clockfreq() function in my tree (pulled from upstream this
morning). Is that something new in your ppc patch queue?
> if (asprintf(&nodename, "%s@%x", modelname, index) < 0) {
> fprintf(stderr, "Allocation failure\n");
> @@ -158,10 +160,8 @@ static void *spapr_create_fdt_skel(const char *cpu_model,
> env->dcache_line_size)));
> _FDT((fdt_property_cell(fdt, "icache-block-size",
> env->icache_line_size)));
> - _FDT((fdt_property_cell(fdt, "timebase-frequency", TIMEBASE_FREQ)));
> - /* Hardcode CPU frequency for now. It's kind of arbitrary on
> - * full emu, for kvm we should copy it from the host */
> - _FDT((fdt_property_cell(fdt, "clock-frequency", 1000000000)));
> + _FDT((fdt_property_cell(fdt, "timebase-frequency", tbfreq)));
> + _FDT((fdt_property_cell(fdt, "clock-frequency", cpufreq)));
> _FDT((fdt_property_cell(fdt, "ibm,slb-size", env->slb_nr)));
> _FDT((fdt_property(fdt, "ibm,pft-size",
> pft_size_prop, sizeof(pft_size_prop))));
--
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
next prev parent reply other threads:[~2011-08-10 3:36 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-09 16:39 [Qemu-devel] [PATCH 0/3] PPC: Support -M pseries for PR KVM Alexander Graf
2011-08-09 16:39 ` [Qemu-devel] [PATCH 1/3] KVM: update kernel headers Alexander Graf
2011-08-09 16:39 ` [Qemu-devel] [PATCH 2/3] PPC: Enable to use PAPR with PR style KVM Alexander Graf
2011-08-10 3:34 ` David Gibson
2011-08-09 16:39 ` [Qemu-devel] [PATCH 3/3] PPC: SPAPR: Use KVM function for time info Alexander Graf
2011-08-10 3:35 ` David Gibson [this message]
2011-08-10 7:50 ` Alexander Graf
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=20110810033553.GJ23511@yookeroo.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=agraf@suse.de \
--cc=paulus@samba.org \
--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 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).