1 #include <linux/config.h>
3 #if defined(CONFIG_RAM32MB)
4 #define MEM_END 0x02000000 /* Memory size 32Mb */
5 #elif defined(CONFIG_RAM16MB)
6 #define MEM_END 0x01000000 /* Memory size 16Mb */
8 #define MEM_END 0x00800000 /* Memory size 8Mb */
29 * Set up the usable of RAM stuff
47 /* disable all interrupts */
58 * Determine end of RAM
67 * Move ROM filesystem above bss :-)
70 moveal #_sbss, %a0 /* romfs at the start of bss */
71 moveal #_ebss, %a1 /* Set up destination */
72 movel %a0, %a2 /* Copy of bss start */
74 movel 8(%a0), %d1 /* Get size of ROMFS */
75 addql #8, %d1 /* Allow for rounding */
76 andl #0xfffffffc, %d1 /* Whole words */
78 addl %d1, %a0 /* Copy from end */
79 addl %d1, %a1 /* Copy from end */
80 movel %a1, _ramstart /* Set start of ram */
83 movel -(%a0), %d0 /* Copy dword */
85 cmpl %a0, %a2 /* Check if at end */
91 * Initialize BSS segment to 0
97 /* Copy 0 to %a0 until %a0 == %a1 */
107 * Load the current task pointer and stack
110 lea init_thread_union, %a0
129 moveb %d7, 0xfffff907
131 movew 0xfffff906, %d7