kernel-fxtec-pro1x/arch/microblaze/kernel
Michal Simek e02db0aa3e microblaze: Handle TLB skip size dynamically
This patch fix the problem with rootfs on JFFS2 with early printk
console turned on.

The origin version used TLB63 for temporary early printk mapping.
The code expect that kernel is not able to use all 64 TLB entries
till early printk console is remapped by ioremap. After that
temporary mapping on TLB63 is silently lost.
This expectation give the opportunity to have early console pretty
early.

Microblaze systems with JFFS2 rootfs with early printk console turned on
used more than 64 TLB entries before kernel can remap early console.
Based on that kernel does access to bad area because early printk mapping
is rewritten.

This patch introduces tlb_skip variable which dynamically stores number
of skipped TLB entries from the TLB0. skip_tlb=2 means that TLB0 and TLB1
should be skipped.

MICROBLAZE_TLB_SKIP defines how many TLB is skipped at the kernel start.
They can be used for user purpose.

TLB 63 is used for temporary LMB mapping (MICROBLAZE_LMB_TLB_ID).

Also clean TLBLO when kernel starts.

For specific kernel sizes kernel can use just one TLB. Detect this case
and use the second TLB for general purpose.

Change _tlbia function to flush TLB entries from tlb_skip to TLB_SIZE.

Export tlb_skip size through debugfs.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2012-03-23 09:28:19 +01:00
..
cpu microblaze: Add PVR version string for MB 8.20.b and 8.30.a 2012-03-19 07:30:27 +01:00
asm-offsets.c microblaze: Remove "cache" optimized copy_page function 2010-05-06 11:21:58 +02:00
dma.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
early_printk.c microblaze: Handle TLB skip size dynamically 2012-03-23 09:28:19 +01:00
entry-nommu.S microblaze: Do not use "la" pseudo instruction - use addik instead 2011-03-09 08:09:54 +01:00
entry.S microblaze: Trivial asm fix 2012-01-05 08:34:28 +01:00
exceptions.c microblaze: Raise SIGFPE/FPE_INTDIV for div by zero 2011-10-14 12:24:31 +02:00
ftrace.c microblaze: Fix ftrace 2011-04-01 09:34:51 +02:00
head.S microblaze: Handle TLB skip size dynamically 2012-03-23 09:28:19 +01:00
heartbeat.c microblaze: Add support for little-endian Microblaze 2010-10-21 15:51:59 +10:00
hw_exception_handler.S microblaze: Handle TLB skip size dynamically 2012-03-23 09:28:19 +01:00
init_task.c
intc.c microblaze: Use node name instead of compatible string 2012-03-23 09:28:15 +01:00
irq.c microblaze: Change NO_IRQ to 0 2012-01-05 08:29:13 +01:00
kgdb.c microblaze: KGDB little endian support 2010-10-21 15:51:58 +10:00
Makefile microblaze: Fix ftrace 2011-04-01 09:34:51 +02:00
mcount.S microblaze: ftrace: Add dynamic function graph tracer 2009-12-14 08:44:54 +01:00
microblaze_ksyms.c microblaze: Add missing export symbols for lib functions 2011-03-09 08:09:59 +01:00
misc.S microblaze: Handle TLB skip size dynamically 2012-03-23 09:28:19 +01:00
module.c microblaze: Fix debug message in module 2012-01-05 08:34:27 +01:00
process.c nohz: Remove tick_nohz_idle_enter_norcu() / tick_nohz_idle_exit_norcu() 2011-12-11 10:31:57 -08:00
prom.c memblock: s/memblock_analyze()/memblock_allow_resize()/ and update users 2011-12-08 10:22:08 -08:00
prom_parse.c of/pci: move of_irq_map_pci() into generic code 2011-02-04 11:46:50 -07:00
ptrace.c audit: inline audit_syscall_entry to reduce burden on archs 2012-01-17 16:16:56 -05:00
reset.c gpio/microblaze: Eliminate duplication of of_get_named_gpio_flags() 2011-12-12 13:40:16 -07:00
selfmod.c
setup.c microblaze: Handle TLB skip size dynamically 2012-03-23 09:28:19 +01:00
signal.c microblaze: Fix sparse warnings - signal.c 2011-03-09 08:09:59 +01:00
stacktrace.c microblaze: Add stack unwinder 2010-08-04 10:22:35 +02:00
sys_microblaze.c microblaze: Fix missing microblaze specific syscalls declaration 2011-03-09 08:09:58 +01:00
syscall_table.S microblaze: Wire-up new system calls 2012-01-05 11:16:51 +01:00
timer.c microblaze: Use node name instead of compatible string 2012-03-23 09:28:15 +01:00
traps.c microblaze: Add stack unwinder 2010-08-04 10:22:35 +02:00
unwind.c microblaze: Fix sparse warning - unwind.c 2011-03-09 08:09:58 +01:00
vmlinux.lds.S microblaze: Extend space for compiled-in FDT to 32kB 2012-03-23 09:28:17 +01:00