When Embedded Linux gets compiled for a particular MCU with an MMU, for example for an ARM-cortex A8. During initialization, the kernel must set up the MMU with page tables etc.
To set up the MMU, I guess it would require special handling with special instructions depending on that particular MMU and MCU involved.
If we now wish to get Embedded Linux running on a different type of chip, wouldn't the initialization code also have to be modified accordingly?
I'm still still trying to grasp some basic concepts on how Linux gets ported to different platforms.