Hi Milton,<br><br>I&#39;ve tracked it down to the device tree passed to the second kernel being screwed-up when patched by kexec-tools. Namely, it was creating linux,usable-memory entries that were wrong, and the MMU initialization hung when it failed allocating for the page tables. I hacked the tool, and got passed that point in the init sequence, but the very first IO mapped access fails, so the MMU doesn&#39;t seem to be set up correctly.<br>
<br>Anyway, up to my question: is the crash dump (kdump) kernel supposed to use the memory reserved for it by the first kernel for its working memory ? e.g. On that board, I have 0-&gt;2GB and 4-&gt;6GB for a total of 4GB of RAM. Let&#39;s say I reserve 128M@32M, that&#39;s 0x2000000-&gt;0xa000000. Is the second kernel supposed to use<br>
<br>(0x2000000+&lt;kernel size&gt;) -&gt; 0xa000000<br><br>for its memory pool and leave everything else:<br><br>0-&gt;0x2000000, 0xa000000 -&gt; 80000000, 0x100000000 -&gt; 0x180000000<br><br>as memory that is from the first kernel, used to debug it ?<br>
<br>Basically, I am trying to figure out if I patched the tool correctly.<br><br>Thanks,<br>Ben<br><br><div class="gmail_quote">On Sat, Jan 24, 2009 at 2:52 AM, Milton Miller <span dir="ltr">&lt;<a href="mailto:miltonm@bga.com">miltonm@bga.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On Sat Jan 24 at 07:59:47 EST in 2009, Benjamin Walsh wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I am trying to use kexec with a crash dump kernel on a Maple board (Motorola<br>
ATCA6101 to be precise). This board is running a two-CPU PPC970FX. I am<br>
running a 2.6.27-10 kernel and have tried both older kexec-tools and the<br>
newest ones. I have tried SMP and non-SMP kernels.<br>
</blockquote>
<br></div>
Once you start the second cpu it is likly executing instructions somewhere.<br>
<br>
Priory to 2.6.27 you had to compile a fixxed offset kerenl to run kdump. &nbsp;With 2.6.27 that option was removed and replaced with teh relocatable kerenl. &nbsp;However, becasue of the way linux interacts with open firmware, the kernel will still move itself to 0 unless a specific flag is set. &nbsp; The location of the flag was changed twice during the merge process, and the patches for kexec-tools were not made until early this year.<div class="Ih2E3d">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Using kexec -l to fast boot works correctly. However, loading a crash dump<br>
kernel and triggering a crash via echo c &gt; /proc/sysrq-trigger simply hangs<br>
the board. I have traced the sequence down to after the call to<br>
kexec_copy_flush(), when the CPU returns to real-address mode (bl<br>
real_mode). At this point I have no further debugging information.<br>
</blockquote>
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Two things could help me:<br>
<br>
- Getting the fix if this is a known issue and a fix exists. I have looked<br>
at recent patches and nothing lept to mind, mostly relocatable kernel<br>
support.<br>
</blockquote>
<br></div>
That is a major change.<br>
<br>
That said, I don&#39;t know if anyone has tested kexec panic beyond pseries for 64 bit powerpc.<br>
<br>
I know Paul originally prototyped the relocatable patch on a powermac, but I dont&#39; know what if any smp testing he performed. &nbsp; And you said you are actualy on maple not a powermac, so the startup issues are different.<div class="Ih2E3d">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
- Obtaining the address of the serial port @3f8 in real mode. The init<br>
sequence with udbg ON says that the physical address of the port is<br>
0xf40003f8; however, setting it up in poll mode and trying to stuff<br>
characters in the tx buffer doesn&#39;t produce anything.<br>
</blockquote>
<br></div>
Ah yes. &nbsp;In real mode you can only talk to cacheable memory without implementation specific assistance. &nbsp;However, if you look in the kernel for the maple early udbg support, you will find the code you need to talk to that serial port in real mode.<div class="Ih2E3d">
<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Has anyone recently tried to use the serial port in real mode ?<br>
<br>
Thanks for any help.<br>
<br>
Ben<br>
</blockquote>
<br></div>
Hope this gets you started. &nbsp;I wrote a lot of the kernel code, but I had the advantage of external jtag access to the processor to see where it when ended up when it went astray.<br><font color="#888888">
<br>
milton<br>
<br>
</font></blockquote></div><br>