User/Kernel modes in ARM for micro-C Linux

Jun 10, 2004 3 Replies

Hi all The basic requirement for a hardware to support Linux is existance of user/kernel modes in hardware , is that true for MMU-less Linux-s like mu-C Linux as well? If that is true how is a MMU-less Linux supported on a simple ARM core (e,g ARM7) where to the best of my knowledge privileged address-space cannot be demarcated , atleast not in hardware - or is there a software abstraction in Linux which does this. Please help.



K V


Not at all. We ported uClinux to the Xilinx microblaze FPGA-based processor, which has absolutely no concept of user or kernel mode.

The kernel and user space share the same linear address space. When a user application is loaded, the kernel allocates space for its code, data and stack segments (stack is a fixed size at runtime, this is one side-effect of no MMU), then the binary is relocated up to the correct address.

John

I should clarify, that's not entirely true. There is a bit in the Microblaze processor status register that could theoretically be used as a kind of kernel/user mode flag, but it has nothing to do with memory or address spaces.

John

i think it has no memory protection. any application can write to any part of memory but some cpus allow certain memory regions to be protected

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required