|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH Altp2m cleanup 2/3 v9 2/2] Moving ept code to ept specific files as requested in: https://lists.xenproject.org/archives/html/xen-devel/2015-07/msg04323.html Renamed p2m_init_altp2m_helper() to p2m_init_altp2m_ept().
On Tue, Oct 11, 2016 at 10:41:25AM -0700, Paul Lai wrote:
someting is off with your title. I think you need to add
an extra newline.
> Signed-off-by: Paul Lai <paul.c.lai@xxxxxxxxx>
Patch wise:
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> ---
> v9
> Per request:
> o seperate patch for moving functions around
> o function name to p2m_init_altp2m_ept() from p2m_init_altp2m_helper()
> ---
> xen/arch/x86/mm/p2m-ept.c | 39 +++++++++++++++++++++++++++++++++++++++
> xen/arch/x86/mm/p2m.c | 43 ++-----------------------------------------
> 2 files changed, 41 insertions(+), 41 deletions(-)
>
> diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
> index 13cab24..04878f5 100644
> --- a/xen/arch/x86/mm/p2m-ept.c
> +++ b/xen/arch/x86/mm/p2m-ept.c
> @@ -1329,6 +1329,45 @@ void setup_ept_dump(void)
> register_keyhandler('D', ept_dump_p2m_table, "dump VT-x EPT tables", 0);
> }
>
> +void p2m_init_altp2m_ept(struct domain *d, unsigned int i)
> +{
> + struct p2m_domain *p2m = d->arch.altp2m_p2m[i];
> + struct ept_data *ept;
> +
> + p2m->min_remapped_gfn = gfn_x(INVALID_GFN);
> + p2m->max_remapped_gfn = 0;
> + ept = &p2m->ept;
> + ept->asr = pagetable_get_pfn(p2m_get_pagetable(p2m));
> + d->arch.altp2m_eptp[i] = ept_get_eptp(ept);
> +}
> +
> +unsigned int p2m_find_altp2m_by_eptp(struct domain *d, uint64_t eptp)
> +{
> + struct p2m_domain *p2m;
> + struct ept_data *ept;
> + unsigned int i;
> +
> + altp2m_list_lock(d);
> +
> + for ( i = 0; i < MAX_ALTP2M; i++ )
> + {
> + if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
> + continue;
> +
> + p2m = d->arch.altp2m_p2m[i];
> + ept = &p2m->ept;
> +
> + if ( eptp == ept_get_eptp(ept) )
> + goto out;
> + }
> +
> + i = INVALID_ALTP2M;
> +
> + out:
> + altp2m_list_unlock(d);
> + return i;
> +}
> +
> /*
> * Local variables:
> * mode: C
> diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
> index 9526fff..9fecbc9 100644
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -2342,33 +2342,6 @@ int unmap_mmio_regions(struct domain *d,
> return i == nr ? 0 : i ?: ret;
> }
>
> -unsigned int p2m_find_altp2m_by_eptp(struct domain *d, uint64_t eptp)
> -{
> - struct p2m_domain *p2m;
> - struct ept_data *ept;
> - unsigned int i;
> -
> - altp2m_list_lock(d);
> -
> - for ( i = 0; i < MAX_ALTP2M; i++ )
> - {
> - if ( d->arch.altp2m_eptp[i] == mfn_x(INVALID_MFN) )
> - continue;
> -
> - p2m = d->arch.altp2m_p2m[i];
> - ept = &p2m->ept;
> -
> - if ( eptp == ept_get_eptp(ept) )
> - goto out;
> - }
> -
> - i = INVALID_ALTP2M;
> -
> - out:
> - altp2m_list_unlock(d);
> - return i;
> -}
> -
> bool_t p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx)
> {
> struct domain *d = v->domain;
> @@ -2474,18 +2447,6 @@ void p2m_flush_altp2m(struct domain *d)
> altp2m_list_unlock(d);
> }
>
> -static void p2m_init_altp2m_helper(struct domain *d, unsigned int i)
> -{
> - struct p2m_domain *p2m = d->arch.altp2m_p2m[i];
> - struct ept_data *ept;
> -
> - p2m->min_remapped_gfn = gfn_x(INVALID_GFN);
> - p2m->max_remapped_gfn = 0;
> - ept = &p2m->ept;
> - ept->asr = pagetable_get_pfn(p2m_get_pagetable(p2m));
> - d->arch.altp2m_eptp[i] = ept_get_eptp(ept);
> -}
> -
> int p2m_init_altp2m_by_id(struct domain *d, unsigned int idx)
> {
> int rc = -EINVAL;
> @@ -2497,7 +2458,7 @@ int p2m_init_altp2m_by_id(struct domain *d, unsigned
> int idx)
>
> if ( d->arch.altp2m_eptp[idx] == mfn_x(INVALID_MFN) )
> {
> - p2m_init_altp2m_helper(d, idx);
> + p2m_init_altp2m_ept(d, idx);
> rc = 0;
> }
>
> @@ -2517,7 +2478,7 @@ int p2m_init_next_altp2m(struct domain *d, uint16_t
> *idx)
> if ( d->arch.altp2m_eptp[i] != mfn_x(INVALID_MFN) )
> continue;
>
> - p2m_init_altp2m_helper(d, i);
> + p2m_init_altp2m_ept(d, i);
> *idx = i;
> rc = 0;
>
> --
> 2.7.4
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> https://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |