* Linux 2.6.12 cannot run on 24K. Please give me some clues.
@ 2007-07-24 7:09 colin
2007-07-24 7:09 ` colin
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: colin @ 2007-07-24 7:09 UTC (permalink / raw)
To: linux-mips
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="big5", Size: 1846 bytes --]
Hi all,
Could you help me on porting MIPS Linux?
Our first embedded system using 4Kec is running very well on Linux 2.6.12.
Now the second chip using 24K has problems. I found that mtf0 and mtc0 have
hazard problem and I have solved it.
static inline void unmask_mips_irq(unsigned int irq)
{
set_c0_status(0x100 << (irq - mips_cpu_irq_base));
irq_enable_hazard();
}
Now Linux can continue running and then it will encounter problems when
running the first application, init. I will appreciate your clues for
helping me on this probem. :D
Colin
ÿttyS0 at MMIO 0x0 (irq = 3) is a 16550A
ttyS1 at MMIO 0x0 (irq = 3) is a 16550A
io scheduler noop registered
Freeing prom memory: 0kb freed
Reclaim bootloader memory from 80010000 to 800f0000
Freeing unused kernel memory: 252k freed
CPU 0 Unable to handle kernel paging request at virtual address ffffff88,
epc == 00440f10, ra == 004000e4
Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]:
Cpu 0
$ 0 : 00000000 10000990 00400090 00000000
$ 4 : 7fdd5ed0 7fdd5f94 00000000 7fdd5f94
$ 8 : 00000000 00000000 80001cb2 00000b3b
$12 : 7f1c0300 0001ffff 0001ffff 00000115
$16 : 801f5e04 00000000 00000000 00000000
$20 : 00000000 00000000 00000000 00000000
$24 : 00000000 00440f00
$28 : 10008c70 7fdd5e18 7fdd5e38 004000e4
Hi : 00000000
Lo : 00000000
epc : 00440f10 Not tainted
ra : 004000e4 Status: 00006802 KERNEL EXL
Cause : 0880400c
BadVA : ffffff88
PrId : 00019378
Process init (pid: 1, threadinfo=80848000, task=80854bd8)
Stack : 00000000 00000000 10008c70 00000000 10008c70 7fdd5e38 10008c70
004276e4
00000000 00000000 00000000 00000000 10008c70 00000000 7fdd5f9c
00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000003
00400034
00000004 00000020 00000005 00000002 00000006 00001000 00000007
000000
^ permalink raw reply [flat|nested] 9+ messages in thread* Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-24 7:09 Linux 2.6.12 cannot run on 24K. Please give me some clues colin @ 2007-07-24 7:09 ` colin 2007-07-24 12:20 ` Maciej W. Rozycki 2007-07-26 7:03 ` [SPAM] " Markus Gothe 2 siblings, 0 replies; 9+ messages in thread From: colin @ 2007-07-24 7:09 UTC (permalink / raw) To: linux-mips [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="big5", Size: 1846 bytes --] Hi all, Could you help me on porting MIPS Linux? Our first embedded system using 4Kec is running very well on Linux 2.6.12. Now the second chip using 24K has problems. I found that mtf0 and mtc0 have hazard problem and I have solved it. static inline void unmask_mips_irq(unsigned int irq) { set_c0_status(0x100 << (irq - mips_cpu_irq_base)); irq_enable_hazard(); } Now Linux can continue running and then it will encounter problems when running the first application, init. I will appreciate your clues for helping me on this probem. :D Colin ÿttyS0 at MMIO 0x0 (irq = 3) is a 16550A ttyS1 at MMIO 0x0 (irq = 3) is a 16550A io scheduler noop registered Freeing prom memory: 0kb freed Reclaim bootloader memory from 80010000 to 800f0000 Freeing unused kernel memory: 252k freed CPU 0 Unable to handle kernel paging request at virtual address ffffff88, epc == 00440f10, ra == 004000e4 Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: Cpu 0 $ 0 : 00000000 10000990 00400090 00000000 $ 4 : 7fdd5ed0 7fdd5f94 00000000 7fdd5f94 $ 8 : 00000000 00000000 80001cb2 00000b3b $12 : 7f1c0300 0001ffff 0001ffff 00000115 $16 : 801f5e04 00000000 00000000 00000000 $20 : 00000000 00000000 00000000 00000000 $24 : 00000000 00440f00 $28 : 10008c70 7fdd5e18 7fdd5e38 004000e4 Hi : 00000000 Lo : 00000000 epc : 00440f10 Not tainted ra : 004000e4 Status: 00006802 KERNEL EXL Cause : 0880400c BadVA : ffffff88 PrId : 00019378 Process init (pid: 1, threadinfo=80848000, task=80854bd8) Stack : 00000000 00000000 10008c70 00000000 10008c70 7fdd5e38 10008c70 004276e4 00000000 00000000 00000000 00000000 10008c70 00000000 7fdd5f9c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000003 00400034 00000004 00000020 00000005 00000002 00000006 00001000 00000007 000000 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-24 7:09 Linux 2.6.12 cannot run on 24K. Please give me some clues colin 2007-07-24 7:09 ` colin @ 2007-07-24 12:20 ` Maciej W. Rozycki 2007-07-26 7:03 ` [SPAM] " Markus Gothe 2 siblings, 0 replies; 9+ messages in thread From: Maciej W. Rozycki @ 2007-07-24 12:20 UTC (permalink / raw) To: colin; +Cc: linux-mips On Tue, 24 Jul 2007, colin wrote: > Now Linux can continue running and then it will encounter problems when > running the first application, init. I will appreciate your clues for > helping me on this probem. :D I suggest you update to a version of Linux less old than two years. FYI, 2.6.22 is the current version. Maciej ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-24 7:09 Linux 2.6.12 cannot run on 24K. Please give me some clues colin 2007-07-24 7:09 ` colin 2007-07-24 12:20 ` Maciej W. Rozycki @ 2007-07-26 7:03 ` Markus Gothe 2007-07-26 7:03 ` Markus Gothe ` (2 more replies) 2 siblings, 3 replies; 9+ messages in thread From: Markus Gothe @ 2007-07-26 7:03 UTC (permalink / raw) To: colin; +Cc: linux-mips [-- Attachment #1: Type: text/plain, Size: 2440 bytes --] Seems to me that running in EXkLusive/supervisor mode is the culprit. Try changing that before you get to userspace... On 24 Jul, 2007, at 09:09 , colin wrote: > > Hi all, > Could you help me on porting MIPS Linux? > > Our first embedded system using 4Kec is running very well on Linux > 2.6.12. > Now the second chip using 24K has problems. I found that mtf0 and > mtc0 have > hazard problem and I have solved it. > static inline void unmask_mips_irq(unsigned int irq) > { > set_c0_status(0x100 << (irq - mips_cpu_irq_base)); > irq_enable_hazard(); > } > > Now Linux can continue running and then it will encounter problems > when > running the first application, init. I will appreciate your clues for > helping me on this probem. :D > > Colin > > ÿttyS0 at MMIO 0x0 (irq = 3) is a 16550A > ttyS1 at MMIO 0x0 (irq = 3) is a 16550A > io scheduler noop registered > Freeing prom memory: 0kb freed > Reclaim bootloader memory from 80010000 to 800f0000 > Freeing unused kernel memory: 252k freed > CPU 0 Unable to handle kernel paging request at virtual address > ffffff88, > epc == 00440f10, ra == 004000e4 > Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: > Cpu 0 > $ 0 : 00000000 10000990 00400090 00000000 > $ 4 : 7fdd5ed0 7fdd5f94 00000000 7fdd5f94 > $ 8 : 00000000 00000000 80001cb2 00000b3b > $12 : 7f1c0300 0001ffff 0001ffff 00000115 > $16 : 801f5e04 00000000 00000000 00000000 > $20 : 00000000 00000000 00000000 00000000 > $24 : 00000000 00440f00 > $28 : 10008c70 7fdd5e18 7fdd5e38 004000e4 > Hi : 00000000 > Lo : 00000000 > epc : 00440f10 Not tainted > ra : 004000e4 Status: 00006802 KERNEL EXL > Cause : 0880400c > BadVA : ffffff88 > PrId : 00019378 > Process init (pid: 1, threadinfo=80848000, task=80854bd8) > Stack : 00000000 00000000 10008c70 00000000 10008c70 7fdd5e38 10008c70 > 004276e4 > 00000000 00000000 00000000 00000000 10008c70 00000000 7fdd5f9c > 00000000 > 00000000 00000000 00000000 00000000 00000000 00000000 00000003 > 00400034 > 00000004 00000020 00000005 00000002 00000006 00001000 00000007 > 000000 > > > > _______________________________________ Mr Markus Gothe Software Engineer Phone: +46 (0)13 21 81 20 (ext. 1046) Fax: +46 (0)13 21 21 15 Mobile: +46 (0)73 718 72 80 Diskettgatan 11, SE-583 35 Linköping, Sweden www.27m.com [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 186 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-26 7:03 ` [SPAM] " Markus Gothe @ 2007-07-26 7:03 ` Markus Gothe 2007-07-26 10:57 ` Maciej W. Rozycki 2007-07-29 15:13 ` Sergei Shtylyov 2 siblings, 0 replies; 9+ messages in thread From: Markus Gothe @ 2007-07-26 7:03 UTC (permalink / raw) To: colin; +Cc: linux-mips [-- Attachment #1: Type: text/plain, Size: 2440 bytes --] Seems to me that running in EXkLusive/supervisor mode is the culprit. Try changing that before you get to userspace... On 24 Jul, 2007, at 09:09 , colin wrote: > > Hi all, > Could you help me on porting MIPS Linux? > > Our first embedded system using 4Kec is running very well on Linux > 2.6.12. > Now the second chip using 24K has problems. I found that mtf0 and > mtc0 have > hazard problem and I have solved it. > static inline void unmask_mips_irq(unsigned int irq) > { > set_c0_status(0x100 << (irq - mips_cpu_irq_base)); > irq_enable_hazard(); > } > > Now Linux can continue running and then it will encounter problems > when > running the first application, init. I will appreciate your clues for > helping me on this probem. :D > > Colin > > ÿttyS0 at MMIO 0x0 (irq = 3) is a 16550A > ttyS1 at MMIO 0x0 (irq = 3) is a 16550A > io scheduler noop registered > Freeing prom memory: 0kb freed > Reclaim bootloader memory from 80010000 to 800f0000 > Freeing unused kernel memory: 252k freed > CPU 0 Unable to handle kernel paging request at virtual address > ffffff88, > epc == 00440f10, ra == 004000e4 > Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: > Cpu 0 > $ 0 : 00000000 10000990 00400090 00000000 > $ 4 : 7fdd5ed0 7fdd5f94 00000000 7fdd5f94 > $ 8 : 00000000 00000000 80001cb2 00000b3b > $12 : 7f1c0300 0001ffff 0001ffff 00000115 > $16 : 801f5e04 00000000 00000000 00000000 > $20 : 00000000 00000000 00000000 00000000 > $24 : 00000000 00440f00 > $28 : 10008c70 7fdd5e18 7fdd5e38 004000e4 > Hi : 00000000 > Lo : 00000000 > epc : 00440f10 Not tainted > ra : 004000e4 Status: 00006802 KERNEL EXL > Cause : 0880400c > BadVA : ffffff88 > PrId : 00019378 > Process init (pid: 1, threadinfo=80848000, task=80854bd8) > Stack : 00000000 00000000 10008c70 00000000 10008c70 7fdd5e38 10008c70 > 004276e4 > 00000000 00000000 00000000 00000000 10008c70 00000000 7fdd5f9c > 00000000 > 00000000 00000000 00000000 00000000 00000000 00000000 00000003 > 00400034 > 00000004 00000020 00000005 00000002 00000006 00001000 00000007 > 000000 > > > > _______________________________________ Mr Markus Gothe Software Engineer Phone: +46 (0)13 21 81 20 (ext. 1046) Fax: +46 (0)13 21 21 15 Mobile: +46 (0)73 718 72 80 Diskettgatan 11, SE-583 35 Linköping, Sweden www.27m.com [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 186 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-26 7:03 ` [SPAM] " Markus Gothe 2007-07-26 7:03 ` Markus Gothe @ 2007-07-26 10:57 ` Maciej W. Rozycki 2007-07-29 15:13 ` Sergei Shtylyov 2 siblings, 0 replies; 9+ messages in thread From: Maciej W. Rozycki @ 2007-07-26 10:57 UTC (permalink / raw) To: Markus Gothe; +Cc: colin, linux-mips On Thu, 26 Jul 2007, Markus Gothe wrote: > Seems to me that running in EXkLusive/supervisor mode is the culprit. Try > changing that before you get to userspace... Oopses always have either ERL or EXL set with an R4k-style cp0 status register as this is how these bits are handled by hardware when an exception happens. Now ffffff88 is obviously a wrong address, which looks like a negative offset from a null pointer, but it is up to the reporter to narrow it down well enough someone else can say anything about it. Though as I say, I doubt anybody on this list cares of a piece of software that is two years old. Maciej ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-26 7:03 ` [SPAM] " Markus Gothe 2007-07-26 7:03 ` Markus Gothe 2007-07-26 10:57 ` Maciej W. Rozycki @ 2007-07-29 15:13 ` Sergei Shtylyov 2007-07-30 3:45 ` colin 2 siblings, 1 reply; 9+ messages in thread From: Sergei Shtylyov @ 2007-07-29 15:13 UTC (permalink / raw) To: Markus Gothe; +Cc: colin, linux-mips Hello. Markus Gothe wrote: > Seems to me that running in EXkLusive/supervisor mode is the culprit. EXL doesn't mean "exclusive", it means "exception level". And you'll always see this bit set in an oops happening when the kernel is handling exception (I'm not saying that it's actually set during all that time, just that the handler is entered with EXL=1 and that walue of the Status regs is saved on stack and later dumped along with the other regs) > Try changing that before you get to userspace... > On 24 Jul, 2007, at 09:09 , colin wrote: > >> >> Hi all, >> Could you help me on porting MIPS Linux? >> >> Our first embedded system using 4Kec is running very well on Linux >> 2.6.12. >> Now the second chip using 24K has problems. I found that mtf0 and >> mtc0 have >> hazard problem and I have solved it. >> static inline void unmask_mips_irq(unsigned int irq) >> { >> set_c0_status(0x100 << (irq - mips_cpu_irq_base)); >> irq_enable_hazard(); >> } >> >> Now Linux can continue running and then it will encounter problems when >> running the first application, init. I will appreciate your clues for >> helping me on this probem. :D >> >> Colin >> >> ÿttyS0 at MMIO 0x0 (irq = 3) is a 16550A >> ttyS1 at MMIO 0x0 (irq = 3) is a 16550A >> io scheduler noop registered >> Freeing prom memory: 0kb freed >> Reclaim bootloader memory from 80010000 to 800f0000 >> Freeing unused kernel memory: 252k freed >> CPU 0 Unable to handle kernel paging request at virtual address >> ffffff88, >> epc == 00440f10, ra == 004000e4 It's not a kernel address, BTW... >> Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: >> Cpu 0 >> $ 0 : 00000000 10000990 00400090 00000000 >> $ 4 : 7fdd5ed0 7fdd5f94 00000000 7fdd5f94 >> $ 8 : 00000000 00000000 80001cb2 00000b3b >> $12 : 7f1c0300 0001ffff 0001ffff 00000115 >> $16 : 801f5e04 00000000 00000000 00000000 >> $20 : 00000000 00000000 00000000 00000000 >> $24 : 00000000 00440f00 >> $28 : 10008c70 7fdd5e18 7fdd5e38 004000e4 >> Hi : 00000000 >> Lo : 00000000 >> epc : 00440f10 Not tainted >> ra : 004000e4 Status: 00006802 KERNEL EXL >> Cause : 0880400c >> BadVA : ffffff88 >> PrId : 00019378 >> Process init (pid: 1, threadinfo=80848000, task=80854bd8) >> Stack : 00000000 00000000 10008c70 00000000 10008c70 7fdd5e38 10008c70 >> 004276e4 >> 00000000 00000000 00000000 00000000 10008c70 00000000 7fdd5f9c >> 00000000 >> 00000000 00000000 00000000 00000000 00000000 00000000 00000003 >> 00400034 >> 00000004 00000020 00000005 00000002 00000006 00001000 00000007 >> 000000 WBR, Sergei ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-29 15:13 ` Sergei Shtylyov @ 2007-07-30 3:45 ` colin 2007-07-30 3:45 ` colin 0 siblings, 1 reply; 9+ messages in thread From: colin @ 2007-07-30 3:45 UTC (permalink / raw) To: Sergei Shtylyov, Markus Gothe; +Cc: linux-mips This is the second situations. EPC is in: static inline void __cache_free(kmem_cache_t *cachep, void *objp) { struct array_cache *ac = ac_data(cachep); check_irq_off(); objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0)); >>>>>>>>> if (likely(ac->avail < ac->limit)) { STATS_INC_FREEHIT(cachep); ac_entry(ac)[ac->avail++] = objp; return; } else { STATS_INC_FREEMISS(cachep); cache_flusharray(cachep, ac); ac_entry(ac)[ac->avail++] = objp; } } I am trying to use MIPS32 release 2 code on 24k. I found that 2.6.12 & 2.6.13 donot support release 2 well. They can not even be compiled. Therefore, I upgrade Linux to 2.6.14. Colin k init, 0k highmem) 17.92 BogoMIPS (lpj=89600) ==================== Warning! The calculated loops_per_jiffy is not similar to t he default one. ==================== Mount-cache hash table entries: 512 Checking for 'wait' instruction... available. CPU 0 Unable to handle kernel paging request at virtual address 44100280, epc == 801549b0, ra == 8020805c Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: Cpu 0 $ 0 : 00000000 10007700 80805540 80800000 $ 4 : 8fbc0010 0000000f 00000003 8021b000 $ 8 : 00078554 80290000 80290000 80290000 $12 : 801eead8 00000063 00000063 801eead8 $16 : 44100280 000033e0 802aa000 10007701 $20 : 0000003c 81a95bf1 80220000 80290000 $24 : 00000000 00000000 $28 : 80854000 80855980 00000000 8020805c Hi : 00000000 Lo : 00000000 epc : 801549b0 Not tainted ra : 8020805c Status: 10007702 KERNEL EXL Cause : 08800008 BadVA : 44100280 PrId : 00019378 Process swapper (pid: 1, threadinfo=80854000, task=80851bd8) Stack : 80854000 808559a8 00000006 80207e94 8085e788 000033e0 000032c8 00000007 8020805c 80207ddc 11801001 020c0810 00000000 801eea1c 801ee9e0 808574a4 80855ec4 05eb0019 00000005 00000006 00000006 00000007 00000007 00000008 00000008 00000008 00000008 00000008 00000008 00000009 00000008 00000009 0000000b 00000009 00000007 00000008 00000008 00000008 00000007 00000009 ... Call Trace: [<80207e94>] [<8020805c>] [<80207ddc>] [<802087c8>] [<80141ba0>] [<801004e8>] [<80103870>] [<80103860>] Code: 00431021 8c440018 8c900000 <8e030000> 8e020004 0062102b 10400007 2611 0010 00031080 Kernel panic - not syncing: Attempted to kill init! ----- Original Message ----- From: "Sergei Shtylyov" <sshtylyov@ru.mvista.com> To: "Markus Gothe" <markus.gothe@27m.se> Cc: "colin" <colin@realtek.com.tw>; <linux-mips@linux-mips.org> Sent: Sunday, July 29, 2007 11:13 PM Subject: Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. Hello. Markus Gothe wrote: > Seems to me that running in EXkLusive/supervisor mode is the culprit. EXL doesn't mean "exclusive", it means "exception level". And you'll always see this bit set in an oops happening when the kernel is handling exception (I'm not saying that it's actually set during all that time, just that the handler is entered with EXL=1 and that walue of the Status regs is saved on stack and later dumped along with the other regs) > Try changing that before you get to userspace... > On 24 Jul, 2007, at 09:09 , colin wrote: > >> >> Hi all, >> Could you help me on porting MIPS Linux? >> >> Our first embedded system using 4Kec is running very well on Linux >> 2.6.12. >> Now the second chip using 24K has problems. I found that mtf0 and >> mtc0 have >> hazard problem and I have solved it. >> static inline void unmask_mips_irq(unsigned int irq) >> { >> set_c0_status(0x100 << (irq - mips_cpu_irq_base)); >> irq_enable_hazard(); >> } >> >> Now Linux can continue running and then it will encounter problems when >> running the first application, init. I will appreciate your clues for >> helping me on this probem. :D >> >> Colin >> >> ÿttyS0 at MMIO 0x0 (irq = 3) is a 16550A >> ttyS1 at MMIO 0x0 (irq = 3) is a 16550A >> io scheduler noop registered >> Freeing prom memory: 0kb freed >> Reclaim bootloader memory from 80010000 to 800f0000 >> Freeing unused kernel memory: 252k freed >> CPU 0 Unable to handle kernel paging request at virtual address >> ffffff88, >> epc == 00440f10, ra == 004000e4 It's not a kernel address, BTW... >> Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: >> Cpu 0 >> $ 0 : 00000000 10000990 00400090 00000000 >> $ 4 : 7fdd5ed0 7fdd5f94 00000000 7fdd5f94 >> $ 8 : 00000000 00000000 80001cb2 00000b3b >> $12 : 7f1c0300 0001ffff 0001ffff 00000115 >> $16 : 801f5e04 00000000 00000000 00000000 >> $20 : 00000000 00000000 00000000 00000000 >> $24 : 00000000 00440f00 >> $28 : 10008c70 7fdd5e18 7fdd5e38 004000e4 >> Hi : 00000000 >> Lo : 00000000 >> epc : 00440f10 Not tainted >> ra : 004000e4 Status: 00006802 KERNEL EXL >> Cause : 0880400c >> BadVA : ffffff88 >> PrId : 00019378 >> Process init (pid: 1, threadinfo=80848000, task=80854bd8) >> Stack : 00000000 00000000 10008c70 00000000 10008c70 7fdd5e38 10008c70 >> 004276e4 >> 00000000 00000000 00000000 00000000 10008c70 00000000 7fdd5f9c >> 00000000 >> 00000000 00000000 00000000 00000000 00000000 00000000 00000003 >> 00400034 >> 00000004 00000020 00000005 00000002 00000006 00001000 00000007 >> 000000 WBR, Sergei ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. 2007-07-30 3:45 ` colin @ 2007-07-30 3:45 ` colin 0 siblings, 0 replies; 9+ messages in thread From: colin @ 2007-07-30 3:45 UTC (permalink / raw) To: Sergei Shtylyov, Markus Gothe; +Cc: linux-mips This is the second situations. EPC is in: static inline void __cache_free(kmem_cache_t *cachep, void *objp) { struct array_cache *ac = ac_data(cachep); check_irq_off(); objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0)); >>>>>>>>> if (likely(ac->avail < ac->limit)) { STATS_INC_FREEHIT(cachep); ac_entry(ac)[ac->avail++] = objp; return; } else { STATS_INC_FREEMISS(cachep); cache_flusharray(cachep, ac); ac_entry(ac)[ac->avail++] = objp; } } I am trying to use MIPS32 release 2 code on 24k. I found that 2.6.12 & 2.6.13 donot support release 2 well. They can not even be compiled. Therefore, I upgrade Linux to 2.6.14. Colin k init, 0k highmem) 17.92 BogoMIPS (lpj=89600) ==================== Warning! The calculated loops_per_jiffy is not similar to t he default one. ==================== Mount-cache hash table entries: 512 Checking for 'wait' instruction... available. CPU 0 Unable to handle kernel paging request at virtual address 44100280, epc == 801549b0, ra == 8020805c Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: Cpu 0 $ 0 : 00000000 10007700 80805540 80800000 $ 4 : 8fbc0010 0000000f 00000003 8021b000 $ 8 : 00078554 80290000 80290000 80290000 $12 : 801eead8 00000063 00000063 801eead8 $16 : 44100280 000033e0 802aa000 10007701 $20 : 0000003c 81a95bf1 80220000 80290000 $24 : 00000000 00000000 $28 : 80854000 80855980 00000000 8020805c Hi : 00000000 Lo : 00000000 epc : 801549b0 Not tainted ra : 8020805c Status: 10007702 KERNEL EXL Cause : 08800008 BadVA : 44100280 PrId : 00019378 Process swapper (pid: 1, threadinfo=80854000, task=80851bd8) Stack : 80854000 808559a8 00000006 80207e94 8085e788 000033e0 000032c8 00000007 8020805c 80207ddc 11801001 020c0810 00000000 801eea1c 801ee9e0 808574a4 80855ec4 05eb0019 00000005 00000006 00000006 00000007 00000007 00000008 00000008 00000008 00000008 00000008 00000008 00000009 00000008 00000009 0000000b 00000009 00000007 00000008 00000008 00000008 00000007 00000009 ... Call Trace: [<80207e94>] [<8020805c>] [<80207ddc>] [<802087c8>] [<80141ba0>] [<801004e8>] [<80103870>] [<80103860>] Code: 00431021 8c440018 8c900000 <8e030000> 8e020004 0062102b 10400007 2611 0010 00031080 Kernel panic - not syncing: Attempted to kill init! ----- Original Message ----- From: "Sergei Shtylyov" <sshtylyov@ru.mvista.com> To: "Markus Gothe" <markus.gothe@27m.se> Cc: "colin" <colin@realtek.com.tw>; <linux-mips@linux-mips.org> Sent: Sunday, July 29, 2007 11:13 PM Subject: Re: [SPAM] Linux 2.6.12 cannot run on 24K. Please give me some clues. Hello. Markus Gothe wrote: > Seems to me that running in EXkLusive/supervisor mode is the culprit. EXL doesn't mean "exclusive", it means "exception level". And you'll always see this bit set in an oops happening when the kernel is handling exception (I'm not saying that it's actually set during all that time, just that the handler is entered with EXL=1 and that walue of the Status regs is saved on stack and later dumped along with the other regs) > Try changing that before you get to userspace... > On 24 Jul, 2007, at 09:09 , colin wrote: > >> >> Hi all, >> Could you help me on porting MIPS Linux? >> >> Our first embedded system using 4Kec is running very well on Linux >> 2.6.12. >> Now the second chip using 24K has problems. I found that mtf0 and >> mtc0 have >> hazard problem and I have solved it. >> static inline void unmask_mips_irq(unsigned int irq) >> { >> set_c0_status(0x100 << (irq - mips_cpu_irq_base)); >> irq_enable_hazard(); >> } >> >> Now Linux can continue running and then it will encounter problems when >> running the first application, init. I will appreciate your clues for >> helping me on this probem. :D >> >> Colin >> >> ÿttyS0 at MMIO 0x0 (irq = 3) is a 16550A >> ttyS1 at MMIO 0x0 (irq = 3) is a 16550A >> io scheduler noop registered >> Freeing prom memory: 0kb freed >> Reclaim bootloader memory from 80010000 to 800f0000 >> Freeing unused kernel memory: 252k freed >> CPU 0 Unable to handle kernel paging request at virtual address >> ffffff88, >> epc == 00440f10, ra == 004000e4 It's not a kernel address, BTW... >> Oops in arch/mips/mm/fault.c::do_page_fault, line 167[#1]: >> Cpu 0 >> $ 0 : 00000000 10000990 00400090 00000000 >> $ 4 : 7fdd5ed0 7fdd5f94 00000000 7fdd5f94 >> $ 8 : 00000000 00000000 80001cb2 00000b3b >> $12 : 7f1c0300 0001ffff 0001ffff 00000115 >> $16 : 801f5e04 00000000 00000000 00000000 >> $20 : 00000000 00000000 00000000 00000000 >> $24 : 00000000 00440f00 >> $28 : 10008c70 7fdd5e18 7fdd5e38 004000e4 >> Hi : 00000000 >> Lo : 00000000 >> epc : 00440f10 Not tainted >> ra : 004000e4 Status: 00006802 KERNEL EXL >> Cause : 0880400c >> BadVA : ffffff88 >> PrId : 00019378 >> Process init (pid: 1, threadinfo=80848000, task=80854bd8) >> Stack : 00000000 00000000 10008c70 00000000 10008c70 7fdd5e38 10008c70 >> 004276e4 >> 00000000 00000000 00000000 00000000 10008c70 00000000 7fdd5f9c >> 00000000 >> 00000000 00000000 00000000 00000000 00000000 00000000 00000003 >> 00400034 >> 00000004 00000020 00000005 00000002 00000006 00001000 00000007 >> 000000 WBR, Sergei ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-07-30 3:45 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-07-24 7:09 Linux 2.6.12 cannot run on 24K. Please give me some clues colin 2007-07-24 7:09 ` colin 2007-07-24 12:20 ` Maciej W. Rozycki 2007-07-26 7:03 ` [SPAM] " Markus Gothe 2007-07-26 7:03 ` Markus Gothe 2007-07-26 10:57 ` Maciej W. Rozycki 2007-07-29 15:13 ` Sergei Shtylyov 2007-07-30 3:45 ` colin 2007-07-30 3:45 ` colin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox