<div>Hi,</div>
<div>&nbsp;</div>
<div>At what condition&nbsp;MPC7447A will generate Decrementer exception? From the user manual, I just found two conditions: value in DEC register reach to 0 (at next cycle, it will be 0xFFFFFFFF, e.g. the MSB will change from 0 to 1), and MSR[EE] (bit 16) should be 1.
</div>
<div>&nbsp;</div>
<div>All these two conditions are there, but I can't see the decrementer exception run. I cleaned memory section 0x900 ~ 0xa00 to all zeros&nbsp;and erase flash section 0xFFF00000 ~ 0xFFFFFFFF to all 0xFFs. MSR = 0xa030 (MSR[EE] = 1). Nothing happened, shell still there and commands can work as usrual. Even I set DEC register to 0 in the shell, still can't crash CPU.
</div>
<div>&nbsp;</div>
<div>Following are data in 0x900:</div>
<div>00000900: 7e9043a6 7eb143a6 7e800026 3aa1ff00&nbsp;&nbsp;&nbsp; ~.C.~.C.~..&amp;:...<br>00000910: 929500a8 92d50068 92f5006c 7e9042a6&nbsp;&nbsp;&nbsp; .......h...l~.B.<br>00000920: 92950060 7ed142a6 92d50064 7e8802a6&nbsp;&nbsp;&nbsp; ...`~.B....d~...<br>00000930: 929500a0 7ec902a6 92d5009c 7e8102a6&nbsp;&nbsp;&nbsp; ....~.......~...
<br>00000940: 929500a4 7eda02a6 7efb02a6 90150010&nbsp;&nbsp;&nbsp; ....~...~.......<br>00000950: 90350014 90550018 90350000 7ea1ab78&nbsp;&nbsp;&nbsp; .5...U...5..~..x<br>00000960: 9075001c 90950020 90b50024 90d50028&nbsp;&nbsp;&nbsp; .u..... ...$...(<br>00000970: 806e8014 7c6803a6 38610010 3a801002&nbsp;&nbsp;&nbsp; .n..|h..8a..:...
<br>00000980: 52f40672 4e800021 00fcf4dc 00fbb2a8&nbsp;&nbsp;&nbsp; R..rN..!........</div>
<div>&nbsp;</div>
<div>and the data in 0x988 is the ISR function pointer. I can use go command to run this ISR (go 0xFCF4DC), and ISR runs as what I want.</div>
<div>&nbsp;</div>
<div>following are data in 0xFFF00900:</div>
<div>fff00900: 7e9043a6 7eb143a6 7e800026 3aa1ff00&nbsp;&nbsp;&nbsp; ~.C.~.C.~..&amp;:...<br>fff00910: 929500a8 92d50068 92f5006c 7e9042a6&nbsp;&nbsp;&nbsp; .......h...l~.B.<br>fff00920: 92950060 7ed142a6 92d50064 7e8802a6&nbsp;&nbsp;&nbsp; ...`~.B....d~...<br>fff00930: 929500a0 7ec902a6 92d5009c 7e8102a6&nbsp;&nbsp;&nbsp; ....~.......~...
<br>fff00940: 929500a4 7eda02a6 7efb02a6 90150010&nbsp;&nbsp;&nbsp; ....~...~.......<br>fff00950: 90350014 90550018 90350000 7ea1ab78&nbsp;&nbsp;&nbsp; .5...U...5..~..x<br>fff00960: 9075001c 90950020 90b50024 90d50028&nbsp;&nbsp;&nbsp; .u..... ...$...(<br>fff00970: 806e8014 7c6803a6 38610010 3a801002&nbsp;&nbsp;&nbsp; .n..|h..8a..:...
<br>fff00980: 52f40672 4e800021 000164dc 000022a8&nbsp;&nbsp;&nbsp; R..rN..!..d...&quot;.</div>
<div>&nbsp;</div>
<div>same as data in 0x900, except 0x988 and 0x98c. seems right.</div>
<div>&nbsp;</div>
<div>What else can I do?</div>
<div>&nbsp;</div>
<div>wyu<br><br>&nbsp;</div>
<div><span class="gmail_quote">On 11/14/05, <b class="gmail_sendername">Yu Weiping</b> &lt;<a href="mailto:wyu120@gmail.com">wyu120@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>I think Decrementer runs because every time I read the DEC register (SPR 22), different value returned. </div>
<div>&nbsp;</div>
<div>In the timer_interrupt, set_dec(decrementer_count) was called to reload the value of DEC register. I also tried to change decrementer_count value to 100, and then the value of DEC register I read out will always smaller than 100 (I tried many times). if I mask the call of set_dec in timer_interrupt, then I can read out big values (such as 0xFxxxxxxx, 0xExxxxxxx) for the DEC register. From this test, I guess the timer_interrupt was called after the exception generated. But the value of timestamp always be 0. It's hard to believe since in timer_interrupt, after calling set_dec, timestamp++ should be excuted. 
<br><br>&nbsp;</div>
<div><span class="e" id="q_1079127991b46ac4_1">
<div><span class="gmail_quote">On 11/14/05, <b class="gmail_sendername"><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bbosch@iphase.com" target="_blank">bbosch@iphase.com</a></b> &lt;<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bbosch@iphase.com" target="_blank">
bbosch@iphase.com</a>&gt; wrote:</span> 
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">I don't have the data sheet in front of me at the moment, but I seem<br>to recall that the 7447 has a hardware pin which must be strapped 
<br>properly to enable the decrementer.&nbsp;&nbsp;U-Boot assumes the hardware is<br>configured this way.&nbsp;&nbsp;Without the proper pull up or down resistor, the<br>decrementer just does not run.<br><br>--Brad<br><br><br>------------------------------------------------------- 
<br>This SF.Net email is sponsored by the JBoss Inc.&nbsp;&nbsp;Get Certified Today<br>Register for a JBoss Training Course.&nbsp;&nbsp;Free Certification Exam<br>for All Training Attendees Through End of 2005. For more info visit:<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://ads.osdn.com/?ad_id=7628&amp;alloc_id=16845&amp;op=click" target="_blank">
http://ads.osdn.com/?ad_id=7628&amp;alloc_id=16845&amp;op=click</a><br>_______________________________________________<br>U-Boot-Users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:U-Boot-Users@lists.sourceforge.net" target="_blank">
U-Boot-Users@lists.sourceforge.net </a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.sourceforge.net/lists/listinfo/u-boot-users" target="_blank">https://lists.sourceforge.net/lists/listinfo/u-boot-users
</a><br></blockquote></div><br></span></div></blockquote></div><br>