* [PATCH] xen/x86: Don't unconditionally touch the hvm_domain union during domain construction
@ 2015-05-19 20:12 Andrew Cooper
2015-05-20 17:36 ` Don Slutz
0 siblings, 1 reply; 2+ messages in thread
From: Andrew Cooper @ 2015-05-19 20:12 UTC (permalink / raw)
To: Xen-devel; +Cc: Andrew Cooper, Keir Fraser, Jan Beulich, Don Slutz
It may not be the appropriate half to touch.
Drop the superfluous mem_sharing_enabled assignment, and move the hap_enabled
assignment to a suitable conditional before it is actually needed.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Keir Fraser <keir@xen.org>
CC: Jan Beulich <JBeulich@suse.com>
---
xen/arch/x86/domain.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 1f1550e..6e9464c 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -513,12 +513,6 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags,
int i, paging_initialised = 0;
int rc = -ENOMEM;
- d->arch.hvm_domain.hap_enabled =
- has_hvm_container_domain(d) &&
- hvm_funcs.hap_supported &&
- (domcr_flags & DOMCRF_hap);
- d->arch.hvm_domain.mem_sharing_enabled = 0;
-
d->arch.s3_integrity = !!(domcr_flags & DOMCRF_s3_integrity);
INIT_LIST_HEAD(&d->arch.pdev_list);
@@ -541,7 +535,12 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags,
}
if ( has_hvm_container_domain(d) )
+ {
+ d->arch.hvm_domain.hap_enabled =
+ hvm_funcs.hap_supported && (domcr_flags & DOMCRF_hap);
+
rc = create_perdomain_mapping(d, PERDOMAIN_VIRT_START, 0, NULL, NULL);
+ }
else if ( is_idle_domain(d) )
rc = 0;
else
--
1.7.10.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] xen/x86: Don't unconditionally touch the hvm_domain union during domain construction
2015-05-19 20:12 [PATCH] xen/x86: Don't unconditionally touch the hvm_domain union during domain construction Andrew Cooper
@ 2015-05-20 17:36 ` Don Slutz
0 siblings, 0 replies; 2+ messages in thread
From: Don Slutz @ 2015-05-20 17:36 UTC (permalink / raw)
To: Andrew Cooper, Xen-devel; +Cc: Keir Fraser, Jan Beulich
On 05/19/15 16:12, Andrew Cooper wrote:
> It may not be the appropriate half to touch.
>
> Drop the superfluous mem_sharing_enabled assignment, and move the hap_enabled
> assignment to a suitable conditional before it is actually needed.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> CC: Keir Fraser <keir@xen.org>
> CC: Jan Beulich <JBeulich@suse.com>
> ---
> xen/arch/x86/domain.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
> index 1f1550e..6e9464c 100644
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -513,12 +513,6 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags,
> int i, paging_initialised = 0;
> int rc = -ENOMEM;
>
> - d->arch.hvm_domain.hap_enabled =
> - has_hvm_container_domain(d) &&
> - hvm_funcs.hap_supported &&
> - (domcr_flags & DOMCRF_hap);
> - d->arch.hvm_domain.mem_sharing_enabled = 0;
> -
> d->arch.s3_integrity = !!(domcr_flags & DOMCRF_s3_integrity);
>
> INIT_LIST_HEAD(&d->arch.pdev_list);
> @@ -541,7 +535,12 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags,
> }
>
> if ( has_hvm_container_domain(d) )
> + {
> + d->arch.hvm_domain.hap_enabled =
> + hvm_funcs.hap_supported && (domcr_flags & DOMCRF_hap);
> +
> rc = create_perdomain_mapping(d, PERDOMAIN_VIRT_START, 0, NULL, NULL);
> + }
> else if ( is_idle_domain(d) )
> rc = 0;
> else
>
Looks good to me.
Reviewed-by: Don Slutz <dslutz@verizon.com>
-Don Slutz
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-05-20 17:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-19 20:12 [PATCH] xen/x86: Don't unconditionally touch the hvm_domain union during domain construction Andrew Cooper
2015-05-20 17:36 ` Don Slutz
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.