Jiri Gaisler wrote:
We are currently developing an MP system with four LEON3 (SPARC) cpus in a shared memory configuration. We are using the MP extensions and memory-based communication, works fine so far. Pitty that RTEMS doesn't have support for SMP, i.e. one image with multiple threads executed by multiple cpus. eCos has this and it scales well up to ~ four processors. With RTEMS, we must have a separate image for each cpu, which wastes memory and complicates linking and program loading.
If you have a way to tell which node you are on, the same text image could work. One copy of the code but multiple workspaces and BSSs.
This is good idea..! However, it does require that the code is re-entrant - is that really the case? Isn't there any global data structures in the .data segment which would preclude this solution ..?