On 23 October 2011 13:56, Russell King - ARM Linux
[off-list ref] wrote:
On Wed, Aug 10, 2011 at 04:03:31PM +0100, Catalin Marinas wrote:
quoted
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