[PATCH v7 08/16] ARM: LPAE: Page table maintenance for the 3-level format

Catalin Marinas catalin.marinas at arm.com
Sun Oct 23 08:49:41 EDT 2011


On 23 October 2011 13:56, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Wed, Aug 10, 2011 at 04:03:31PM +0100, Catalin Marinas wrote:
>> This patch modifies the pgd/pmd/pte manipulation functions to support
>> the 3-level page table format. Since there is no need for an 'ext'
>> argument to cpu_set_pte_ext(), this patch conditionally defines a
>> different prototype for this function when CONFIG_ARM_LPAE.
>
> This has a really large number of ifdefs.  You've split the 2 and 3
> level page table stuff into two different header files already,
> conditionalized on CONFIG_ARM_LPAE, yet we still end up with lots of
> junk in the common header file conditionalized on that symbol.  Can't
> we find a way to restructure pgtable.h to sort this out more cleanly?

I'll look into this.

> Do we really need to change the set_pte_ext() prototype as well - do
> we _really_ need ifdefs around its declaration, and every usage of it
> as well?  Can't we just leave the 3rd argument as zero?

The LPAE variant of cpu_v7_set_pte_ext takes the second argument as a
64-bit value:

r0 - ptep
r2, r3 - pteval

If we pass a third argument, that would go on the stack.

-- 
Catalin



More information about the linux-arm-kernel mailing list