debug log attached.<br><br>Thanks,<br>Corey<br><br><div class="gmail_quote">On Thu, Oct 30, 2008 at 8:09 PM, Carl-Daniel Hailfinger <span dir="ltr"><<a href="mailto:c-d.hailfinger.devel.2006@gmx.net">c-d.hailfinger.devel.2006@gmx.net</a>></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 29.10.2008 09:02, Corey Osgood wrote:<br>
</div><div><div></div><div class="Wj3C7c">> Attached patches for cn700, vt8237(r/s), and the mainboard, Jetway J7F2,<br>
> along with a boot log. Currently, we're stuck in a reboot loop and I have no<br>
> idea why, seems to be related to CAR disabling (this wasn't happening when<br>
> disable_car was a noop). Carl-Daniel, any ideas?<br>
><br>
<br>
</div></div>Could you try this patch and report serial output back to the list? It<br>
should at least give me an impression about where the code is broken.<br>
<br>
Regards,<br>
Carl-Daniel<br>
<br>
Add more debugging to the critical stage1 code around disable_car().<br>
<br>
Signed-off-by: Carl-Daniel Hailfinger <<a href="mailto:c-d.hailfinger.devel.2006@gmx.net">c-d.hailfinger.devel.2006@gmx.net</a>><br>
<br>
Index: corebootv3-via_car/arch/x86/via/stage1.c<br>
===================================================================<br>
--- corebootv3-via_car/arch/x86/via/stage1.c    (Revision 958)<br>
+++ corebootv3-via_car/arch/x86/via/stage1.c    (Arbeitskopie)<br>
@@ -50,6 +50,7 @@<br>
  */<br>
 void disable_car(void)<br>
 {<br>
+       printk(BIOS_DEBUG, "disable_car entry\n");<br>
        /* Determine new global variable location. Stack organization from top<br>
         * Top 4 bytes are reserved<br>
         * Pointer to global variables<br>
@@ -60,9 +61,12 @@<br>
        const struct global_vars *newlocation = (struct global_vars *)((RAM_STACK_BASE - sizeof(struct global_vars *) - sizeof(struct global_vars)) & ~0x7);<br>
        /* Copy global variables to new location. */<br>
        memcpy(newlocation, global_vars(), sizeof(struct global_vars));<br>
+       printk(BIOS_DEBUG, "disable_car global_vars copy done\n");<br>
        /* Set the new global variable pointer. */<br>
        *(struct global_vars **)(RAM_STACK_BASE - sizeof(struct global_vars *)) = newlocation;<br>
<br>
+       printk(BIOS_DEBUG, "disable_car global_vars pointer adjusted, entering asm code...");<br>
+       printk(BIOS_DEBUG, "now..........................................................................\n");<br>
        __asm__ __volatile__(<br>
        /* We don't need cache as ram for now on */<br>
        /* disable cache */<br>
Index: corebootv3-via_car/arch/x86/stage1.c<br>
===================================================================<br>
--- corebootv3-via_car/arch/x86/stage1.c        (Revision 958)<br>
+++ corebootv3-via_car/arch/x86/stage1.c        (Arbeitskopie)<br>
@@ -264,6 +264,7 @@<br>
 #ifdef CONFIG_CONSOLE_BUFFER<br>
        /* Move the printk buffer to PRINTK_BUF_ADDR_RAM */<br>
        printk_buffer_move((void *)PRINTK_BUF_ADDR_RAM, PRINTK_BUF_SIZE_RAM);<br>
+       printk(BIOS_DEBUG, "Done printk() buffer move\n");<br>
 #endif<br>
        /* Turn off Cache-As-Ram */<br>
        disable_car();<br>
<font color="#888888"><br>
<br>
--<br>
<a href="http://www.hailfinger.org/" target="_blank">http://www.hailfinger.org/</a><br>
<br>
</font></blockquote></div><br>