From: Avi Kivity <avi-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Alexander Graf <agraf-l3A5Bk7waGM@public.gmane.org>
Cc: "kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 00/18] KVM: PPC: Virtualize Gekko guests
Date: Mon, 08 Feb 2010 13:09:26 +0200 [thread overview]
Message-ID: <4B6FF0E6.6060309@redhat.com> (raw)
In-Reply-To: <87CEECB5-107A-46EB-89F5-1E1F92AC22AA-l3A5Bk7waGM@public.gmane.org>
On 02/08/2010 12:58 PM, Alexander Graf wrote:
>>> If it really gets unusably slow, I'd rather binary patch the guest on
>>> the fly in KVM according to rules set by the userspace client.
>>>
>> Is that even possible? Do those register-pair instructions and registers map 1:1 to 970 instructions and registers?
>>
> Almost. Basically all I need to do is execute 2 FPU instructions instead of one for single instructions and paired single special instructions. So if I could patch the instruction to jump to some shared memory page, it'd become fast. At least as long as I figure out how to make sure we run with FP=0 in normal code, but with FP=1 in the special page ;).
>
How do you locate a free virtual address to poke your shared memory page
into?
What if the guest kernel instantiates it later?
Aren't direct jumps limited in their offset?
What if an exception happens in the shared memory page?
Patching is hard, let's go shopping.
>>> But we'll
>>> get there when it turns out to be too slow. For now I'd rather like to
>>> have something working at all and then improve speed :-).
>>>
>>>
>> Well, I want to see the light at the end of the tunnel first. Adding code is easy, ripping it out later not so much.
>>
> Hum, so you suggest I get some real application running properly first so we can evaluate if it's fast enough?
>
Yes, a real application typical for whatever use case you envision for
Gekko emulation (can you shed a few words on that please).
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2010-02-08 11:09 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-04 15:55 [PATCH 00/18] KVM: PPC: Virtualize Gekko guests Alexander Graf
2010-02-04 15:55 ` [PATCH 01/18] KVM: PPC: Add QPR registers Alexander Graf
2010-02-04 15:55 ` [PATCH 07/18] KVM: PPC: Combine extension interrupt handlers Alexander Graf
2010-02-04 15:55 ` [PATCH 08/18] KVM: PPC: Preload FPU when possible Alexander Graf
2010-02-04 15:55 ` [PATCH 09/18] KVM: PPC: Fix typo in book3s_32 debug code Alexander Graf
2010-02-04 15:55 ` [PATCH 10/18] KVM: PPC: Implement mtsr instruction emulation Alexander Graf
2010-02-04 15:55 ` [PATCH 11/18] KVM: PPC: Make software load/store return eaddr Alexander Graf
2010-02-04 15:55 ` [PATCH 13/18] KVM: PPC: Add helpers to call FPU instructions Alexander Graf
2010-02-04 15:55 ` [PATCH 17/18] KVM: PPC: Reserve a chunk of memory for opcodes Alexander Graf
2010-02-04 15:55 ` [PATCH 18/18] KVM: PPC: Implement Paired Single emulation Alexander Graf
[not found] ` <1265298925-31954-19-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:50 ` Avi Kivity
2010-02-07 15:57 ` Alexander Graf
2010-02-07 16:18 ` Avi Kivity
[not found] ` <1265298925-31954-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-04 15:55 ` [PATCH 02/18] KVM: PPC: Enable MMIO to do 64 bits, fprs and qprs Alexander Graf
[not found] ` <1265298925-31954-3-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:29 ` Avi Kivity
[not found] ` <4B6EB229.8090502-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:51 ` Alexander Graf
2010-02-04 15:55 ` [PATCH 03/18] KVM: PPC: Teach MMIO Signedness Alexander Graf
[not found] ` <1265298925-31954-4-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:32 ` Avi Kivity
[not found] ` <4B6EB2D7.1030500-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:51 ` Alexander Graf
[not found] ` <3CEF000F-1751-4E65-A08A-C71B2CE8DAEE-l3A5Bk7waGM@public.gmane.org>
2010-02-07 16:15 ` Avi Kivity
2010-02-07 16:27 ` Anthony Liguori
2010-02-07 21:35 ` Alexander Graf
[not found] ` <1CA08386-21CA-4B4F-A1E6-56C4DE584BA6-l3A5Bk7waGM@public.gmane.org>
2010-02-07 22:13 ` Anthony Liguori
2010-02-04 15:55 ` [PATCH 04/18] KVM: PPC: Add AGAIN type for emulation return Alexander Graf
2010-02-04 15:55 ` [PATCH 05/18] KVM: PPC: Add hidden flag for paired singles Alexander Graf
2010-02-04 15:55 ` [PATCH 06/18] KVM: PPC: Add Gekko SPRs Alexander Graf
2010-02-04 15:55 ` [PATCH 12/18] KVM: PPC: Make ext giveup non-static Alexander Graf
2010-02-04 15:55 ` [PATCH 14/18] KVM: PPC: Fix error in BAT assignment Alexander Graf
2010-02-04 15:55 ` [PATCH 15/18] KVM: PPC: Add helpers to modify ppc fields Alexander Graf
2010-02-04 15:55 ` [PATCH 16/18] KVM: PPC: Enable program interrupt to do MMIO Alexander Graf
2010-02-07 12:54 ` [PATCH 00/18] KVM: PPC: Virtualize Gekko guests Avi Kivity
[not found] ` <4B6EB7F6.10304-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:49 ` Alexander Graf
2010-02-07 16:22 ` Avi Kivity
2010-02-07 22:02 ` Alexander Graf
2010-02-08 8:53 ` Avi Kivity
[not found] ` <4B6FD118.2090207-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 10:58 ` Alexander Graf
[not found] ` <87CEECB5-107A-46EB-89F5-1E1F92AC22AA-l3A5Bk7waGM@public.gmane.org>
2010-02-08 11:09 ` Avi Kivity [this message]
[not found] ` <4B6FF0E6.6060309-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 11:30 ` Alexander Graf
[not found] ` <A5BC5A7E-D45B-4BAF-804A-B364810F50DA-l3A5Bk7waGM@public.gmane.org>
2010-02-08 12:03 ` Avi Kivity
[not found] ` <4B6FFD85.6090100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 12:05 ` Alexander Graf
[not found] ` <939C8633-1B2C-4888-B1C1-357DF1C56CE6-l3A5Bk7waGM@public.gmane.org>
2010-02-08 12:15 ` Avi Kivity
2010-02-08 12:31 ` Alexander Graf
2010-02-09 11:00 ` Alexander Graf
[not found] ` <4B714049.7010201-l3A5Bk7waGM@public.gmane.org>
2010-02-09 11:06 ` Avi Kivity
2010-02-09 11:13 ` Alexander Graf
[not found] ` <4B71435E.7010103-l3A5Bk7waGM@public.gmane.org>
2010-02-09 12:27 ` Avi Kivity
[not found] ` <4B7154A6.6050809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 14:56 ` Alexander Graf
[not found] ` <80F0B53A-6F83-4166-8F85-5D9B07526158-l3A5Bk7waGM@public.gmane.org>
2010-02-17 16:03 ` Avi Kivity
[not found] ` <4B7C134C.9040009-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 16:23 ` Alexander Graf
2010-02-17 16:34 ` Avi Kivity
[not found] ` <4B7C1A91.8060205-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 18:07 ` Alexander Graf
[not found] ` <D3C1F39A-E9C8-46B8-9C4A-12E56D34B5AC-l3A5Bk7waGM@public.gmane.org>
2010-02-18 7:40 ` Avi Kivity
[not found] ` <4B7CEEFF.9000801-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-18 8:04 ` Avi Kivity
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=4B6FF0E6.6060309@redhat.com \
--to=avi-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=agraf-l3A5Bk7waGM@public.gmane.org \
--cc=kvm-ppc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.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