<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">From: Andy Fleming <afleming@gmail.com><br>To: Brandon Clarke <bmclarke2001@yahoo.com><br>Sent: Sunday, December 31, 2006 1:18:47 PM<br>Subject: Re: [U-Boot-Users] cpu POST hang<br><div><br>> The first argument to the function is in r3. It's the code you want<br>> to execute. Rather, it's a pointer to a function which executes that<br>>
code. This instruction is used to branch to that function with op1<br>> and op2 as arguments. By commenting it out, you have circumvented the<br>> function entirely, and written op1 to *res.<br><br>> If you are hanging, it is because code is not set properly, <br><br>Beyond setting the CFG_POST_CPU flag in uboot I was unaware of other code modifications that needed to be made. I was kind of curious as to how general cpu post code could be created. Does the cpu post code not support particular processors? Can you elaborate on this further?<br><br>> or points to a function that never terminates.<br><br>cpu_post_exec_12 is the function that is being called (in the cpu_post_test_cmp function) and it's testing the "cmp" function of the cpu. The code pointer (*code) contains this data:<br><br>unsigned long code[] =<br>
{<br> ASM_2C(test->cmd, test->cr, 3, 4),<br> ASM_MFCR(3),<br> ASM_BLR<br> };<br><br>test->cmd = OP_CMPW=0x7c000000 (which is the opcode for a cmp according to BookE)<br>test->cr=2=which is the register that will contain the result of the compare.<br><br>and 3, and 4 which are the registers (r3 and r4) which are supposed to contain the data to be compared.<br><br>Since the rest of the POST runs without a problem and, since the other cpu functions being tested also have an ASM_MFCR and an ASM_BLR function, I thought that the code causing the system to hang could be found in the ASM_2C definition. In calculating the numbers for ASM_2C (opcode+res...etc.) the code looks like it should function fine. Since this is the
code that is supposed to be executed at the hanging branch I'm kind of confussed as to why it won't work. Can anyone point me to other possibilities for this hang?<br><br>Thanks,<br><br>Brandon<br></div></div><br></div></div><br>__________________________________________________<br>Do You Yahoo!?<br>Tired of spam? Yahoo! Mail has the best spam protection around <br><span><a target="_blank" href="http://mail.yahoo.com">http://mail.yahoo.com</a> </span></div><br></div></div><br>__________________________________________________<br>Do You Yahoo!?<br>Tired of spam? Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com </body></html>