Hi Brijesh, On Thu, Apr 06, 2017 at 09:05:03AM -0500, Brijesh Singh wrote: > I looked into arch/x86/mm/init_{32,64}.c and as you pointed the file contains > routines to do basic page splitting. I think it sufficient for our usage. Good :) > I should be able to drop the memblock patch from the series and update the > Patch 15 [1] to use the kernel_physical_mapping_init(). > > The kernel_physical_mapping_init() creates the page table mapping using > default KERNEL_PAGE attributes, I tried to extend the function by passing > 'bool enc' flags to hint whether to clr or set _PAGE_ENC when splitting the > pages. The code did not looked clean hence I dropped that idea. Or, you could have a __kernel_physical_mapping_init_prot(..., prot) helper which gets a protection argument and hands it down. The lower levels already hand down prot which is good. The interface kernel_physical_mapping_init() will then itself call: __kernel_physical_mapping_init_prot(..., PAGE_KERNEL); for the normal cases. That in a pre-patch of course. How does that sound? -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --