8f361453d8
This was caught and identified by Greg Onufer. Since we setup the 256M/4M bitmap table after taking over the trap table, it's possible for some 4M mapping to get loaded in the TLB beforhand which later will be 256M mappings. This can cause illegal TLB multiple-match conditions. Fix this by setting up the bitmap before we take over the trap table. Next, __flush_tlb_all() was not doing anything on hypervisor platforms. Fix by adding sun4v_mmu_demap_all() and calling it. Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
asm-offsets.c | ||
audit.c | ||
auxio.c | ||
binfmt_aout32.c | ||
binfmt_elf32.c | ||
central.c | ||
chmc.c | ||
compat_audit.c | ||
cpu.c | ||
ds.c | ||
dtlb_miss.S | ||
dtlb_prot.S | ||
ebus.c | ||
entry.S | ||
etrap.S | ||
head.S | ||
hvapi.c | ||
hvtramp.S | ||
idprom.c | ||
init_task.c | ||
iommu_common.c | ||
iommu_common.h | ||
iommu.c | ||
irq.c | ||
isa.c | ||
itlb_miss.S | ||
kprobes.c | ||
ktlb.S | ||
ldc.c | ||
Makefile | ||
mdesc.c | ||
module.c | ||
of_device.c | ||
pci_common.c | ||
pci_fire.c | ||
pci_impl.h | ||
pci_msi.c | ||
pci_psycho.c | ||
pci_sabre.c | ||
pci_schizo.c | ||
pci_sun4v_asm.S | ||
pci_sun4v.c | ||
pci_sun4v.h | ||
pci.c | ||
power.c | ||
process.c | ||
prom.c | ||
ptrace.c | ||
rtrap.S | ||
sbus.c | ||
semaphore.c | ||
setup.c | ||
signal32.c | ||
signal.c | ||
smp.c | ||
sparc64_ksyms.c | ||
sstate.c | ||
stacktrace.c | ||
starfire.c | ||
sun4v_ivec.S | ||
sun4v_tlb_miss.S | ||
sunos_ioctl32.c | ||
sys32.S | ||
sys_sparc32.c | ||
sys_sparc.c | ||
sys_sunos32.c | ||
sysfs.c | ||
systbls.S | ||
time.c | ||
trampoline.S | ||
traps.c | ||
tsb.S | ||
ttable.S | ||
una_asm.S | ||
unaligned.c | ||
us2e_cpufreq.c | ||
us3_cpufreq.c | ||
vio.c | ||
viohs.c | ||
visemul.c | ||
vmlinux.lds.S | ||
winfixup.S |