mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-27 01:11:31 +00:00
Choose PAGE_OFFSET dynamically based upon cpu type. Original UltraSPARC-I (spitfire) chips only supported a 44-bit virtual address space. Newer chips (T4 and later) support 52-bit virtual addresses and up to 47-bits of physical memory space. Therefore we have to adjust PAGE_SIZE dynamically based upon the capabilities of the chip. Note that this change alone does not allow us to support > 43-bit physical memory, to do that we need to re-arrange our page table support. The current encodings of the pmd_t and pgd_t pointers restricts us to "32 + 11" == 43 bits. This change can waste quite a bit of memory for the various tables. In particular, a future change should work to size and allocate kern_linear_bitmap[] and sparc64_valid_addr_bitmap[] dynamically. This isn't easy as we really cannot take a TLB miss when accessing kern_linear_bitmap[]. We'd have to lock it into the TLB or similar. Signed-off-by: David S. Miller <davem@davemloft.net> Acked-by: Bob Picco <bob.picco@oracle.com> |
||
|---|---|---|
| .. | ||
| ashldi3.S | ||
| ashrdi3.S | ||
| atomic32.c | ||
| atomic_64.S | ||
| bitext.c | ||
| bitops.S | ||
| blockops.S | ||
| bzero.S | ||
| checksum_32.S | ||
| checksum_64.S | ||
| clear_page.S | ||
| cmpdi2.c | ||
| copy_in_user.S | ||
| copy_page.S | ||
| copy_user.S | ||
| COPYING.LIB | ||
| csum_copy.S | ||
| csum_copy_from_user.S | ||
| csum_copy_to_user.S | ||
| divdi3.S | ||
| ffs.S | ||
| GENbzero.S | ||
| GENcopy_from_user.S | ||
| GENcopy_to_user.S | ||
| GENmemcpy.S | ||
| GENpage.S | ||
| GENpatch.S | ||
| hweight.S | ||
| iomap.c | ||
| ipcsum.S | ||
| ksyms.c | ||
| libgcc.h | ||
| locks.S | ||
| lshrdi3.S | ||
| Makefile | ||
| mcount.S | ||
| memcmp.S | ||
| memcpy.S | ||
| memmove.S | ||
| memscan_32.S | ||
| memscan_64.S | ||
| memset.S | ||
| muldi3.S | ||
| NG2copy_from_user.S | ||
| NG2copy_to_user.S | ||
| NG2memcpy.S | ||
| NG2patch.S | ||
| NG4clear_page.S | ||
| NG4copy_from_user.S | ||
| NG4copy_page.S | ||
| NG4copy_to_user.S | ||
| NG4memcpy.S | ||
| NG4memset.S | ||
| NG4patch.S | ||
| NGbzero.S | ||
| NGcopy_from_user.S | ||
| NGcopy_to_user.S | ||
| NGmemcpy.S | ||
| NGpage.S | ||
| NGpatch.S | ||
| PeeCeeI.c | ||
| strlen.S | ||
| strncmp_32.S | ||
| strncmp_64.S | ||
| U1copy_from_user.S | ||
| U1copy_to_user.S | ||
| U1memcpy.S | ||
| U3copy_from_user.S | ||
| U3copy_to_user.S | ||
| U3memcpy.S | ||
| U3patch.S | ||
| ucmpdi2.c | ||
| udivdi3.S | ||
| user_fixup.c | ||
| VISsave.S | ||
| xor.S | ||