On 1/24/20 11:27 AM, Dan Williams wrote:
On Mon, Jan 20, 2020 at 6:08 AM Aneesh Kumar K.V
....
+unsigned long arch_namespace_map_size(void) +{ + return PAGE_SIZE; +} +EXPORT_SYMBOL_GPL(arch_namespace_map_size); + + static void __cpa_flush_all(void *arg) { unsigned long cache = (unsigned long)arg; diff --git a/include/linux/libnvdimm.h b/include/linux/libnvdimm.h index 9df091bd30ba..a3476dbd2656 100644 --- a/include/linux/libnvdimm.h +++ b/include/linux/libnvdimm.h @@ -284,4 +284,5 @@ static inline void arch_invalidate_pmem(void *addr, size_t size) } #endif +unsigned long arch_namespace_map_size(void);This property is more generic than the nvdimm namespace mapping size, it's more the fundamental remap granularity that the architecture supports. So I would expect this to be defined in core header files. Something like: diff --git a/include/linux/io.h b/include/linux/io.h index a59834bc0a11..58b3b2091dbb 100644 --- a/include/linux/io.h +++ b/include/linux/io.h @@ -155,6 +155,13 @@ enum { void *memremap(resource_size_t offset, size_t size, unsigned long flags); void memunmap(void *addr); +#ifndef memremap_min_align +static inline unsigned int memremap_min_align(void) +{ + return PAGE_SIZE; +} +#endif +
Should that be memremap_pages_min_align()?
/* * On x86 PAT systems we have memory tracking that keeps track of * the allowed mappings on memory ranges. This tracking works for ...and then have a definition is asm/io.h like this: unsigned int memremap_min_align(void); #define memremap_min_align memremap_min_align That way only architectures that want to opt out of the default need to define something in their local header.
-aneesh _______________________________________________ Linux-nvdimm mailing list -- [email protected] To unsubscribe send an email to [email protected]
