[ECOS] ARM cpu modes

Gary Thomas gthomas@redhat.com
Wed Apr 5 05:58:00 GMT 2000

On 05-Apr-00 Colin_Helliwell@Mitel.COM wrote:
> Jesper said in a message yesterday that "[ARM] Application threads run in
> supervisor mode in eCos". I've heard/seen it said somewhere that the ARM's
> privileged Supervisor mode was intended for OS-type operations, whilst the
> non-privileged User mode was intended for application-level code. I was curious
> about the rationale behind the choice made in eCos, and whether it is felt that
> there are actually any pros and/or cons of running application threads in
> supervisor mode.

eCos assumes full responsibility for the hardware.  An eCos application needs
to run with the same level of access and privledge as the kernel since we do
not employ any sort of level switch (i.e. eCos functions are accessed as
function calls, there is no "system call" mechanism being used).

On the ARM, this means that the kernel, and thus the application, run in
Supervisor Mode.

As for the motivation?  Speed and control.  By not using a level switch (aka
system call), applications get the most efficient access to kernel functions.
There is no need for copying parameters and data when making calls, no need
for excessive state savings, etc.  Overall, the application simply gets the
most efficient use of system resources.

More information about the Ecos-discuss mailing list