ABI for MIPS
I found these MIPS ABI documents. Ralph mentions on his web page to look at the System V MIPS ABI book which is out of print are these equivalent? If I want to understand the ABI for GCC/Linux/MIPS are these a good place to start?
http://ftp.stenstad.net/pub/mipslinux/docs/ABI/mipsabi.pdf
http://ftp.stenstad.net/pub/mipslinux/docs/ABI/psABI_mips3.0.pdf
Signature · 2 lines
Scott A. McConnell Phone: (319) 364-0100
MIPS/Linux NonSGI
hello all.
i'm trying to bringup linux 2.4.[2|9] on our board based on LSI mips r4k core.
right now the kernel compiled with gcc-3.0, boots up & can only work with statically linked commands. hence the root file system mounted from ramdisk,nfs, & de-dream ide-disk can show some-prompt only if ash.static is invoked.
this is seen with 2.4.3 & ditto with 2.4.9. the kernel is in un-cached mode,since we have page-size problem with our core in cached, write through/back
both, modes. so question is WHY THE COMMANDS WITH SHARED LIBRARY DONOT WORK. FAILS TO LOAD SHARED LIBRARIES.
the problem no.2 is root on ide-disk. the disk is paritioned & formatted using a linux pentium-pc. using a master disk the above said statically linked commands are downloaded to slave disk. the board boots up. however the bdflush/update process corrupts file-system. the UPDATE PROCESS CORRUPTS SUPERBLOCK AND INODES WHILE FLUSHING THE DIRTY BUFERS.
PLEASE! PLEASE!! HELP ME ON THIS. THIS NEWSGROUP IS MY LAST HOPE.
many thanks in advance with regards,
girish.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Re: MIPS/Linux NonSGI
Quoted 3 lines · Girish Gulawani
i'm trying to bringup linux 2.4.[2|9] on our board based on LSI mips r4k core.
right now the kernel compiled with gcc-3.0, boots up & can only work with
There are known bugs in older kernels that will crash them when compiled with gcc 3.0. Even with current 2.4 kernels it's still playing with the fire.
Quoted 9 lines
statically linked commands. hence the root file system mounted from ramdisk,nfs, & de-dream ide-disk can show some-prompt only if ash.static is invoked.
this is seen with 2.4.3 & ditto with 2.4.9. the kernel is in un-cached mode,since we have page-size problem with our core in cached, write through/back
both, modes. so question is WHY THE COMMANDS WITH SHARED LIBRARY DONOT WORK. FAILS TO LOAD SHARED LIBRARIES.
Quoted 7 lines
the problem no.2 is root on ide-disk. the disk is paritioned & formatted using a linux pentium-pc. using a master disk the above said statically linked commands are downloaded to slave disk. the board boots up. however the bdflush/update process corrupts file-system. the UPDATE PROCESS CORRUPTS SUPERBLOCK AND INODES WHILE FLUSHING THE DIRTY BUFERS.
PLEASE! PLEASE!! HELP ME ON THIS. THIS NEWSGROUP IS MY LAST HOPE.
Seems pretty obvious that cacheflushing for your system is broken. Verify that arch/mips/mm/c-r4k.c knows how to handle your system.
Ralf
PS: Seems your caps lock key occasionally gets stuck ;-)
Re: MIPS/Linux NonSGI
Quoted 4 lines · Girish Gulawani
Quoted 3 lines
i'm trying to bringup linux 2.4.[2|9] on our board based on LSI mips r4k core.
[snip]
Quoted 1 line
Seems pretty obvious that cacheflushing for your system is broken.
Sure sounds like it.
Quoted 3 lines
Verify that
arch/mips/mm/c-r4k.cknows how to handle your system.Ralf
LSI has done a number of R3K and R4K-like designs under their MIPS architecture license which have features that differ from the main stream of MIPS CPUs where the OS is concerned. Cache manipulation is a case in point. If it's not obvious to you from the cache management code, compare the relevant sections of your CPU manual with the MIPS32 spec (which I think is on the web somewhere at www.mips.com) or a copy of the R4000 manual if you can find one kicking around somewhere.
Regards,
Kevin K.
Re: MIPS/Linux NonSGI
hi, again.
thanks a lot for quick reply. re-compiled the kernels, using egcc-2.91, but no luck. is there still older version i should be using? & i guess you were referring to file arch/mips/mm/r4xx.c. the board support is detected & load_mmu_r4k() is called. so this looks okay.
yes, LSI CPUs differ from the main stream, right in the cache opcodes. but this problem apart, as i have been using kernel in un-cached mode & anyway i have build almost all the commands by static linking. hence shared library issue i shall deal with later.
***right now my main concern is file system getting corrupted. the bdflush/update processes flushes the inode buffers & corrupts the fs. to be precise the "update" process wakes up & writes some buffers to the disk from the function sync_old_buffers() in fs/buffer.c. the pci-ide bus mastering controller is non standard & that the driver is also self written. however since reads from the disk are working as i can see all the commands getting loaded & executed, the writes also should be working properly, as they differ only in a command to the controller.
so where could be the problem? please help me.
many thanks & best regards,
girish.
ps. ralf, liked your comment abt my caps lock getting stuck;-) it just shows how desperate i'm in solving this problem.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Re: MIPS/Linux NonSGI
In reply to Ralf Baechlehello, ralf.
could solve the disk corruption problem, thanks to you. it was due to my over-confident source code for bus mastering device. while re-targeting the driver from vxworks to linux i had introduced a bug. its all working great now. thanks again. while this problem is solved i have one more query.
as i mentioned earlier, our core supports page size of 16K. hence the mmu code is changed accordingly, for kernel 2.4.9. but any command load fails giving page alignment error. seems some problem from binfmt_elf.c file. i have build the command, ash, using egcc-2.91.66. to change the page alignment the option given was "--n16384". this option is surely wrong, hence could you tell me what is correct option? HOW TO CHANGE PAGE ALIGNMENT TO 16K WHILE LINKING USER COMMANDS??
many thanks in advance & best regards,
girish.
----- Original Message -----
From: "Ralf Baechle" <[email protected]>
To: "Girish Gulawani" <[email protected]>
Cc: "MIPS/Linux List (SGI)" <[email protected]>
Sent: Friday, January 25, 2002 10:45 AM
Subject: Re: MIPS/Linux NonSGI
Quoted 5 lines · Girish Gulawani
Quoted 4 lines
i'm trying to bringup linux 2.4.[2|9] on our board based on LSI mips r4k core.
right now the kernel compiled with gcc-3.0, boots up & can only work
with
Quoted 7 lines
There are known bugs in older kernels that will crash them when compiled with gcc 3.0. Even with current 2.4 kernels it's still playing with the fire.
Quoted 2 lines
statically linked commands. hence the root file system mounted from ramdisk,nfs, & de-dream ide-disk can show some-prompt only if ash.static
is
Quoted 5 lines
Quoted 5 lines
invoked.
this is seen with 2.4.3 & ditto with 2.4.9. the kernel is in un-cached mode,since we have page-size problem with our core in cached, write through/back
both, modes. so question is WHY THE COMMANDS WITH SHARED LIBRARY DONOT
WORK.
Quoted 5 lines
Quoted 5 lines
FAILS TO LOAD SHARED LIBRARIES.
the problem no.2 is root on ide-disk. the disk is paritioned & formatted using a linux pentium-pc. using a master disk the above said statically linked commands are downloaded to slave disk. the board boots up.
however
Quoted 1 line
Quoted 1 line
the bdflush/update process corrupts file-system. the UPDATE PROCESS
CORRUPTS
Quoted 10 lines
Quoted 3 lines
SUPERBLOCK AND INODES WHILE FLUSHING THE DIRTY BUFERS.
PLEASE! PLEASE!! HELP ME ON THIS. THIS NEWSGROUP IS MY LAST HOPE.
Seems pretty obvious that cacheflushing for your system is broken. Verify that
arch/mips/mm/c-r4k.cknows how to handle your system.Ralf
PS: Seems your caps lock key occasionally gets stuck ;-)
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
Re: MIPS/Linux NonSGI
Quoted 5 lines · Girish Gulawani
could solve the disk corruption problem, thanks to you. it was due to my over-confident source code for bus mastering device. while re-targeting the driver from vxworks to linux i had introduced a bug. its all working great now. thanks again. while this problem is solved i have one more query.
Quoted 7 lines
as i mentioned earlier, our core supports page size of 16K. hence the mmu code is changed accordingly, for kernel 2.4.9. but any command load fails giving page alignment error. seems some problem from
binfmt_elf.cfile. i have build the command, ash, using egcc-2.91.66. to change the page alignment the option given was "--n16384". this option is surely wrong, hence could you tell me what is correct option? HOW TO CHANGE PAGE ALIGNMENT TO 16K WHILE LINKING USER COMMANDS??
I hate to say it but at this time we don't support any other pagesize than 4kb on MIPS. I haven't looked into details but I'd expect to hit a number of subtle bugs when we go to a larger pagesize. So I expect your way to be stony.
Ralf