diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-07-28 04:30:20 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-07-28 04:30:20 -0400 |
commit | 661299d9d0437a0ff72240f3d60016ac3a361a6e (patch) | |
tree | 765512576314fc3612b503f182b9ae4e60fcf849 /arch/cris/arch-v10/boot/compressed/head.S | |
parent | 05caac585f8abd6c0113856bc8858e3ef214d8a6 (diff) | |
parent | 41c018b7ecb60b1c2c4d5dee0cd37d32a94c45af (diff) |
Merge with Linus' 2.6 tree
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" |