<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/microblaze/kernel/early_printk.c, branch v3.7.8</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>microblaze: Do not use tlb_skip in early_printk</title>
<updated>2012-04-02T11:00:22+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2012-04-02T10:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0fc7374bb5df938ef3d386e48ac9797d7651e9cc'/>
<id>0fc7374bb5df938ef3d386e48ac9797d7651e9cc</id>
<content type='text'>
tlb_skip is valid only for MMU system.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tlb_skip is valid only for MMU system.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Handle TLB skip size dynamically</title>
<updated>2012-03-23T08:28:19+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2010-02-08T15:41:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e02db0aa3e1976ae4e23a66077d252a2f3ba74c7'/>
<id>e02db0aa3e1976ae4e23a66077d252a2f3ba74c7</id>
<content type='text'>
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 &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Fix typo in early_printk.c</title>
<updated>2012-03-19T06:30:25+00:00</updated>
<author>
<name>Masanari Iida</name>
<email>standby24x7@gmail.com</email>
</author>
<published>2012-02-06T14:23:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9bc974b927ad7f07206b8db9b36a29a146c1cfd1'/>
<id>9bc974b927ad7f07206b8db9b36a29a146c1cfd1</id>
<content type='text'>
Correct spelling "remaping" to "remapping" in
arch/microblaze/kernel/early_printk.c

Signed-off-by: Masanari Iida &lt;standby24x7@gmail.com&gt;
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Correct spelling "remaping" to "remapping" in
arch/microblaze/kernel/early_printk.c

Signed-off-by: Masanari Iida &lt;standby24x7@gmail.com&gt;
Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Send CR before LF for early console</title>
<updated>2012-01-05T07:34:25+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2011-11-10T12:40:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a8c2e555b05d6203576e396eba01f17cb2516e66'/>
<id>a8c2e555b05d6203576e396eba01f17cb2516e66</id>
<content type='text'>
This patch fixes problem with measuring tools.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes problem with measuring tools.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Add support for early console on mdm</title>
<updated>2011-07-25T07:25:26+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2011-04-06T11:06:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ca12adc8ca6814d1949fcc6d83c1adda6dc9e2ef'/>
<id>ca12adc8ca6814d1949fcc6d83c1adda6dc9e2ef</id>
<content type='text'>
Support mdm early console:
 - extend time for retries
 - add mdm compatible property

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support mdm early console:
 - extend time for retries
 - add mdm compatible property

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Simplify early console binding from DT</title>
<updated>2011-07-25T07:25:13+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2011-04-14T09:48:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2aa8e37596933a43fc3e46e1e385045635674429'/>
<id>2aa8e37596933a43fc3e46e1e385045635674429</id>
<content type='text'>
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 &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Get early printk console earlier</title>
<updated>2011-07-25T07:23:47+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2011-04-04T13:45:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e721a45fbed13a52093d2cc1962dbb8a754462ea'/>
<id>e721a45fbed13a52093d2cc1962dbb8a754462ea</id>
<content type='text'>
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 &lt;monstr@monstr.eu&gt;
CC: Russell King &lt;linux@arm.linux.org.uk&gt;
CC: Ralf Baechle &lt;ralf@linux-mips.org&gt;
CC: Ingo Molnar &lt;mingo@redhat.com&gt;
CC: Alan Cox &lt;alan@linux.intel.com&gt;
CC: &lt;linux-serial@vger.kernel.org&gt;
CC: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;monstr@monstr.eu&gt;
CC: Russell King &lt;linux@arm.linux.org.uk&gt;
CC: Ralf Baechle &lt;ralf@linux-mips.org&gt;
CC: Ingo Molnar &lt;mingo@redhat.com&gt;
CC: Alan Cox &lt;alan@linux.intel.com&gt;
CC: &lt;linux-serial@vger.kernel.org&gt;
CC: Arnd Bergmann &lt;arnd@arndb.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Support early console on uart16550</title>
<updated>2010-10-21T05:51:53+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2010-09-28T06:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=67f4aaa21cf8cf09726cd26b506f3407ad7f11f9'/>
<id>67f4aaa21cf8cf09726cd26b506f3407ad7f11f9</id>
<content type='text'>
Early console support reuse setting from U-BOOT that's why
it is not necessary to setup baudrates, etc.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Early console support reuse setting from U-BOOT that's why
it is not necessary to setup baudrates, etc.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Do not compile early console support for uartlite if is disabled</title>
<updated>2010-10-21T05:51:52+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2010-09-28T06:40:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=51f5fa50942ab013aa2e321bdfdba1c34ebf3256'/>
<id>51f5fa50942ab013aa2e321bdfdba1c34ebf3256</id>
<content type='text'>
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 &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>microblaze: Setup early console dynamically</title>
<updated>2010-10-21T05:51:51+00:00</updated>
<author>
<name>Michal Simek</name>
<email>monstr@monstr.eu</email>
</author>
<published>2010-09-28T06:38:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9a7e8d805ea042a7f37c8d3cef8350db63df9d57'/>
<id>9a7e8d805ea042a7f37c8d3cef8350db63df9d57</id>
<content type='text'>
Just setup pointer early console in run time.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Just setup pointer early console in run time.

Signed-off-by: Michal Simek &lt;monstr@monstr.eu&gt;
</pre>
</div>
</content>
</entry>
</feed>
