From: Avi Kivity <avi@qumranet.com>
To: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: carsteno-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org,
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
"Zhang,
Xiantao" <xiantao.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] create kvm_x86
Date: Sat, 01 Dec 2007 10:02:00 +0000 [thread overview]
Message-ID: <47513118.7050104@qumranet.com> (raw)
In-Reply-To: <1196456956.7103.60.camel@basalt>
Hollis Blanchard wrote:
>>
>> These cannot use the same method, since we need to support both vmx and
>> svm in the same binary. The arch specific members aren't the same size,
>> nor do the symbols they use have the same visibility.
>>
>
> I have never understood this. Why on earth do you need to support VMX
> and SVM in the same binary? For example, when would you overwrite
> kvm_x86_ops after initialization? If you wouldn't, then why are you
> using function pointers instead of the linker?
>
Consider a non-modular build; common code needs to call either
svm_vcpu_load() or vmx_vcpu_load() depending on the current hardware.
I imagine it could be done using linker tricks (duplicating the common
code to be linked twice, once per subarch, and leaving a stub to detect
which duplicate needs to be used), but I never found either the time or
necessity to do them.
> PowerPC will also need to support multiple processor types, and so I
> expect to have one kvm_arch structure for each. That also means struct
> kvm_arch must be the *last* member in struct kvm, which is not how it is
> shown above.
>
Do you plan to support multiple processor types in a single binary as
well? Or require modules and compile them multiple times? (that was how
AMD support was initially added; it was changed before merging).
--
Any sufficiently difficult bug is indistinguishable from a feature.
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
kvm-ppc-devel mailing list
kvm-ppc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-ppc-devel
WARNING: multiple messages have this Message-ID (diff)
From: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
To: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: carsteno-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org,
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
"Zhang,
Xiantao" <xiantao.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH 0 of 3] create kvm_x86
Date: Sat, 01 Dec 2007 12:02:00 +0200 [thread overview]
Message-ID: <47513118.7050104@qumranet.com> (raw)
In-Reply-To: <1196456956.7103.60.camel@basalt>
Hollis Blanchard wrote:
>>
>> These cannot use the same method, since we need to support both vmx and
>> svm in the same binary. The arch specific members aren't the same size,
>> nor do the symbols they use have the same visibility.
>>
>
> I have never understood this. Why on earth do you need to support VMX
> and SVM in the same binary? For example, when would you overwrite
> kvm_x86_ops after initialization? If you wouldn't, then why are you
> using function pointers instead of the linker?
>
Consider a non-modular build; common code needs to call either
svm_vcpu_load() or vmx_vcpu_load() depending on the current hardware.
I imagine it could be done using linker tricks (duplicating the common
code to be linked twice, once per subarch, and leaving a stub to detect
which duplicate needs to be used), but I never found either the time or
necessity to do them.
> PowerPC will also need to support multiple processor types, and so I
> expect to have one kvm_arch structure for each. That also means struct
> kvm_arch must be the *last* member in struct kvm, which is not how it is
> shown above.
>
Do you plan to support multiple processor types in a single binary as
well? Or require modules and compile them multiple times? (that was how
AMD support was initially added; it was changed before merging).
--
Any sufficiently difficult bug is indistinguishable from a feature.
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
next prev parent reply other threads:[~2007-12-01 10:02 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-20 16:57 [PATCH 0 of 3] create kvm_x86 Hollis Blanchard
2007-11-20 16:57 ` [PATCH 1 of 3] Use kvm_x86 to hold x86 specific kvm fields Hollis Blanchard
2007-11-28 21:20 ` [kvm-ppc-devel] [kvm-devel] [PATCH 1 of 3] Use kvm_x86 to hold Anthony Liguori
2007-11-28 21:20 ` [PATCH 1 of 3] Use kvm_x86 to hold x86 specific kvm fields Anthony Liguori
[not found] ` <474DDB97.6090400-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-11-28 21:43 ` [kvm-ppc-devel] [kvm-devel] [PATCH 1 of 3] Use kvm_x86 to hold Hollis Blanchard
2007-11-28 21:43 ` [PATCH 1 of 3] Use kvm_x86 to hold x86 specific kvm fields Hollis Blanchard
2007-11-20 16:57 ` [PATCH 2 of 3] Move vm_stat and apic_access_page to kvm_x86 Hollis Blanchard
2007-11-21 9:09 ` [PATCH 0 of 3] create kvm_x86 Carsten Otte
[not found] ` <4743F5AE.8090707-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
2007-11-21 9:18 ` Avi Kivity
[not found] ` <4743F7DF.4000107-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-21 9:32 ` Amit Shah
2007-11-21 9:44 ` [kvm-ppc-devel] [kvm-devel] " Amit Shah
2007-11-21 9:39 ` Carsten Otte
2007-11-21 9:42 ` Zhang, Xiantao
[not found] ` <42DFA526FC41B1429CE7279EF83C6BDC9E7193-wq7ZOvIWXbMAbVU2wMM1CrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-11-21 9:55 ` Avi Kivity
2007-11-28 21:15 ` [kvm-ppc-devel] [kvm-devel] " Hollis Blanchard
2007-11-28 21:15 ` Hollis Blanchard
2007-11-30 7:26 ` [kvm-ppc-devel] [kvm-devel] " Avi Kivity
2007-11-30 7:26 ` Avi Kivity
[not found] ` <474FBB17.6080800-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-30 8:36 ` [kvm-ppc-devel] [kvm-devel] " Zhang, Xiantao
2007-11-30 8:36 ` Zhang, Xiantao
[not found] ` <42DFA526FC41B1429CE7279EF83C6BDCA397C1-wq7ZOvIWXbMAbVU2wMM1CrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-11-30 9:04 ` [kvm-ppc-devel] [kvm-devel] " Avi Kivity
2007-11-30 9:04 ` Avi Kivity
[not found] ` <474FD234.5060203-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-30 11:42 ` [kvm-ppc-devel] [kvm-devel] " Zhang, Xiantao
2007-11-30 11:42 ` Zhang, Xiantao
2007-11-30 18:43 ` [kvm-ppc-devel] [kvm-devel] " Hollis Blanchard
2007-11-30 18:43 ` Hollis Blanchard
2007-11-30 20:31 ` [kvm-ppc-devel] [kvm-devel] " Avi Kivity
2007-11-30 20:31 ` Avi Kivity
[not found] ` <4750732B.7070502-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-30 21:09 ` [kvm-ppc-devel] [kvm-devel] " Hollis Blanchard
2007-11-30 21:09 ` Hollis Blanchard
2007-11-30 21:43 ` [kvm-ppc-devel] [kvm-devel] " Anthony Liguori
2007-11-30 21:43 ` Anthony Liguori
[not found] ` <47508408.8050202-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-11-30 22:08 ` [kvm-ppc-devel] [kvm-devel] " Hollis Blanchard
2007-11-30 22:08 ` Hollis Blanchard
2007-12-01 10:04 ` [kvm-ppc-devel] [kvm-devel] " Avi Kivity
2007-12-01 10:04 ` Avi Kivity
2007-12-01 10:02 ` Avi Kivity [this message]
2007-12-01 10:02 ` 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=47513118.7050104@qumranet.com \
--to=avi@qumranet.com \
--cc=carsteno-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org \
--cc=hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=xiantao.zhang-ral2JQCrhuEAvxtiuMwx3w@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 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.