[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 19/22] xen/arm: p2m: Inline p2m_load_VTTBR into p2m_restore_state
p2m_restore_state is the last caller of p2m_load_VTTBR and already check if the vCPU does not belong to the idle domain. Note that it is likely possible to remove some isb in the function p2m_restore_state, however this is not the purpose of this patch. So the numerous isb have been left. Signed-off-by: Julien Grall <julien.grall@xxxxxxx> --- xen/arch/arm/p2m.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c index 015c1e8..c756e0c 100644 --- a/xen/arch/arm/p2m.c +++ b/xen/arch/arm/p2m.c @@ -105,19 +105,6 @@ void dump_p2m_lookup(struct domain *d, paddr_t addr) P2M_ROOT_LEVEL, P2M_ROOT_PAGES); } -static void p2m_load_VTTBR(struct domain *d) -{ - struct p2m_domain *p2m = &d->arch.p2m; - - if ( is_idle_domain(d) ) - return; - - ASSERT(p2m->vttbr); - - WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2); - isb(); /* Ensure update is visible */ -} - void p2m_save_state(struct vcpu *p) { p->arch.sctlr = READ_SYSREG(SCTLR_EL1); @@ -126,6 +113,7 @@ void p2m_save_state(struct vcpu *p) void p2m_restore_state(struct vcpu *n) { register_t hcr; + struct p2m_domain *p2m = &n->domain->arch.p2m; if ( is_idle_vcpu(n) ) return; @@ -134,7 +122,7 @@ void p2m_restore_state(struct vcpu *n) WRITE_SYSREG(hcr & ~HCR_VM, HCR_EL2); isb(); - p2m_load_VTTBR(n->domain); + WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2); isb(); if ( is_32bit_domain(n->domain) ) -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |