diff options
author | Mikael Starvik <mikael.starvik@axis.com> | 2005-07-27 14:44:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-27 19:26:00 -0400 |
commit | 7cf32cad153d63ac4f6f2d5dd16ddd32ad72d578 (patch) | |
tree | 1072d64f49092ba87ff0d5079e37f58f646f7356 /arch/cris/arch-v10/boot/compressed/head.S | |
parent | 2e0cea1decf7f21df0496571c218df3b3b8cce99 (diff) |
[PATCH] CRIS update: misc patches
* Start threads with IRQs enabled.
* Move symbol exports to arch specific file.
* Prepare for real command line in the future.
* Handle csum for partition that crosses flash boundary.
* Set utsname.
Signed-off-by: Mikael Starvik <starvik@axis.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/cris/arch-v10/boot/compressed/head.S')
-rw-r--r-- | arch/cris/arch-v10/boot/compressed/head.S | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/arch/cris/arch-v10/boot/compressed/head.S b/arch/cris/arch-v10/boot/compressed/head.S index 4cbdd4b1d9d6..e73f44c998d9 100644 --- a/arch/cris/arch-v10/boot/compressed/head.S +++ b/arch/cris/arch-v10/boot/compressed/head.S | |||
@@ -13,7 +13,8 @@ | |||
13 | #include <asm/arch/sv_addr_ag.h> | 13 | #include <asm/arch/sv_addr_ag.h> |
14 | 14 | ||
15 | #define RAM_INIT_MAGIC 0x56902387 | 15 | #define RAM_INIT_MAGIC 0x56902387 |
16 | 16 | #define COMMAND_LINE_MAGIC 0x87109563 | |
17 | |||
17 | ;; Exported symbols | 18 | ;; Exported symbols |
18 | 19 | ||
19 | .globl _input_data | 20 | .globl _input_data |
@@ -88,6 +89,12 @@ basse: move.d pc, r5 | |||
88 | cmp.d r2, r1 | 89 | cmp.d r2, r1 |
89 | bcs 1b | 90 | bcs 1b |
90 | nop | 91 | nop |
92 | |||
93 | ;; Save command line magic and address. | ||
94 | move.d _cmd_line_magic, $r12 | ||
95 | move.d $r10, [$r12] | ||
96 | move.d _cmd_line_addr, $r12 | ||
97 | move.d $r11, [$r12] | ||
91 | 98 | ||
92 | ;; Do the decompression and save compressed size in _inptr | 99 | ;; Do the decompression and save compressed size in _inptr |
93 | 100 | ||
@@ -98,7 +105,13 @@ basse: move.d pc, r5 | |||
98 | 105 | ||
99 | move.d [_input_data], r9 ; flash address of compressed kernel | 106 | move.d [_input_data], r9 ; flash address of compressed kernel |
100 | add.d [_inptr], r9 ; size of compressed kernel | 107 | add.d [_inptr], r9 ; size of compressed kernel |
101 | 108 | ||
109 | ;; Restore command line magic and address. | ||
110 | move.d _cmd_line_magic, $r10 | ||
111 | move.d [$r10], $r10 | ||
112 | move.d _cmd_line_addr, $r11 | ||
113 | move.d [$r11], $r11 | ||
114 | |||
102 | ;; Enter the decompressed kernel | 115 | ;; Enter the decompressed kernel |
103 | move.d RAM_INIT_MAGIC, r8 ; Tell kernel that DRAM is initialized | 116 | move.d RAM_INIT_MAGIC, r8 ; Tell kernel that DRAM is initialized |
104 | jump 0x40004000 ; kernel is linked to this address | 117 | jump 0x40004000 ; kernel is linked to this address |
@@ -107,5 +120,8 @@ basse: move.d pc, r5 | |||
107 | 120 | ||
108 | _input_data: | 121 | _input_data: |
109 | .dword 0 ; used by the decompressor | 122 | .dword 0 ; used by the decompressor |
110 | 123 | _cmd_line_magic: | |
124 | .dword 0 | ||
125 | _cmd_line_addr: | ||
126 | .dword 0 | ||
111 | #include "../../lib/hw_settings.S" | 127 | #include "../../lib/hw_settings.S" |