|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 Altp2m cleanup 3/3] Making altp2m struct dynamically allocated.
>>> On 21.06.16 at 18:04, <paul.c.lai@xxxxxxxxx> wrote:
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -5228,7 +5228,7 @@ static int do_altp2m_op(
>
> if ( (a.cmd != HVMOP_altp2m_get_domain_state) &&
> (a.cmd != HVMOP_altp2m_set_domain_state) &&
> - !d->arch.altp2m_active )
> + ! altp2m_active(d) )
Stray blank.
> @@ -5262,11 +5262,11 @@ static int do_altp2m_op(
> break;
> }
>
> - ostate = d->arch.altp2m_active;
> - d->arch.altp2m_active = !!a.u.domain_state.state;
> + ostate = altp2m_active(d);
> + set_altp2m_active(d, !!a.u.domain_state.state);
Bogus tab indentation.
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -193,12 +193,15 @@ static void p2m_teardown_altp2m(struct domain *d)
>
> for ( i = 0; i < MAX_ALTP2M; i++ )
> {
> - if ( !d->arch.altp2m_p2m[i] )
> + if ( !d->arch.altp2m->altp2m_p2m[i] )
> continue;
> - p2m = d->arch.altp2m_p2m[i];
> + p2m = d->arch.altp2m->altp2m_p2m[i];
> p2m_free_one(p2m);
> - d->arch.altp2m_p2m[i] = NULL;
> + d->arch.altp2m->altp2m_p2m[i] = NULL;
> }
> +
> + if (d->arch.altp2m)
Missing blanks.
> + xfree(d->arch.altp2m);
But the conditional is pointless anyway.
> @@ -206,10 +209,12 @@ static int p2m_init_altp2m(struct domain *d)
> unsigned int i;
> struct p2m_domain *p2m;
>
> - mm_lock_init(&d->arch.altp2m_list_lock);
> + d->arch.altp2m = xzalloc(struct altp2m_domain);
> +
> + mm_lock_init(&d->arch.altp2m->altp2m_list_lock);
Missing error check.
> --- a/xen/include/asm-x86/domain.h
> +++ b/xen/include/asm-x86/domain.h
> @@ -274,6 +274,13 @@ struct monitor_write_data {
> uint64_t cr4;
> };
>
> +struct altp2m_domain {
> + bool_t altp2m_active;
> + struct p2m_domain *altp2m_p2m[MAX_ALTP2M];
> + mm_lock_t altp2m_list_lock;
> + uint64_t *altp2m_eptp;
> +};
No point prefixing all the fields with altp2m_. And also the structure
now doesn't belong here anymore - it should move to e.g. p2m.h.
> @@ -320,10 +327,13 @@ struct arch_domain
> mm_lock_t nested_p2m_lock;
>
> /* altp2m: allow multiple copies of host p2m */
> + /*
> bool_t altp2m_active;
> struct p2m_domain *altp2m_p2m[MAX_ALTP2M];
> mm_lock_t altp2m_list_lock;
> - uint64_t *altp2m_eptp;
> + uint64_t *altp2m_eptp;
> + */
What's the purpose of this comment?
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |