Skip to content

Commit

Permalink
ARC: enable uboot support unconditionally
Browse files Browse the repository at this point in the history
After reworking U-boot args handling code and adding paranoid
arguments check we can eliminate CONFIG_ARC_UBOOT_SUPPORT and
enable uboot support unconditionally.

For JTAG case we can assume that core registers will come up
reset value of 0 or in worst case we rely on user passing
'-on=clear_regs' to Metaware debugger.

Cc: [email protected]
Tested-by: Corentin LABBE <[email protected]>
Signed-off-by: Eugeniy Paltsev <[email protected]>
Signed-off-by: Vineet Gupta <[email protected]>
  • Loading branch information
Eugeniy Paltsev authored and vineetgarc committed Feb 21, 2019
1 parent a66f2e5 commit 493a2f8
Show file tree
Hide file tree
Showing 6 changed files with 0 additions and 20 deletions.
12 changes: 0 additions & 12 deletions arch/arc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,6 @@ config NR_CPUS

config ARC_SMP_HALT_ON_RESET
bool "Enable Halt-on-reset boot mode"
default y if ARC_UBOOT_SUPPORT
help
In SMP configuration cores can be configured as Halt-on-reset
or they could all start at same time. For Halt-on-reset, non
Expand Down Expand Up @@ -523,17 +522,6 @@ config ARC_DBG_TLB_PARANOIA

endif

config ARC_UBOOT_SUPPORT
bool "Support uboot arg Handling"
help
ARC Linux by default checks for uboot provided args as pointers to
external cmdline or DTB. This however breaks in absence of uboot,
when booting from Metaware debugger directly, as the registers are
not zeroed out on reset by mdb and/or ARCv2 based cores. The bogus
registers look like uboot args to kernel which then chokes.
So only enable the uboot arg checking/processing if users are sure
of uboot being in play.

config ARC_BUILTIN_DTB_NAME
string "Built in DTB"
help
Expand Down
1 change: 0 additions & 1 deletion arch/arc/configs/nps_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ CONFIG_ARC_CACHE_LINE_SHIFT=5
# CONFIG_ARC_HAS_LLSC is not set
CONFIG_ARC_KVADDR_SIZE=402
CONFIG_ARC_EMUL_UNALIGNED=y
CONFIG_ARC_UBOOT_SUPPORT=y
CONFIG_PREEMPT=y
CONFIG_NET=y
CONFIG_UNIX=y
Expand Down
1 change: 0 additions & 1 deletion arch/arc/configs/vdk_hs38_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ CONFIG_PARTITION_ADVANCED=y
CONFIG_ARC_PLAT_AXS10X=y
CONFIG_AXS103=y
CONFIG_ISA_ARCV2=y
CONFIG_ARC_UBOOT_SUPPORT=y
CONFIG_ARC_BUILTIN_DTB_NAME="vdk_hs38"
CONFIG_PREEMPT=y
CONFIG_NET=y
Expand Down
2 changes: 0 additions & 2 deletions arch/arc/configs/vdk_hs38_smp_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ CONFIG_AXS103=y
CONFIG_ISA_ARCV2=y
CONFIG_SMP=y
# CONFIG_ARC_TIMERS_64BIT is not set
# CONFIG_ARC_SMP_HALT_ON_RESET is not set
CONFIG_ARC_UBOOT_SUPPORT=y
CONFIG_ARC_BUILTIN_DTB_NAME="vdk_hs38_smp"
CONFIG_PREEMPT=y
CONFIG_NET=y
Expand Down
2 changes: 0 additions & 2 deletions arch/arc/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -100,15 +100,13 @@ ENTRY(stext)
st.ab 0, [r5, 4]
1:

#ifdef CONFIG_ARC_UBOOT_SUPPORT
; Uboot - kernel ABI
; r0 = [0] No uboot interaction, [1] cmdline in r2, [2] DTB in r2
; r1 = magic number (always zero as of now)
; r2 = pointer to uboot provided cmdline or external DTB in mem
; These are handled later in handle_uboot_args()
st r0, [@uboot_tag]
st r2, [@uboot_arg]
#endif

; setup "current" tsk and optionally cache it in dedicated r25
mov r9, @init_task
Expand Down
2 changes: 0 additions & 2 deletions arch/arc/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,6 @@ void __init handle_uboot_args(void)
bool use_embedded_dtb = true;
bool append_cmdline = false;

#ifdef CONFIG_ARC_UBOOT_SUPPORT
/* check that we know this tag */
if (uboot_tag != UBOOT_TAG_NONE &&
uboot_tag != UBOOT_TAG_CMDLINE &&
Expand All @@ -514,7 +513,6 @@ void __init handle_uboot_args(void)
append_cmdline = true;

ignore_uboot_args:
#endif

if (use_embedded_dtb) {
machine_desc = setup_machine_fdt(__dtb_start);
Expand Down

0 comments on commit 493a2f8

Please sign in to comment.