2 #if defined(CONFIG_RAM32MB)
3 #define MEM_END 0x02000000 /* Memory size 32Mb */
4 #elif defined(CONFIG_RAM16MB)
5 #define MEM_END 0x01000000 /* Memory size 16Mb */
7 #define MEM_END 0x00800000 /* Memory size 8Mb */
28 * Set up the usable of RAM stuff
46 /* disable all interrupts */
57 * Determine end of RAM
66 * Move ROM filesystem above bss :-)
69 moveal #_sbss, %a0 /* romfs at the start of bss */
70 moveal #_ebss, %a1 /* Set up destination */
71 movel %a0, %a2 /* Copy of bss start */
73 movel 8(%a0), %d1 /* Get size of ROMFS */
74 addql #8, %d1 /* Allow for rounding */
75 andl #0xfffffffc, %d1 /* Whole words */
77 addl %d1, %a0 /* Copy from end */
78 addl %d1, %a1 /* Copy from end */
79 movel %a1, _ramstart /* Set start of ram */
82 movel -(%a0), %d0 /* Copy dword */
84 cmpl %a0, %a2 /* Check if at end */
90 * Initialize BSS segment to 0
96 /* Copy 0 to %a0 until %a0 == %a1 */
106 * Load the current task pointer and stack
109 lea init_thread_union, %a0
128 moveb %d7, 0xfffff907
130 movew 0xfffff906, %d7