Hi,

I've been using Linux on ARM9 for quite a while, but now a customer
wants uClinux. I scouted the net for information, however there are still some
missing bits and pieces and I hope that someone can point me in the right
direction.

I read the test results from Hyok S. Choi, who compared uClinux vs. Linux
on ARM9 and I have a question regarding cache flushing on arm926. In the paper 
[hyok1] (see references at the end of the mail) it is mentioned that the cache 
needs to be flushed on context switches. But the ARM manual[arm1] specifies 
the following:

"The caches are virtual index, virtual tag, addressed using the Modified 
 Virtual Address (MVA). This enables the avoidance of cache cleaning and/or 
 invalidating on context switch."

Whereas information about the MVA can be found in [arm2][arm3]:

"The VA is translated using the FCSE PID value to the MVA. The Instruction 
 Cache (ICache) and Memory Management Unit (MMU) detect the MVA 
 (see Process ID Register c13)."

So is it possible that the recent ARM cores now include a notion of process id,
which seriously improves cache performance on context switches. And as a 
consequence the results in [hyok1] might not be reproducible?

Another question - about shared flat libraries. Is it correct that there is
no shared flat support for ARM yet? From what I saw the -mid-shared-library
gcc option is not available for ARM, is there any workaround? I found a 
one year old post about this on the mailing list, it seems that someone was
planning to do some work on this, but I did not find any conclusive results.

And a question regarding the toolchain: can I build for uclinux using
a "normal" arm-uclibc-gnueabi toolchain and postprocess the output with elf2flt,
or is a "special" toolchain required?

I looked at the arm-2007q3-51-arm-uclinuxeabi csl toolchain, they added 
uclinux-eabi while the vanilla gcc only provides uclinux-elf. Does that mean
that I can not build for uclinux eabi using vanilla gcc? Actually, this leads 
back to the previous question, if a "special" toolchain is needed or if I
can work with vanilla gcc toolchain compiled for arm eabi and what is this
uclinux-elf configuration?

Thanks!

Kind regards,
Jin


Here are the references mentioned above:

[hyok1] Hyok-Sunch Choi, Hee-Chul Yun. Context Switching and IPC Performance 
Comparison between uClinux and Linux on the ARM9 based processore
http://opensrc.sec.samsung.com/document/uc-linux-04_sait.pdf

[arm1] ARM926EJ-S Technical Reference Manual, section 4.1
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0198d/I998929.html

[arm2] ARM926EJ-S Technical Reference Manual, section 2.2.1
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0198d/ch02s02s01.html

[arm3]
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0198d/I1002240.html



_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to