diff mbox series

[2/2] arc: hsdk_defconfig: enable CONFIG_ARC_UBOOT_SUPPORT

Message ID 1549355535-22052-3-git-send-email-clabbe@baylibre.com
State New
Headers show
Series arc: hsdk_defconfig: permit kernelci jobs | expand

Commit Message

Corentin LABBE Feb. 5, 2019, 8:32 a.m. UTC
We have now a HSDK device in our kernelci lab, but kernel builded via
the hsdk_defconfig ignore bootargs, so it cannot boot kernelci jobs yet.
Furthermore, I think the probability is that devices will be booted more via
uboot than by a debugger.

So this patch enable CONFIG_ARC_UBOOT_SUPPORT in hsdk_defconfig.

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
 arch/arc/configs/hsdk_defconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Eugeniy Paltsev Feb. 5, 2019, 11:42 a.m. UTC | #1
Hi Corentin,

In case of devboards (like HSDK) we really often disable bootloader and load
Linux image in memory via JTAG. Enabling CONFIG_ARC_UBOOT_SUPPORT by
default will break it as we will try to interpret some junk in a registers
as a pointers to bootargs/etc which aren't set by anyone in case of JTAG using.

So it isn't a good idea to have CONFIG_ARC_UBOOT_SUPPORT enabled by default.

On Tue, 2019-02-05 at 08:32 +0000, Corentin Labbe wrote:
> We have now a HSDK device in our kernelci lab, but kernel builded via
> the hsdk_defconfig ignore bootargs, so it cannot boot kernelci jobs yet.
> Furthermore, I think the probability is that devices will be booted more via
> uboot than by a debugger.
> 
> So this patch enable CONFIG_ARC_UBOOT_SUPPORT in hsdk_defconfig.
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
>  arch/arc/configs/hsdk_defconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arc/configs/hsdk_defconfig b/arch/arc/configs/hsdk_defconfig
> index 0e5fd29ed238..b80e3ac5c93c 100644
> --- a/arch/arc/configs/hsdk_defconfig
> +++ b/arch/arc/configs/hsdk_defconfig
> @@ -9,6 +9,7 @@ CONFIG_NAMESPACES=y
>  # CONFIG_PID_NS is not set
>  CONFIG_BLK_DEV_INITRD=y
>  CONFIG_BLK_DEV_RAM=y
> +CONFIG_ARC_UBOOT_SUPPORT=y
>  CONFIG_EMBEDDED=y
>  CONFIG_PERF_EVENTS=y
>  # CONFIG_VM_EVENT_COUNTERS is not set
Vineet Gupta Feb. 5, 2019, 4:42 p.m. UTC | #2
On 2/5/19 3:42 AM, Eugeniy Paltsev wrote:
> Hi Corentin,
>
> In case of devboards (like HSDK) we really often disable bootloader and load
> Linux image in memory via JTAG. Enabling CONFIG_ARC_UBOOT_SUPPORT by
> default will break it as we will try to interpret some junk in a registers
> as a pointers to bootargs/etc which aren't set by anyone in case of JTAG using.
>
> So it isn't a good idea to have CONFIG_ARC_UBOOT_SUPPORT enabled by default.

Right.

It is difficult to accommodate everyone's needs (often conflicting) in a single
defconfig.
Can you folks create an out-of-tree defconfig or some such.

-Vineet
Alexey Brodkin Feb. 5, 2019, 4:51 p.m. UTC | #3
Hi Vineet, Corentin,

