android_kernel_motorola_sm6225/arch/tile/include/asm
Chris Metcalf 621b195515 arch/tile: support multiple huge page sizes dynamically
This change adds support for a new "super" bit in the PTE, using the new
arch_make_huge_pte() method.  The Tilera hypervisor sees the bit set at a
given level of the page table and gangs together 4, 16, or 64 consecutive
pages from that level of the hierarchy to create a larger TLB entry.

One extra "super" page size can be specified at each of the three levels
of the page table hierarchy on tilegx, using the "hugepagesz" argument
on the boot command line.  A new hypervisor API is added to allow Linux
to tell the hypervisor how many PTEs to gang together at each level of
the page table.

To allow pre-allocating huge pages larger than the buddy allocator can
handle, this change modifies the Tilera bootmem support to put all of
memory on tilegx platforms into bootmem.

As part of this change I eliminate the vestigial CONFIG_HIGHPTE support,
which never worked anyway, and eliminate the hv_page_size() API in favor
of the standard vma_kernel_pagesize() API.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2012-05-25 12:48:27 -04:00
..
asm-offsets.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
atomic.h tile: fix multiple build failures from system.h dismantle 2012-04-02 11:57:37 -04:00
atomic_32.h arch/tile: optimize get_user/put_user and friends 2012-05-25 12:48:23 -04:00
atomic_64.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
auxvec.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
backtrace.h arch/tile: refactor backtracing code 2011-05-02 13:49:14 -04:00
barrier.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
bitops.h arch/tile: finish enabling support for TILE-Gx 64-bit chip 2011-05-12 15:52:12 -04:00
bitops_32.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
bitops_64.h arch/tile: fix gcc 4.6 warnings in <asm/bitops_64.h> 2012-04-02 12:00:15 -04:00
bitsperlong.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
byteorder.h arch/tile: support building big-endian kernel 2012-05-25 12:48:22 -04:00
cache.h arch/tile: catch up with section naming convention in 2.6.35 2011-03-01 16:18:52 -05:00
cachectl.h arch/tile: support <asm/cachectl.h> header for cacheflush() syscall 2012-05-25 12:48:24 -04:00
cacheflush.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
checksum.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
cmpxchg.h tile: fix multiple build failures from system.h dismantle 2012-04-02 11:57:37 -04:00
compat.h arch/tile: support <asm/cachectl.h> header for cacheflush() syscall 2012-05-25 12:48:24 -04:00
current.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
delay.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
dma-mapping.h tile,mn10300: add device parameter to dma_cache_sync() 2011-05-04 14:41:36 -04:00
dma.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
edac.h drivers/edac: provide support for tile architecture 2011-03-10 13:30:14 -05:00
elf.h arch/tile: support building big-endian kernel 2012-05-25 12:48:22 -04:00
exec.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
fixmap.h arch/tile: remove useless set_fixmap_nocache() macro 2011-06-15 10:35:38 -04:00
ftrace.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
futex.h arch/tile: optimize get_user/put_user and friends 2012-05-25 12:48:23 -04:00
hardirq.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
hardwall.h arch/tile: more /proc and /sys file support 2011-05-27 10:39:05 -04:00
highmem.h highmem: kill all __kmap_atomic() 2012-03-20 21:48:30 +08:00
homecache.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
hugetlb.h arch/tile: support multiple huge page sizes dynamically 2012-05-25 12:48:27 -04:00
hv_driver.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
hw_irq.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
ide.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
io.h tile: don't panic on iomap 2011-12-04 16:00:07 +02:00
irq.h arch/tile: use 0 for IRQ_RESCHEDULE instead of 1 2012-04-02 12:00:16 -04:00
irqflags.h arch/tile: use interrupt critical sections less 2012-05-25 12:48:20 -04:00
Kbuild arch/tile: support <asm/cachectl.h> header for cacheflush() syscall 2012-05-25 12:48:24 -04:00
kexec.h arch/tile: support kexec() for tilegx 2012-05-25 12:48:25 -04:00
kmap_types.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
linkage.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
memprof.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
mman.h arch/tile: provide a definition of MAP_STACK 2010-10-14 15:09:02 -04:00
mmu.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
mmu_context.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
module.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
page.h arch/tile: support multiple huge page sizes dynamically 2012-05-25 12:48:27 -04:00
pci.h arch/tile: fix a couple of functions that should be __init 2012-04-25 12:45:26 -04:00
percpu.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
pgalloc.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
pgtable.h arch/tile: support multiple huge page sizes dynamically 2012-05-25 12:48:27 -04:00
pgtable_32.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
pgtable_64.h arch/tile: Allow tilegx to build with either 16K or 64K page size 2012-05-25 12:48:24 -04:00
processor.h arch/tile: support signal "exception-trace" hook 2011-05-19 22:55:59 -04:00
ptrace.h ptrace: unify show_regs() prototype 2011-07-26 16:49:43 -07:00
sections.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
setup.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
sigcontext.h arch/tile: avoid ISO namespace pollution with <asm/sigcontext.h> 2011-11-03 16:58:36 -04:00
sigframe.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
siginfo.h arch/tile: Fix a couple of issues with the COMPAT code for TILE-Gx. 2010-08-13 08:32:21 -04:00
signal.h UAPI: Split trivial #if defined(__KERNEL__) && X conditionals 2011-12-13 15:07:49 +00:00
smp.h smp: introduce a generic on_each_cpu_mask() function 2012-03-28 17:14:35 -07:00
spinlock.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
spinlock_32.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
spinlock_64.h arch/tile: use atomic exchange in arch_write_unlock() 2012-04-02 12:13:49 -04:00
spinlock_types.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
stack.h arch/tile: various bugs in stack backtracer 2012-04-02 12:12:45 -04:00
stat.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
string.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
swab.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00
switch_to.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
syscall.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
syscalls.h arch/tile: support <asm/cachectl.h> header for cacheflush() syscall 2012-05-25 12:48:24 -04:00
thread_info.h arch/tile: fix up some issues in calling do_work_pending() 2012-05-16 16:01:16 -04:00
tile-desc.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
tile-desc_32.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
tile-desc_64.h arch/tile: factor out <arch/opcode.h> header 2011-11-03 16:58:54 -04:00
timex.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
tlb.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
tlbflush.h arch/tile: support multiple huge page sizes dynamically 2012-05-25 12:48:27 -04:00
topology.h arch/tile: disable SD_WAKE_AFFINE flag on CPU/NODE scheduling domain 2011-05-04 14:40:16 -04:00
traps.h arch/tile: work around a hardware issue with the return-address stack 2012-04-02 12:12:48 -04:00
uaccess.h arch/tile: optimize get_user/put_user and friends 2012-05-25 12:48:23 -04:00
unaligned.h Disintegrate asm/system.h for Tile 2012-03-28 18:30:03 +01:00
unistd.h arch/tile: support <asm/cachectl.h> header for cacheflush() syscall 2012-05-25 12:48:24 -04:00
user.h arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
vga.h arch/tile: various header improvements for building drivers 2011-05-04 14:40:54 -04:00