From: Keir Fraser <keir.fraser@eu.citrix.com>
To: Christoph Egger <Christoph.Egger@amd.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"Dong, Eddie" <eddie.dong@intel.com>
Subject: Re: [PATCH 03/14] Nested Virtualization: data structure
Date: Tue, 17 Aug 2010 11:28:17 +0100 [thread overview]
Message-ID: <C89022D1.1E126%keir.fraser@eu.citrix.com> (raw)
In-Reply-To: <201008171201.28028.Christoph.Egger@amd.com>
On 17/08/2010 11:01, "Christoph Egger" <Christoph.Egger@amd.com> wrote:
>> Yes, we should be strict on the layout of this structure. SVM/VMX-specific
>> stuff goes into a sub-structure in a union. Absolutely.
>
> I have moved the SVM/VMX-specific pieces into the 'void *nh_arch' field above.
> It is initialized in the svm/vmx specific vcpu initialization.
I suggest to make this a union including SVM/VMX-specific struct pointers.
It will avoid unnecessary explicit casting, and you can use an anonymous
union if you want. Is using pointers better than actually including the
structures in the union, do you think?
So I mean something like: union {
void *nh_arch;
struct nestedsvm *nh_svm;
struct nestedvmx *nh_vmx;
};
Or: union {
struct nestedsvm nh_svm;
struct nestedvmx nh_vmx;
};
What is the nh_arch_size field for? Well I can guess what it represents, but
why do you need such a thing?
> When you look into the svm specific patch, you will find a 'struct nestedsvm'
> in xen/include/asm-x86/hvm/svm/vmcb.h
>
>> And you would only go peeking at the SVM sub-structure
>> if hvm_svm_enabled(v)==TRUE.
>
> Correct. On a Intel CPU Xen should never allow the guest to
> set the EFER.SVME bit.
>
>> And we'd have a similar predicate hvm_vmx_enabled(v)==TRUE, presumably.
>> And maybe a generic hvm_nestedvirt_enabled(v) too.
>
> What you call hvm_nestedvirt_enabled() actually exists as nestedhvm_enabled().
Fine.
-- Keir
next prev parent reply other threads:[~2010-08-17 10:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1A42CE6F5F474C41B63392A5F80372B2291436DC@shsmsx501.ccr.corp.intel.com>
2010-08-17 7:47 ` [PATCH 03/14] Nested Virtualization: data structure Dong, Eddie
2010-08-17 8:03 ` Keir Fraser
2010-08-17 10:01 ` Christoph Egger
2010-08-17 10:28 ` Keir Fraser [this message]
2010-08-17 10:48 ` Christoph Egger
2010-08-17 11:02 ` Keir Fraser
2010-08-05 15:00 Christoph Egger
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=C89022D1.1E126%keir.fraser@eu.citrix.com \
--to=keir.fraser@eu.citrix.com \
--cc=Christoph.Egger@amd.com \
--cc=eddie.dong@intel.com \
--cc=xen-devel@lists.xensource.com \
/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.