Re: [PATCH v3 8/9] sparc64: Move to 64-bit PGDs and PMDs.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Miller wrote:	[Wed Nov 13 2013, 02:18:49AM EST]
> 
> To make the page tables compact, we were using 32-bit PGDs and PMDs.
> We only had to support <= 43 bits of physical addresses so this was
> quite feasible.
> 
> In order to support larger physical addresses we have to move to
> 64-bit PGDs and PMDs.
> 
> Most of the changes are straight-forward:
> 
> 1) {pgd,pmd}_t --> unsigned long
> 
> 2) Anything that tries to use plain "unsigned int" types with pgd/pmd
>    values needs to be adjusted.  In particular things like "0U" become
>    "0UL".
> 
> 3) {PGDIR,PMD}_BITS decrease by one.
> 
> 4) In the assembler page table walkers, use "ldxa" instead of "lduwa"
>    and adjust the low bit masks to clear out the low 3 bits instead of
>    just the low 2 bits during pgd/pmd address formation.
> 
> Also, use PTRS_PER_PGD and PTRS_PER_PMD in the sizing of the
> swapper_{pg_dir,low_pmd_dir} arrays.
> 
> This patch does not try to take advantage of having 64-bits in the
> PMDs to simplify the hugepage code, that will come in a subsequent
> change.
> 
> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> ---
Acked-by: Bob Picco <bob.picco@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux