[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] xen: arm: Ensure HCR_EL2.RW is set correctly when building dom0
commit b3cbe129d07ac9a41175491fdd3c882641588350 Author: Ian Campbell <ian.campbell@xxxxxxxxxx> AuthorDate: Thu Oct 10 15:43:45 2013 +0100 Commit: Ian Campbell <ian.campbell@xxxxxxxxxx> CommitDate: Thu Oct 24 14:25:11 2013 +0100 xen: arm: Ensure HCR_EL2.RW is set correctly when building dom0 copy_to_user and friends rely on this, since the address transalation functions (guest VA -> MFN) will truncate VA to the appropriate size. Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Julien Grall <julien.grall@xxxxxxxxxx> --- xen/arch/arm/domain_build.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c index 4e1badf..c644be2 100644 --- a/xen/arch/arm/domain_build.c +++ b/xen/arch/arm/domain_build.c @@ -955,6 +955,13 @@ int construct_dom0(struct domain *d) /* The following loads use the domain's p2m */ p2m_load_VTTBR(d); +#ifdef CONFIG_ARM_64 + d->arch.type = kinfo.type; + if ( is_pv32_domain(d) ) + WRITE_SYSREG(READ_SYSREG(HCR_EL2) & ~HCR_RW, HCR_EL2); + else + WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_RW, HCR_EL2); +#endif kernel_load(&kinfo); /* initrd_load will fix up the fdt, so call it before dtb_load */ @@ -970,9 +977,6 @@ int construct_dom0(struct domain *d) regs->pc = (register_t)kinfo.entry; -#ifdef CONFIG_ARM_64 - d->arch.type = kinfo.type; -#endif if ( is_pv32_domain(d) ) { -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |