[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 11/13] arm/mem_access: Add long-descriptor based gpt
Hi Sergej, On 09/08/17 09:20, Sergej Proskurin wrote: + /* + * According to to ARM DDI 0487B.a J1-5927, we return an error if the found Please drop one of the 'to'. The rest looks good to me. + * PTE is invalid or holds a reserved entry (PTE<1:0> == x0)) or if the PTE + * maps a memory block at level 3 (PTE<1:0> == 01). + */ + if ( !lpae_is_page(pte, level) && !lpae_is_superpage(pte, level) ) + return -EFAULT; + + /* Make sure that the lower bits of the PTE's base address are zero. */ + mask = GENMASK_ULL(47, grainsizes[gran]); + *ipa = (pfn_to_paddr(pte.walk.base) & mask) | (gva & masks[gran][level]); + + /* + * Set permissions so that the caller can check the flags by herself. Note + * that stage 1 translations also inherit attributes from the tables + * (ARM DDI 0487B.a J1-5928). + */ + if ( !pte.pt.ro && !ro_table ) + *perms |= GV2M_WRITE; + if ( !pte.pt.xn && !xn_table ) + *perms |= GV2M_EXEC; + + return 0; } Cheers, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |