| To: | "wilbur.chan" <wilbur512@gmail.com> |
|---|---|
| Subject: | Re: Why mips eret failed? |
| From: | Adam Jiang <jiang.adam@gmail.com> |
| Date: | Wed, 29 Sep 2010 12:10:18 +0900 |
| Cc: | David Daney <ddaney@caviumnetworks.com>, Linux MIPS Mailing List <linux-mips@linux-mips.org> |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:mail-followup-to:references:mime-version:content-type :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=2PywSe1BkXB7gzJ6TxMRtXQBpR4pjdjH6v2FVymKN0M=; b=Mrj19kOdl01Xjs/p/l8Q7Jy5qqJ4L6s12dRNoGo9EiamFU8L8mEOmPi65A4m6c099E PJCGwtlwRgYXKksKAMsKhtJkIZlix23Z5Fp4RBGw1jjIQ7IauHumWKtFdltGfg2QsVBc sgpxjat0RpWEyziOMPs02gklO/nbHhsOoZmt0= |
| Domainkey-signature: | a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition :content-transfer-encoding:in-reply-to:user-agent; b=c/uLLlWmlv+g1G1nTa6RqbDBNI6elHE+x7XmZy5MNdNZirZ1Joflk7R+WzmmfbdO/g eDK3T/344fqfhp40uQl4gd1HIl3JsMIGg8xxRU4KZffG3QQGKs7Q/SEeuraOniZFR/qp uP294eKnqXVUoI+IvZ6b5iok0TATAl1DGlOiw= |
| In-reply-to: | <AANLkTik6Uv_=G4NR41oiwTai=+pRvLy+t1U9rU3ZD=3c@mail.gmail.com> |
| Mail-followup-to: | Adam Jiang <jiang.adam@gmail.com>, "wilbur.chan" <wilbur512@gmail.com>, David Daney <ddaney@caviumnetworks.com>, Linux MIPS Mailing List <linux-mips@linux-mips.org> |
| References: | <AANLkTi==9kzfqq=Ubdo9Ms_9N=N+7rmcvg01500C4nuc@mail.gmail.com> <4CA21E5D.7080905@caviumnetworks.com> <AANLkTik6Uv_=G4NR41oiwTai=+pRvLy+t1U9rU3ZD=3c@mail.gmail.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Mutt/1.5.20 (2009-06-14) |
Quick reply on top Take a look at https://www.ibm.com/developerworks/mydeveloperworks/blogs/ddou/tags/u-boot?lang=en This may help, I suppose. Why don't forward this message to uboot mailing list? On Wed, Sep 29, 2010 at 08:11:32AM +0800, wilbur.chan wrote: > 2010/9/29 David Daney <ddaney@caviumnetworks.com>: > > On 09/28/2010 09:00 AM, wilbur.chan wrote: > > > > > Probably not a good choice. > > > > > >> because it is just a demo, > > > > If you want your demo to work, you cannot clobber all the registers in an > > exception handler. Most ABIs allow you to clobber only k0 and k1. > > > > In general any exception handler must save and restore all registers it > > modifies except for k0 and k1. That is the function of SAVE_ALL and > > RESTORE_ALL. > > > OK, I 've added SAVL_ALL and RESTORE_ALL in handle_int,it works. > > > LEAF(handle_int) > print 'A' /* add for debug purpose*/ > SAVE_ALL > nop > CLI > la t9,do_IRQ > nop > jalr t9 > nop > RESTORE_ALL > nop > END(handle_int) > > > However, a new problem arised : > > > if I modify the main_loop like this: > > > void main_loop() > { > local_irq_enable(); /* enable timer interrupt*/ > while(1) > { > loop_test1(); > > } > } > void loop_test1() > { > loop_test2(); > } > > void loop_test2() > { > > } > > That is to say, if main_loop invoke a function that do noting but to > invoke another nop function, the timer interrupt seems > > not to work properly, at fisrt few seconds, 'do_irq_enter' print > every 4 seconds, but after a while ,system print 'A' from time to > > time , but not print 'do_irq_enter' any more. it seemed that , > system has not acked the timer interrupt. > > > If I remove the loop_test1 in main_loop, everything works well. > > > > > I don't know why this happened. Any suggestion? Thank you > |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: Why mips eret failed?, wilbur.chan |
|---|---|
| Next by Date: | [PATCH] serial: ioc3_serial: release resources in error return path, Rahul Ruikar |
| Previous by Thread: | Re: Why mips eret failed?, wilbur.chan |
| Next by Thread: | Re: Why mips eret failed?, wilbur.chan |
| Indexes: | [Date] [Thread] [Top] [All Lists] |