> -----Original Message-----
> From: Vineet Gupta <vgupta@synopsys.com>
> Sent: Tuesday, February 5, 2019 7:42 PM
> To: Eugeniy Paltsev <paltsev@synopsys.com>; clabbe@baylibre.com
> Cc: linux-kernel@vger.kernel.org; alexey.brodkin@synopsys.com; khilman@baylibre.com; linux-snps-
> arc@lists.infradead.org
> Subject: Re: [PATCH 2/2] arc: hsdk_defconfig: enable CONFIG_ARC_UBOOT_SUPPORT
> 
> On 2/5/19 3:42 AM, Eugeniy Paltsev wrote:
> > Hi Corentin,
> >
> > In case of devboards (like HSDK) we really often disable bootloader and load
> > Linux image in memory via JTAG. Enabling CONFIG_ARC_UBOOT_SUPPORT by
> > default will break it as we will try to interpret some junk in a registers
> > as a pointers to bootargs/etc which aren't set by anyone in case of JTAG using.
> >
> > So it isn't a good idea to have CONFIG_ARC_UBOOT_SUPPORT enabled by default.
> 
> Right.
> 
> It is difficult to accommodate everyone's needs (often conflicting) in a single
> defconfig.
> Can you folks create an out-of-tree defconfig or some such.

I do think there's a proper solution which [hopefully] makes both parties happy.
Eugeniy is about to send-out a patch which allows us to not care about
garbage in R0/R2 when running after U-Boot.

-Alexey
Kevin Hilman Feb. 5, 2019, 8:14 p.m. UTC | #4
Alexey Brodkin <alexey.brodkin@synopsys.com> writes:

> Hi Vineet, Corentin,
>
>> -----Original Message-----
>> From: Vineet Gupta <vgupta@synopsys.com>
>> Sent: Tuesday, February 5, 2019 7:42 PM
>> To: Eugeniy Paltsev <paltsev@synopsys.com>; clabbe@baylibre.com
>> Cc: linux-kernel@vger.kernel.org; alexey.brodkin@synopsys.com; khilman@baylibre.com; linux-snps-
>> arc@lists.infradead.org
>> Subject: Re: [PATCH 2/2] arc: hsdk_defconfig: enable CONFIG_ARC_UBOOT_SUPPORT
>> 
>> On 2/5/19 3:42 AM, Eugeniy Paltsev wrote:
>> > Hi Corentin,
>> >
>> > In case of devboards (like HSDK) we really often disable bootloader and load
>> > Linux image in memory via JTAG. Enabling CONFIG_ARC_UBOOT_SUPPORT by
>> > default will break it as we will try to interpret some junk in a registers
>> > as a pointers to bootargs/etc which aren't set by anyone in case of JTAG using.
>> >
>> > So it isn't a good idea to have CONFIG_ARC_UBOOT_SUPPORT enabled by default.
>> 
>> Right.
>> 
>> It is difficult to accommodate everyone's needs (often conflicting) in a single
>> defconfig.
>> Can you folks create an out-of-tree defconfig or some such.
>
> I do think there's a proper solution which [hopefully] makes both parties happy.
> Eugeniy is about to send-out a patch which allows us to not care about
> garbage in R0/R2 when running after U-Boot.

OK, cool, that sounds like a good workaround for the JTAG use case.

Just curious: what is the more common case for end-users?  u-boot or
JTAG?

At least on every other arch/board we use in kernelCI, u-boot is the
*much* more common load path than JTAG.  IMO, I would suggest that in
the case of unresolvable conflicts like, u-boot should be the normal
path, and JTAG would be the special case.

Anyways, hopefully the patch from Eugeniy works and gets rid of the
conflict. 

Related: if you end up accepting this series, they'll also need to be
backported to stable branches if we want to support them in kernelCI.

Kevin
diff mbox series

Patch

diff --git a/arch/arc/configs/hsdk_defconfig b/arch/arc/configs/hsdk_defconfig
index 0e5fd29ed238..b80e3ac5c93c 100644
--- a/arch/arc/configs/hsdk_defconfig
+++ b/arch/arc/configs/hsdk_defconfig
@@ -9,6 +9,7 @@  CONFIG_NAMESPACES=y
 # CONFIG_PID_NS is not set
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_BLK_DEV_RAM=y
+CONFIG_ARC_UBOOT_SUPPORT=y
 CONFIG_EMBEDDED=y
 CONFIG_PERF_EVENTS=y
 # CONFIG_VM_EVENT_COUNTERS is not set