From: Carsten Otte <cotte-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org>
To: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@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,
Xiantao <xiantao.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Hollis Blanchard
<hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH 0 of 3] create kvm_x86
Date: Wed, 21 Nov 2007 10:39:02 +0100 [thread overview]
Message-ID: <4743FCB6.8080404@de.ibm.com> (raw)
In-Reply-To: <4743F7DF.4000107-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
Avi Kivity wrote:
> Well, I hate to say it, but the resulting code doesn't look too well
> (all the kvm_x86 variables), and it's entirely my fault as I recommended
> this approach. Not like it was difficult to predict.
>
> I'm thinking again of
>
> struct kvm {
> struct kvm_arch a;
> ...
> }
>
> Where each arch defines its own kvm_arch. Now the changes look like a
> bunch of "kvm->blah" to "kvm->a.blah" conversions.
>
> IIRC a downside was mentioned that it is easier to cause a build failure
> for another arch now.
>
> Opinions? In theory correctness should win over style every time, no?
It's a matter of taste. I favor embedding an kvm_arch too, but I
recommend to name member "a" different. "arch" maybe?
An advantage of this solution is, that some (not all) architectures
can share common code. If kvm_arch contains member foo for x86 and
ia64, a common function could do kvm->a.foo. With the posted approach,
we'd have
#ifdef CONFIG_ARCH_X86
val = to_kvm_x86(kvm).foo;
#else
val = to_kvm_ia74(kvm).foo;
#endif
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
next prev parent reply other threads:[~2007-11-21 9:39 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 [this message]
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 ` [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=4743FCB6.8080404@de.ibm.com \
--to=cotte-ta70fqpds9bqt0dzr+alfa@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--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.