<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/nios2/kernel/setup.c, branch v4.9.85</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>nios2: reserve boot memory for device tree</title>
<updated>2017-04-12T10:41:14+00:00</updated>
<author>
<name>Tobias Klauser</name>
<email>tklauser@distanz.ch</email>
</author>
<published>2017-04-03T03:08:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c1dcea123655f4b905790842b04e054407559229'/>
<id>c1dcea123655f4b905790842b04e054407559229</id>
<content type='text'>
commit 921d701e6f31e1ffaca3560416af1aa04edb4c4f upstream.

Make sure to reserve the boot memory for the flattened device tree.
Otherwise it might get overwritten, e.g. when initial_boot_params is
copied, leading to a corrupted FDT and a boot hang/crash:

  bootconsole [early0] enabled
  Early console on uart16650 initialized at 0xf8001600
  OF: fdt: Error -11 processing FDT
  Kernel panic - not syncing: setup_cpuinfo: No CPU found in devicetree!

  ---[ end Kernel panic - not syncing: setup_cpuinfo: No CPU found in devicetree!

Guenter Roeck says:

&gt; I think I found the problem. In unflatten_and_copy_device_tree(), with added
&gt; debug information:
&gt;
&gt; OF: fdt: initial_boot_params=c861e400, dt=c861f000 size=28874 (0x70ca)
&gt;
&gt; ... and then initial_boot_params is copied to dt, which results in corrupted
&gt; fdt since the memory overlaps. Looks like the initial_boot_params memory
&gt; is not reserved and (re-)allocated by early_init_dt_alloc_memory_arch().

Reported-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Reference: http://lkml.kernel.org/r/20170226210338.GA19476@roeck-us.net
Tested-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Tobias Klauser &lt;tklauser@distanz.ch&gt;
Acked-by: Ley Foon Tan &lt;ley.foon.tan@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 921d701e6f31e1ffaca3560416af1aa04edb4c4f upstream.

Make sure to reserve the boot memory for the flattened device tree.
Otherwise it might get overwritten, e.g. when initial_boot_params is
copied, leading to a corrupted FDT and a boot hang/crash:

  bootconsole [early0] enabled
  Early console on uart16650 initialized at 0xf8001600
  OF: fdt: Error -11 processing FDT
  Kernel panic - not syncing: setup_cpuinfo: No CPU found in devicetree!

  ---[ end Kernel panic - not syncing: setup_cpuinfo: No CPU found in devicetree!

Guenter Roeck says:

&gt; I think I found the problem. In unflatten_and_copy_device_tree(), with added
&gt; debug information:
&gt;
&gt; OF: fdt: initial_boot_params=c861e400, dt=c861f000 size=28874 (0x70ca)
&gt;
&gt; ... and then initial_boot_params is copied to dt, which results in corrupted
&gt; fdt since the memory overlaps. Looks like the initial_boot_params memory
&gt; is not reserved and (re-)allocated by early_init_dt_alloc_memory_arch().

Reported-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Reference: http://lkml.kernel.org/r/20170226210338.GA19476@roeck-us.net
Tested-by: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Tobias Klauser &lt;tklauser@distanz.ch&gt;
Acked-by: Ley Foon Tan &lt;ley.foon.tan@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>nios2: Fix unused variable warning</title>
<updated>2015-11-09T02:33:29+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2015-09-30T14:06:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4db2196d0c0de110779b1767d956995efefdb915'/>
<id>4db2196d0c0de110779b1767d956995efefdb915</id>
<content type='text'>
Fix the following compiler splat by adding __maybe_unused annotation to
the variable. Using this particular annotation has the least ugly impact
on the code compared to using ifdeffery.

arch/nios2/kernel/setup.c: In function 'nios2_boot_init':
arch/nios2/kernel/setup.c:107:7: warning: unused variable 'cmdline_passed' [-Wunused-variable]
  char cmdline_passed[COMMAND_LINE_SIZE] = { 0, };
       ^

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Acked-by: Ley Foon Tan &lt;lftan@altera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix the following compiler splat by adding __maybe_unused annotation to
the variable. Using this particular annotation has the least ugly impact
on the code compared to using ifdeffery.

arch/nios2/kernel/setup.c: In function 'nios2_boot_init':
arch/nios2/kernel/setup.c:107:7: warning: unused variable 'cmdline_passed' [-Wunused-variable]
  char cmdline_passed[COMMAND_LINE_SIZE] = { 0, };
       ^

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Acked-by: Ley Foon Tan &lt;lftan@altera.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nios2: add early printk support</title>
<updated>2015-02-10T15:21:08+00:00</updated>
<author>
<name>Ley Foon Tan</name>
<email>lftan@altera.com</email>
</author>
<published>2015-02-10T15:21:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e8bf5bc776edef44777b13b2eb4461d653519bae'/>
<id>e8bf5bc776edef44777b13b2eb4461d653519bae</id>
<content type='text'>
Signed-off-by: Ley Foon Tan &lt;lftan@altera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Ley Foon Tan &lt;lftan@altera.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>nios2: Kernel booting and initialization</title>
<updated>2014-12-08T04:55:49+00:00</updated>
<author>
<name>Ley Foon Tan</name>
<email>lftan@altera.com</email>
</author>
<published>2014-11-06T07:19:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=27d22413e60009603bc4eb515392c2639ff31010'/>
<id>27d22413e60009603bc4eb515392c2639ff31010</id>
<content type='text'>
This patch adds the kernel booting and the initial setup code.

Signed-off-by: Ley Foon Tan &lt;lftan@altera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the kernel booting and the initial setup code.

Signed-off-by: Ley Foon Tan &lt;lftan@altera.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
