MIPS 4KEc with 2.6.15
Hello list,
I have an embedded device running 2.6.15 kernel on a MIPS 4KEc 300MHz CPU. It was configured for Sigma's tango2 board, which I know nothing about, so I picked a mips-board by random, "atlas", and found I can produce working kernel module compiles.
However, when I compiled FUSE kernel module, it behaves erratically in a way making the FUSE developer think I may have come across the cache coherency bug in arm and mips, fixed sometime around 2.6.17.
Since I can not change the kernel that is running, I was looking for alternate solutions. FUSE itself has a work around, that calls flush_cache_page(), but I found that mips-board atlas does not have this defined:
fuse: Unknown symbol flush_cache_page
Should I try other mips-boards that may have this function call defined? Do I have other ways to avoid the cache coherence bug?
The /proc/ksyms is gone, so I do not think I am able to check what symbols their kernel has.
Lund
Signature · 4 lines
Jorgen Lundman | <[email protected]> Unix Administrator | +81 (0)3 -5456-2687 ext 1017 (work) Shibuya-ku, Tokyo | +81 (0)90-5578-8500 (cell) Japan | +81 (0)3 -3375-1767 (home)
Quoted 5 lines · Jorgen Lundman
I have an embedded device running 2.6.15 kernel on a MIPS 4KEc 300MHz CPU. It was configured for Sigma's tango2 board, which I know nothing about, so I picked a mips-board by random, "atlas", and found I can produce working kernel module compiles.
Quoted 8 lines
However, when I compiled FUSE kernel module, it behaves erratically in a way making the FUSE developer think I may have come across the cache coherency bug in arm and mips, fixed sometime around 2.6.17.
Since I can not change the kernel that is running, I was looking for alternate solutions. FUSE itself has a work around, that calls
flush_cache_page(), but I found that mips-board atlas does not have this defined:
While you may not be able to change the kernel running on your board, you should be building any modules against kernel headers of the exact kernel running and configured for the platform and CPU you're using.
Mixing and matching different versions and configurations may work but frequently it will fail silently.
Ralf
Sorry, I should have said, I grabbed 2.6.15.7 to use. And after the issues, I even tried the exact 2.6.15 tarball off Sigmas FTP with the same results. It does not define flush_cache_pages for Atlas board, only SGI IPxx from what I can tell.
Quoted 17 lines · Ralf Baechle
Quoted 5 lines · Jorgen Lundman
I have an embedded device running 2.6.15 kernel on a MIPS 4KEc 300MHz CPU. It was configured for Sigma's tango2 board, which I know nothing about, so I picked a mips-board by random, "atlas", and found I can produce working kernel module compiles.
However, when I compiled FUSE kernel module, it behaves erratically in a way making the FUSE developer think I may have come across the cache coherency bug in arm and mips, fixed sometime around 2.6.17.
Since I can not change the kernel that is running, I was looking for alternate solutions. FUSE itself has a work around, that calls
flush_cache_page(), but I found that mips-board atlas does not have this defined:While you may not be able to change the kernel running on your board, you should be building any modules against kernel headers of the exact kernel running and configured for the platform and CPU you're using.
Mixing and matching different versions and configurations may work but frequently it will fail silently.
Ralf
Signature · 4 lines
Jorgen Lundman | <[email protected]> Unix Administrator | +81 (0)3 -5456-2687 ext 1017 (work) Shibuya-ku, Tokyo | +81 (0)90-5578-8500 (cell) Japan | +81 (0)3 -3375-1767 (home)
Quoted 12 lines · Jorgen Lundman
Hello list,
I have an embedded device running 2.6.15 kernel on a MIPS 4KEc 300MHz CPU. It was configured for Sigma's tango2 board, which I know nothing about, so I picked a mips-board by random, "atlas", and found I can produce working kernel module compiles.
However, when I compiled FUSE kernel module, it behaves erratically in a way making the FUSE developer think I may have come across the cache coherency bug in arm and mips, fixed sometime around 2.6.17.
Quoted 6 lines
Since I can not change the kernel that is running, I was looking for alternate solutions. FUSE itself has a work around, that calls
flush_cache_page(), but I found that mips-board atlas does not have this defined:fuse: Unknown symbol
flush_cache_page
There are cache coherency issues on the 8634. You should be using the vendor's very most recent kernels. For me they seem to have resolved the cache issues.
Also as noted by others, you need the exact kernel sources if you are going to build working modules.
David Daney
Jorgen,
You should not be using the atlas definition. Try the tangox one instead.
With the flush_cache_page changes, FUSE works fine for me using 2.6.15 and Sigma's tango2 board.
Mark Lin
Quoted 30 lines · David Daney
Quoted 12 lines · Jorgen Lundman
Hello list,
I have an embedded device running 2.6.15 kernel on a MIPS 4KEc 300MHz CPU. It was configured for Sigma's tango2 board, which I know nothing about, so I picked a mips-board by random, "atlas", and found I can produce working kernel module compiles.
However, when I compiled FUSE kernel module, it behaves erratically in a way making the FUSE developer think I may have come across the cache coherency bug in arm and mips, fixed sometime around 2.6.17.
Quoted 6 lines
Since I can not change the kernel that is running, I was looking for alternate solutions. FUSE itself has a work around, that calls
flush_cache_page(), but I found that mips-board atlas does not have this defined:fuse: Unknown symbol
flush_cache_pageThere are cache coherency issues on the 8634. You should be using the vendor's very most recent kernels. For me they seem to have resolved the cache issues.
Also as noted by others, you need the exact kernel sources if you are going to build working modules.
David Daney
Yeha I would love to use tangox, but there is none with Linux, at least no tarball of the kernel I have found?
Where can I get tangox?
Lund
Quoted 39 lines · Mark Lin
Jorgen,
You should not be using the atlas definition. Try the tangox one instead.
With the
flush_cache_pagechanges, FUSE works fine for me using 2.6.15 and Sigma's tango2 board.Mark Lin
Quoted 28 lines · David Daney
Quoted 11 lines · Jorgen Lundman
Hello list,
I have an embedded device running 2.6.15 kernel on a MIPS 4KEc 300MHz CPU. It was configured for Sigma's tango2 board, which I know nothing about, so I picked a mips-board by random, "atlas", and found I can produce working kernel module compiles.
However, when I compiled FUSE kernel module, it behaves erratically in a way making the FUSE developer think I may have come across the cache coherency bug in arm and mips, fixed sometime around 2.6.17.
Quoted 6 lines
Since I can not change the kernel that is running, I was looking for alternate solutions. FUSE itself has a work around, that calls
flush_cache_page(), but I found that mips-board atlas does not have this defined:fuse: Unknown symbol
flush_cache_pageThere are cache coherency issues on the 8634. You should be using the vendor's very most recent kernels. For me they seem to have resolved the cache issues.
Also as noted by others, you need the exact kernel sources if you are going to build working modules.
David Daney
Signature · 4 lines
Jorgen Lundman | <[email protected]> Unix Administrator | +81 (0)3 -5456-2687 ext 1017 (work) Shibuya-ku, Tokyo | +81 (0)90-5578-8500 (cell) Japan | +81 (0)3 -3375-1767 (home)
Quoted 7 lines · Jorgen Lundman
Yeha I would love to use tangox, but there is none with Linux, at least no tarball of the kernel I have found?
Where can I get tangox?
Lund
The Linux kernel is GPL, whoever gave you the board and the kernel should give you the kernel source.
David Daney
Sure, and I agree. We both know how often than happens, or how quickly. So, while we hold our breath for that to happen, mean while, I am hoping to find the TangoX mips-board details somewhere...
Quoted 14 lines · David Daney
Quoted 7 lines · Jorgen Lundman
Yeha I would love to use tangox, but there is none with Linux, at least no tarball of the kernel I have found?
Where can I get tangox?
Lund
The Linux kernel is GPL, whoever gave you the board and the kernel should give you the kernel source.
David Daney
Signature · 4 lines
Jorgen Lundman | <[email protected]> Unix Administrator | +81 (0)3 -5456-2687 ext 1017 (work) Shibuya-ku, Tokyo | +81 (0)90-5578-8500 (cell) Japan | +81 (0)3 -3375-1767 (home)
Quoted 4 lines · Jorgen Lundman
Sure, and I agree. We both know how often than happens, or how quickly. So, while we hold our breath for that to happen, mean while, I am hoping to find the TangoX mips-board details somewhere...
If they are not helpful, you could try asking the guys from
http://gpl-violations.org/ for help.
Signature · 2 lines
Martin Michlmayr http://www.cyrius.com/