android_kernel_xiaomi_sm8350/arch/sparc64/kernel
David S. Miller 74bf4312ff [SPARC64]: Move away from virtual page tables, part 1.
We now use the TSB hardware assist features of the UltraSPARC
MMUs.

SMP is currently knowingly broken, we need to find another place
to store the per-cpu base pointers.  We hid them away in the TSB
base register, and that obviously will not work any more :-)

Another known broken case is non-8KB base page size.

Also noticed that flush_tlb_all() is not referenced anywhere, only
the internal __flush_tlb_all() (local cpu only) is used by the
sparc64 port, so we can get rid of flush_tlb_all().

The kernel gets it's own 8KB TSB (swapper_tsb) and each address space
gets it's own private 8K TSB.  Later we can add code to dynamically
increase the size of per-process TSB as the RSS grows.  An 8KB TSB is
good enough for up to about a 4MB RSS, after which the TSB starts to
incur many capacity and conflict misses.

We even accumulate OBP translations into the kernel TSB.

Another area for refinement is large page size support.  We could use
a secondary address space TSB to handle those.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-03-20 01:11:13 -08:00
..
asm-offsets.c kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
auxio.c [SPARC64]: Get rid of fast IRQ feature. 2005-06-27 17:04:45 -07:00
binfmt_aout32.c [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
binfmt_elf32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
central.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
chmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu.c [SPARC64]: Use ARRAY_SIZE macro 2005-11-09 12:03:42 -08:00
devices.c [SPARC64]: Probe D/I/E-cache config and use. 2005-09-26 00:32:17 -07:00
dtlb_miss.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
dtlb_prot.S [SPARC64]: Fix boot failures on SunBlade-150 2005-10-12 12:22:46 -07:00
ebus.c [PATCH] PCI: pci_find_device remove (sparc64/kernel/ebus.c) 2006-01-09 12:13:15 -08:00
entry.S [SPARC]: Wire up sys_unshare(). 2006-02-07 18:11:24 -08:00
etrap.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
head.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
idprom.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu_common.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c [SPARC64]: fix sparc_floppy_irq's auxio_register reseting 2006-03-20 01:10:34 -08:00
isa.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
itlb_miss.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
kprobes.c [PATCH] kprobes: fix race in recovery of reentrant probe 2006-01-11 18:42:12 -08:00
ktlb.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
Makefile [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_common.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_impl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c [SPARC64]: Eliminate PCI IOMMU dma mapping size limit. 2005-10-13 22:15:24 -07:00
pci_psycho.c [SPARC64]: Consolidate common PCI IOMMU init code. 2005-10-13 21:10:08 -07:00
pci_sabre.c [SPARC64]: Consolidate common PCI IOMMU init code. 2005-10-13 21:10:08 -07:00
pci_schizo.c [SPARC64]: Consolidate common PCI IOMMU init code. 2005-10-13 21:10:08 -07:00
pci.c [PATCH] Make sparc64 use setup-res.c 2005-09-08 14:57:25 -07:00
power.c [SPARC64]: Add needed pm_power_off symbol. 2006-01-09 14:12:50 -08:00
process.c [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
ptrace.c [PATCH] sparc64: task_pt_regs() 2006-01-12 09:08:52 -08:00
rtrap.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
sbus.c [PATCH] unpaged: fix sound Bad page states 2005-11-22 09:13:43 -08:00
semaphore.c [SPARC64]: Avoid membar instructions in delay slots. 2005-06-27 15:42:04 -07:00
setup.c [SPARC64]: Make cpu_present_map available earlier. 2006-02-26 19:36:00 -08:00
signal32.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
signal.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
smp.c [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
sparc64_ksyms.c [SPARC]: Add support for *at(), ppoll, and pselect syscalls. 2006-01-19 02:42:49 -08:00
starfire.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunos_ioctl32.c [SPARC]: Kill remaining kbio.h references. 2005-11-07 14:12:21 -08:00
sys32.S [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
sys_sparc32.c [SPARC]: sys_newfstatat --> sys_fstatat64 2006-02-12 23:30:11 -08:00
sys_sparc.c [PATCH] Avoiding mmap fragmentation 2005-06-21 18:46:16 -07:00
sys_sunos32.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
systbls.S [SPARC]: sys_newfstatat --> sys_fstatat64 2006-02-12 23:30:11 -08:00
time.c [SPARC64]: Eliminate race condition reading Hummingbird STICK register 2006-01-17 15:21:01 -08:00
trampoline.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
traps.c [PATCH] sparc64: task_stack_page() 2006-01-12 09:08:52 -08:00
tsb.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
ttable.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
una_asm.S [SPARC64]: Mark __ex_table section correctly. 2006-03-04 23:23:56 -08:00
unaligned.c [SPARC64]: Fix fault handling in unaligned trap handler. 2005-09-28 20:41:45 -07:00
us2e_cpufreq.c [PATCH] kfree cleanup: arch 2005-11-07 07:54:06 -08:00
us3_cpufreq.c [PATCH] kfree cleanup: arch 2005-11-07 07:54:06 -08:00
vmlinux.lds.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
winfixup.S [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00