From: Hollis Blanchard <hollisb@us.ibm.com>
To: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@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>,
Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Subject: Re: [kvm-ppc-devel] [kvm-devel] [PATCH 0 of 3] create kvm_x86
Date: Fri, 30 Nov 2007 22:08:10 +0000 [thread overview]
Message-ID: <1196460490.7103.67.camel@basalt> (raw)
In-Reply-To: <47508408.8050202-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
On Fri, 2007-11-30 at 15:43 -0600, Anthony Liguori wrote:
> Hollis Blanchard wrote:
> > On Fri, 2007-11-30 at 22:31 +0200, Avi Kivity 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?
> >
>
> It's necessary for the distros to be able to ship both AMD and Intel
> support in a single binary. We aren't talking, in general, about a
> single static binary but instead loadable modules. There maybe some
> cases where it's useful to support both in a static kernel binary.
I think the monolithic case is the one I overlooked. As long as
everything is a module, there should be no problem loading the
appropriate module for the host processor type. However, once you want
to support both processor types in a monolithic kernel, that's where you
need the function pointer flexibility.
> If you used the linker instead of function pointers, it would be
> impossible to build a static kernel binary that supported both. Plus,
> depmod would get very confused because two modules would be providing
> the same symbols. It can be made to work, but it's kind of funky.
>
> > 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.
> >
>
> Instead of having a kvm.ko and a kvm-ppc-440.ko, you probably should
> have a kvm.ko and a kvm-ppc.ko and then build the kvm-ppc.ko based on
> the board. You would never build multiple kvm-ppc-XXX.ko modules in the
> same binary right?
I hope to have multiple kvm-ppc-XXX.ko modules loaded simultaneously to
support different guest types on the same host. I haven't yet figured
out what that interface should look like, but obviously linking is
preferable to function pointers where feasible.
--
Hollis Blanchard
IBM Linux Technology Center
-------------------------------------------------------------------------
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: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: Anthony Liguori <anthony-rdkfGonbjUSkNkDKm+mE6A@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>,
Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH 0 of 3] create kvm_x86
Date: Fri, 30 Nov 2007 16:08:10 -0600 [thread overview]
Message-ID: <1196460490.7103.67.camel@basalt> (raw)
In-Reply-To: <47508408.8050202-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
On Fri, 2007-11-30 at 15:43 -0600, Anthony Liguori wrote:
> Hollis Blanchard wrote:
> > On Fri, 2007-11-30 at 22:31 +0200, Avi Kivity 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?
> >
>
> It's necessary for the distros to be able to ship both AMD and Intel
> support in a single binary. We aren't talking, in general, about a
> single static binary but instead loadable modules. There maybe some
> cases where it's useful to support both in a static kernel binary.
I think the monolithic case is the one I overlooked. As long as
everything is a module, there should be no problem loading the
appropriate module for the host processor type. However, once you want
to support both processor types in a monolithic kernel, that's where you
need the function pointer flexibility.
> If you used the linker instead of function pointers, it would be
> impossible to build a static kernel binary that supported both. Plus,
> depmod would get very confused because two modules would be providing
> the same symbols. It can be made to work, but it's kind of funky.
>
> > 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.
> >
>
> Instead of having a kvm.ko and a kvm-ppc-440.ko, you probably should
> have a kvm.ko and a kvm-ppc.ko and then build the kvm-ppc.ko based on
> the board. You would never build multiple kvm-ppc-XXX.ko modules in the
> same binary right?
I hope to have multiple kvm-ppc-XXX.ko modules loaded simultaneously to
support different guest types on the same host. I haven't yet figured
out what that interface should look like, but obviously linking is
preferable to function pointers where feasible.
--
Hollis Blanchard
IBM Linux Technology Center
-------------------------------------------------------------------------
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-11-30 22:08 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 ` Hollis Blanchard [this message]
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 ` [kvm-ppc-devel] [kvm-devel] " Avi Kivity
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=1196460490.7103.67.camel@basalt \
--to=hollisb@us.ibm.com \
--cc=anthony-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--cc=carsteno-tA70FqPdS9bQT0dZR+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.