|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 13/18] PVH xen: mtrr, tsc, grant changes...
On Mon, Jun 24, 2013 at 05:01:42PM -0700, Mukesh Rathor wrote:
> PVH only supports limited memory types in Phase I. TSC is limited to native
> mode only also for the moment. Finally, grant mapping of iomem for PVH hasn't
> been explorted in phase I.
explored.
>
> Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
> ---
> xen/arch/x86/hvm/mtrr.c | 8 ++++++++
> xen/arch/x86/time.c | 8 ++++++++
> xen/common/grant_table.c | 4 ++--
> 3 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
> index ef51a8d..b9d6411 100644
> --- a/xen/arch/x86/hvm/mtrr.c
> +++ b/xen/arch/x86/hvm/mtrr.c
> @@ -693,6 +693,14 @@ uint8_t epte_get_entry_emt(struct domain *d, unsigned
> long gfn, mfn_t mfn,
> ((d->vcpu == NULL) || ((v = d->vcpu[0]) == NULL)) )
> return MTRR_TYPE_WRBACK;
>
> + /* PVH fixme: Add support for more memory types. */
> + if ( is_pvh_domain(d) )
> + {
> + if ( direct_mmio )
> + return MTRR_TYPE_UNCACHABLE;
> + return MTRR_TYPE_WRBACK;
> + }
> +
> if ( !v->domain->arch.hvm_domain.params[HVM_PARAM_IDENT_PT] )
> return MTRR_TYPE_WRBACK;
>
> diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
> index 86640f5..5b1b6bb 100644
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1893,6 +1893,14 @@ void tsc_set_info(struct domain *d,
> d->arch.vtsc = 0;
> return;
> }
> + if ( is_pvh_domain(d) && tsc_mode != TSC_MODE_NEVER_EMULATE )
> + {
> + /* PVH fixme: support more tsc modes. */
> + printk(XENLOG_WARNING
> + "PVH currently does not support tsc emulation. Setting
> timer_mode = native\n");
> + d->arch.vtsc = 0;
> + return;
> + }
>
> switch ( d->arch.tsc_mode = tsc_mode )
> {
> diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
> index 3f97328..a2073d2 100644
> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -721,7 +721,7 @@ __gnttab_map_grant_ref(
>
> double_gt_lock(lgt, rgt);
>
> - if ( !is_hvm_domain(ld) && need_iommu(ld) )
> + if ( is_pv_domain(ld) && need_iommu(ld) )
> {
> unsigned int wrc, rdc;
> int err = 0;
> @@ -932,7 +932,7 @@ __gnttab_unmap_common(
> act->pin -= GNTPIN_hstw_inc;
> }
>
> - if ( !is_hvm_domain(ld) && need_iommu(ld) )
> + if ( is_pv_domain(ld) && need_iommu(ld) )
> {
> unsigned int wrc, rdc;
> int err = 0;
> --
> 1.7.2.3
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |