[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2] boot allocator: Use arch helper for virt_to_mfn on DIRECTMAP



Hi Vijay,

On 03/15/2017 05:11 AM, Vijay Kilari wrote:
On Tue, Mar 14, 2017 at 9:02 PM, Julien Grall <julien.grall@xxxxxxx> wrote:
Hello Vijay,

On 13/03/17 11:43, vijay.kilari@xxxxxxxxx wrote:

From: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxx>

On ARM, virt_to_mfn uses the hardware for address
translation. So if the virtual address is not mapped translation
fault is raised.On ARM, DIRECTMAP_VIRT region is direct mapped.


This is not true. As I said before, all the memory will be direct mapped on
ARM64 but not on ARM32.

For ARM32, only xenheap will be direct mapped. So you may want to return
is_xenheap_mfn(...). Or even return false in all the case. Either is fine by
me, but it would need to be explained in the code.

Is this ok?.

/*
 * On ARM64 DIRECTMAP_VIRT region is directly mapped. Hence return true;
 * On ARM only xenheap memory is directly mapped. Hence return false.
 */
static inline bool_t arch_mfn_below_directmap_max_mfn(unsigned long mfn)
{
#ifdef CONFIG_ARM_64
    return true;
#else
    return false;
#endif
}

I would implement the helper in {arm32,arm64}/mm.h and avoid the #ifdef in the implementation.

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.