History log of /arch/microblaze/kernel/early_printk.c
Revision Date Author Comments
d0380e6c3c0f6edb986d8798a23acfaf33d5df23 30-Apr-2013 Thomas Gleixner <tglx@linutronix.de> early_printk: consolidate random copies of identical code

The early console implementations are the same all over the place. Move
the print function to kernel/printk and get rid of the copies.

[akpm@linux-foundation.org: arch/mips/kernel/early_printk.c needs kernel.h for va_list]
[paul.gortmaker@windriver.com: sh4: make the bios early console support depend on EARLY_PRINTK]
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Russell King <linux@arm.linux.org.uk>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Richard Weinberger <richard@nod.at>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
6bd55f0bbaebb79b39e147aa864401fd0c94db82 27-Dec-2012 Michal Simek <monstr@monstr.eu> microblaze: Fix coding style issues

Fix coding style issues reported by checkpatch.pl.

Signed-off-by: Michal Simek <monstr@monstr.eu>
0fc7374bb5df938ef3d386e48ac9797d7651e9cc 02-Apr-2012 Michal Simek <monstr@monstr.eu> microblaze: Do not use tlb_skip in early_printk

tlb_skip is valid only for MMU system.

Signed-off-by: Michal Simek <monstr@monstr.eu>
e02db0aa3e1976ae4e23a66077d252a2f3ba74c7 08-Feb-2010 Michal Simek <monstr@monstr.eu> 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>
9bc974b927ad7f07206b8db9b36a29a146c1cfd1 06-Feb-2012 Masanari Iida <standby24x7@gmail.com> microblaze: Fix typo in early_printk.c

Correct spelling "remaping" to "remapping" in
arch/microblaze/kernel/early_printk.c

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
a8c2e555b05d6203576e396eba01f17cb2516e66 10-Nov-2011 Michal Simek <monstr@monstr.eu> microblaze: Send CR before LF for early console

This patch fixes problem with measuring tools.

Signed-off-by: Michal Simek <monstr@monstr.eu>
ca12adc8ca6814d1949fcc6d83c1adda6dc9e2ef 06-Apr-2011 Michal Simek <monstr@monstr.eu> microblaze: Add support for early console on mdm

Support mdm early console:
- extend time for retries
- add mdm compatible property

Signed-off-by: Michal Simek <monstr@monstr.eu>
2aa8e37596933a43fc3e46e1e385045635674429 14-Apr-2011 Michal Simek <monstr@monstr.eu> microblaze: Simplify early console binding from DT

Recognize early Linux console from chosen - linux,stdout-path
instead of detecting the first console with appropriate
compatible strings.
This patch solved the problem on system with multiple
consoles.

Signed-off-by: Michal Simek <monstr@monstr.eu>
e721a45fbed13a52093d2cc1962dbb8a754462ea 04-Apr-2011 Michal Simek <monstr@monstr.eu> microblaze: Get early printk console earlier

1. Register early console as standard console
2. Enable CON_BOOT console flag to ensure auto-unregistering by the kernel
3. remap_early_printk function remap physical console baseaddr to virtual space

Usage specific function for console remap is done after memory initialization
with IRQ turn off that's why there is not necessary to protect it.

The reason for remapping is that the kernel use TLB 63 for 1:1 address mapping
to be able to use console in very early boot-up phase. But allocating one TLB
just for console caused performance degression that's why ioremaps create new
mapping and TLB 63 is automatically released and ready to use.

Signed-off-by: Michal Simek <monstr@monstr.eu>
CC: Russell King <linux@arm.linux.org.uk>
CC: Ralf Baechle <ralf@linux-mips.org>
CC: Ingo Molnar <mingo@redhat.com>
CC: Alan Cox <alan@linux.intel.com>
CC: <linux-serial@vger.kernel.org>
CC: Arnd Bergmann <arnd@arndb.de>
67f4aaa21cf8cf09726cd26b506f3407ad7f11f9 28-Sep-2010 Michal Simek <monstr@monstr.eu> microblaze: Support early console on uart16550

Early console support reuse setting from U-BOOT that's why
it is not necessary to setup baudrates, etc.

Signed-off-by: Michal Simek <monstr@monstr.eu>
51f5fa50942ab013aa2e321bdfdba1c34ebf3256 28-Sep-2010 Michal Simek <monstr@monstr.eu> microblaze: Do not compile early console support for uartlite if is disabled

Kconfig blocks to select any other early console support that's why
this patch has no real impact on current kernel version. But it is done
because of uart16550.

Signed-off-by: Michal Simek <monstr@monstr.eu>
9a7e8d805ea042a7f37c8d3cef8350db63df9d57 28-Sep-2010 Michal Simek <monstr@monstr.eu> microblaze: Setup early console dynamically

Just setup pointer early console in run time.

Signed-off-by: Michal Simek <monstr@monstr.eu>
2af9ebe951bb12434e9f10cd1f0f83943ef3f54b 28-Sep-2010 Michal Simek <monstr@monstr.eu> microblaze: Rename all uartlite early printk functions

This is done because of uart16550 early printk support

Signed-off-by: Michal Simek <monstr@monstr.eu>
a43acfbbc8653f70b8da4c64ec534fb45065a2ee 26-May-2009 Michal Simek <monstr@monstr.eu> microblaze_mmu_v2: Alocate TLB for early console

Signed-off-by: Michal Simek <monstr@monstr.eu>
6e60c14810d8da792e418fdcb2110b4185d1b9a2 16-Apr-2009 Roel Kluin <roel.kluin@gmail.com> microblaze: iowrite upon timeout

retries reaches -1, so the iowrite occurrs upon timeout.

Acked-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
89272a51b322aa14332d58896b9d377ea9b4e551 27-Mar-2009 Michal Simek <monstr@monstr.eu> microblaze_v8: early_printk support

Reviewed-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Acked-by: John Linn <john.linn@xilinx.com>
Acked-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>