User/Kernel modes in ARM for micro-C Linux

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

Reply to
k v
Loading thread data ...

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

Reply to
John Williams

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

Reply to
John Williams

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

Reply to
rcobo

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.