diff options
author | Stuart Menefy <stuart.menefy@st.com> | 2007-11-26 21:29:09 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-28 13:18:57 +0900 |
commit | 7a2eacb75946e0ebb81dfb36b50b5bec1c3cb50f (patch) | |
tree | 189d0cb22eab5fb566c77df6fff39e443aed19d0 /arch/sh/kernel | |
parent | 80a68a43d90e2221599b507b6b26c3cba1957687 (diff) |
sh: Provide a 29/32-bit physical hint for bootloaders.
Shoves a magic word in to the empty_zero_page section for the
bootloader to work out whether to start the kernel in 29-bit
or 32-bit mode.
[ Renesas CPUs already take care of the initial PMB mappings entirely
in hardware and decide on 29-bit/32-bit physical depending on which
pin powered up the CPU, so this is mostly for ST parts. -- PFM ].
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r-- | arch/sh/kernel/head_32.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S index 3338239717f..d67d7ed09f2 100644 --- a/arch/sh/kernel/head_32.S +++ b/arch/sh/kernel/head_32.S @@ -32,7 +32,11 @@ ENTRY(empty_zero_page) .long 1 /* LOADER_TYPE */ .long 0x00360000 /* INITRD_START */ .long 0x000a0000 /* INITRD_SIZE */ - .long 0 +#ifdef CONFIG_32BIT + .long 0x53453f00 + 32 /* "SE?" = 32 bit */ +#else + .long 0x53453f00 + 29 /* "SE?" = 29 bit */ +#endif 1: .skip PAGE_SIZE - empty_zero_page - 1b |