/* This document is intended to provide the developer with information * how to integrate a new CPU (MACH) into this part of the barebox tree */ /** @page dev_m68k_mach M68k/Coldfire based CPU (MACH) into the tree FIXME - fill in further info about Coldfire and so on. Check code for compliance with the specs given below - move code otherwise. @par What's happens when the reset signal is gone @note Code running immediately after reset runs at an address it is not linked to: "runtime address != link address". You should only use branches and do not refer to fixed data. This implies the use of assembler code only. The M68k CPU starts at lable \ in one of the corresponding start-*.S files. After some basic hardware setup it can call a function \ if not disabled. This call is intended to give all developers a chance to use a standard reset vector file, but also do some special things required only on their specific CPU. After handling some MMU, Stack or similiar issues, \ can be called (if not disabled). This is a board specific function for SDRAM setup for example. As its board specific, your can do whatever you need to bring your board up. As stack is already set to internal core RAM, this routine can be C. @note: You are not allowed to call other code here, because we are not running at link address. When \ returns it will be assumed that there is now working RAM that can be used for all further steps. Next step is relocation of barebox itself. It gets copied to the end of available RAM and the last assembly instruction is a jump to \. At this point of time: "runtime address == link address". */