|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 1/3] xen/domain_page: Convert map_domain_page_global() to using mfn_t
On 07/07/15 11:01, Jan Beulich wrote:
>>>> On 02.07.15 at 14:04, <Ben.Catterall@xxxxxxxxxx> wrote:
>> --- a/xen/include/xen/domain_page.h
>> +++ b/xen/include/xen/domain_page.h
>> @@ -41,11 +41,15 @@ unsigned long domain_page_map_to_mfn(const void *va);
>> * address spaces (not just within the VCPU that created the mapping).
>> Global
>> * mappings can also be unmapped from any context.
>> */
>> -void *map_domain_page_global(unsigned long mfn);
>> +void *map_domain_page_global(mfn_t mfn);
>> void unmap_domain_page_global(const void *va);
>>
>> #define __map_domain_page(pg) map_domain_page(__page_to_mfn(pg))
>> -#define __map_domain_page_global(pg)
>> map_domain_page_global(__page_to_mfn(pg))
>> +
>> +static inline void *__map_domain_page_global(struct page_info *pg)
> const
>
>> @@ -117,9 +121,17 @@ domain_mmap_cache_destroy(struct domain_mmap_cache
>> *cache)
>> mfn_to_virt(smfn))
>> #define domain_page_map_to_mfn(va) virt_to_mfn((unsigned long)(va))
>>
>> -#define map_domain_page_global(mfn) mfn_to_virt(mfn)
>> -#define __map_domain_page_global(pg) page_to_virt(pg)
>> -#define unmap_domain_page_global(va) ((void)(va))
>> +static inline void *map_domain_page_global(mfn_t mfn)
>> +{
>> + return mfn_to_virt(mfn_x(mfn));
>> +}
>> +
>> +static inline void *__map_domain_page_global(struct page_info *pg)
> const
>
>> +{
>> + return page_to_virt(pg);
>> +}
>> +
>> +static inline void unmap_domain_page_global(void *va) {};
> And again (the more that the real function already has it that way).
Hmm. Both unmap_domain_page() and _global() should be updated to not
take a const void *va.
Just like free(), these functions are not performing a read-only
operation on the destination pointer, therefore must not be performed on
an actual const pointer.
~Andrew
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |