On 08/06/2015 02:46 PM, Vlastimil Babka wrote:
On 07/17/2015 06:51 AM, Juergen Gross wrote:
... and here for !CONFIG_MMU.
So, what about CONFIG_MMU && !FIXMAP_PAGE_RO combinations? Which
translates to CONFIG_MMU && !PAGE_KERNEL_RO. Maybe they don't exist, but
then it's still awkward to see the combination in the code left
unimplemented.
At least there are some architectures without #define PAGE_KERNEL_RO but
testing CONFIG_MMU (arm, m68k, xtensa).
Would it be perhaps simpler to assume the same thing as in
drivers/base/firmware_class.c ?
/* Some architectures don't have PAGE_KERNEL_RO */
#ifndef PAGE_KERNEL_RO
#define PAGE_KERNEL_RO PAGE_KERNEL
#endif
Or would it be dangerous here to silently lose the read-only protection?
The only reason to use this function instead of early_memremap() is the
mandatory read-only mapping. My intention was to let the build fail in
case it is being used but not implemented. An architecture requiring the
function but having no PAGE_KERNEL_RO still can define FIXMAP_PAGE_RO.
Juergen