kernel-hacking-2024-linux-s.../arch/sh/mm
Matt Fleming 5d9b4b19f1 sh: Definitions for 3-level page table layout
If using 64-bit PTEs and 4K pages then each page table has 512 entries
(as opposed to 1024 entries with 32-bit PTEs). Unlike MIPS, SH follows
the convention that all structures in the page table (pgd_t, pmd_t,
pgprot_t, etc) must be the same size. Therefore, 64-bit PTEs require
64-bit PGD entries, etc. Using 2-levels of page tables and 64-bit PTEs
it is only possible to map 1GB of virtual address space.

In order to map all 4GB of virtual address space we need to adopt a
3-level page table layout. This actually works out better for
CONFIG_SUPERH32 because we only waste 2 PGD entries on the P1 and P2
areas (which are untranslated) instead of 256.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-12-17 14:31:20 +09:00
..
asids-debugfs.c
cache-debugfs.c
cache-sh2.c
cache-sh2a.c Revert "sh: Kill off now redundant local irq disabling." 2009-09-01 21:12:55 +09:00
cache-sh3.c
cache-sh4.c sh: Can't compare physical and virtual addresses for aliases 2009-12-09 12:34:46 +09:00
cache-sh5.c sh64: Fix up reworked cache op build. 2009-11-12 17:03:28 +09:00
cache-sh7705.c sh: Obliterate the P1 area macros 2009-10-10 21:51:02 +09:00
cache.c sh: Partial revert of copy/clear_user_highpage() optimizations. 2009-12-04 15:14:52 +09:00
consistent.c sh: Bump up dma_ops initialization far earlier in the boot process. 2009-10-27 17:07:45 +09:00
extable_32.c
extable_64.c
fault_32.c sh: Definitions for 3-level page table layout 2009-12-17 14:31:20 +09:00
fault_64.c
flush-sh4.c sh: Fix up the SH-5 build with caches enabled. 2009-08-16 01:50:17 +09:00
hugetlbpage.c
init.c sh: Definitions for 3-level page table layout 2009-12-17 14:31:20 +09:00
ioremap_32.c sh: wire up vmallocinfo support in ioremap() implementations. 2009-12-14 14:23:41 +09:00
ioremap_64.c sh: wire up vmallocinfo support in ioremap() implementations. 2009-12-14 14:23:41 +09:00
Kconfig sh: Definitions for 3-level page table layout 2009-12-17 14:31:20 +09:00
kmap.c sh: Factor in cpu id for selection of cache colour fixmap. 2009-09-09 17:14:19 +09:00
Makefile sh: Fold fixed-PMB support into dynamic PMB support 2009-10-10 21:52:34 +09:00
mmap.c fix broken aliasing checks for MAP_FIXED on sparc32, mips, arm and sh 2009-12-11 06:44:59 -05:00
nommu.c sh: Fix up and optimize the kmap_coherent() interface. 2009-09-03 17:21:10 +09:00
numa.c sh: NUMA lmb fixes 2009-12-09 12:40:44 +09:00
pmb.c sh: Fold fixed-PMB support into dynamic PMB support 2009-10-10 21:52:34 +09:00
tlb-pteaex.c
tlb-sh3.c
tlb-sh4.c Merge branch 'master' into sh/smp 2009-09-01 13:54:14 +09:00
tlb-sh5.c
tlbflush_32.c
tlbflush_64.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00