summaryrefslogtreecommitdiffstats
path: root/arch/arc/kernel/head.S
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-25 10:50:43 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-25 10:50:43 -0800
commit7ae0e06b909e31bf9a396a2326ef09b768d9b4c4 (patch)
tree6dc477b7d657642d54aaacb214927318b7715833 /arch/arc/kernel/head.S
parent9b83d851a2bdd021e2135999e5bce3eb8fef94e6 (diff)
parente57d339a6264355df8c98948f05a46ff2bc5d504 (diff)
Merge tag 'arc-v3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
Pull ARC changes from Vineet Gupta: - IPI optimization and cleanups - Support for bootloader provided external Device Tree blobs * tag 'arc-v3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: [cmdline] support External Device Trees from u-boot ARC: [cmdline] uboot cmdline handling rework ARC: [SMP] optimize IPI send and receive ARC: [SMP] simplify IPI code ARC: [SMP] cpu halt interface doesn't need "self" cpu-id ARC: [SMP] IPI ACK interface doesn't need "self" cpu-id ARC: [SMP] cpumask not needed in IPI send path
Diffstat (limited to 'arch/arc/kernel/head.S')
-rw-r--r--arch/arc/kernel/head.S26
1 files changed, 7 insertions, 19 deletions
diff --git a/arch/arc/kernel/head.S b/arch/arc/kernel/head.S
index 2c878e964a6..991997269d0 100644
--- a/arch/arc/kernel/head.S
+++ b/arch/arc/kernel/head.S
@@ -49,25 +49,13 @@ stext:
st.ab 0, [r5,4]
brlt r5, r6, 1b
-#ifdef CONFIG_CMDLINE_UBOOT
- ; support for bootloader provided cmdline
- ; If cmdline passed by u-boot, then
- ; r0 = 1 (because ATAGS parsing, now retired, used to use 0)
- ; r1 = magic number (board identity)
- ; r2 = addr of cmdline string (somewhere in memory/flash)
-
- brne r0, 1, .Lother_bootup_chores ; u-boot didn't pass cmdline
- breq r2, 0, .Lother_bootup_chores ; or cmdline is NULL
-
- mov r5, @command_line
-1:
- ldb.ab r6, [r2, 1]
- breq r6, 0, .Lother_bootup_chores
- b.d 1b
- stb.ab r6, [r5, 1]
-#endif
-
-.Lother_bootup_chores:
+ ; Uboot - kernel ABI
+ ; r0 = [0] No uboot interaction, [1] cmdline in r2, [2] DTB in r2
+ ; r1 = magic number (board identity, unused as of now
+ ; r2 = pointer to uboot provided cmdline or external DTB in mem
+ ; These are handled later in setup_arch()
+ st r0, [@uboot_tag]
+ st r2, [@uboot_arg]
; Identify if running on ISS vs Silicon
; IDENTITY Reg [ 3 2 1 0 ]