From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V3 3/3] rpi: add support for Raspberry Pi 2 model B
Date: Tue, 24 Mar 2015 09:36:30 -0600 [thread overview]
Message-ID: <5511847E.2030805@wwwdotorg.org> (raw)
In-Reply-To: <20150219175037.DD94.AA925319@jp.panasonic.com>
On 02/19/2015 01:50 AM, Masahiro Yamada wrote:
> On Wed, 18 Feb 2015 23:00:36 -0700
> Stephen Warren <swarren@wwwdotorg.org> wrote:
>
>> On 02/17/2015 01:22 PM, Tom Rini wrote:
>>> On Tue, Feb 17, 2015 at 12:35:41PM -0700, Stephen Warren wrote:
>>>> On 02/16/2015 06:03 PM, Tom Rini wrote:
>>>>> On Mon, Feb 16, 2015 at 12:16:15PM -0700, Stephen Warren
>>>>> wrote:
>>>>>
>>>>>> USB doesn't seem to work yet; the controller detects the
>>>>>> on-board Hub/ Ethernet device but can't read the descriptors
>>>>>> from it. I haven't investigated yet.
>>>>>>
>>>>>> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> --- v3:
>>>>>> Rebased on top of u-boot-dm merge. v2: Implement new
>>>>>> board_rev decoding scheme, to avoid hard-coding the board
>>>>>> revision onthe RPi 2.
>>>>>
>>>>> +(rpi_2) make[3]: *** No rule to make target
>>>>> `arch/arm/cpu/armv7/bcm2835/../../arm1176/bcm2835//init.o',
>>>>> needed by `arch/arm/cpu/armv7/bcm2835/built-in.o'. Stop.
>>>>> +(rpi_2) make[2]: *** [arch/arm/cpu/armv7/bcm2835] Error 2
>>>>> +(rpi_2) make[1]: *** [arch/arm/cpu/armv7] Error 2
>>>>>
>>>>> When I try and build it with buildman. Something get left out
>>>>> somewhere? Thanks!
>>>>
>>>> I've reproduced this error on my machine at work, where I
>>>> previously worked out the right stuff to put into ~/.buildman.
>>>>
>>>> Now that I try the regular build process (in-tree build using
>>>> just make) multiple times after a "git clean -f -d -x" , I see
>>>> the same error that way too, sometimes, so it's nothing to do
>>>> with buildman.
>>>>
>>>> However, I don't always get the error with either plain make or
>>>> with buildman, and it doesn't always complain about the same
>>>> file:
>>>>
>>>>> +make[1]: *** No rule to make target `arch//cpu/u-boot.lds',
>>>>> needed by `u-boot.lds'. Stop.
>>>>
>>>>> +make[3]: *** No rule to make target
>>>>> `arch/arm/cpu/armv7/bcm2835/../../arm1176/bcm2835//init.o',
>>>>> needed by `arch/arm/cpu/armv7/bcm2835/built-in.o'. Stop.
>>>>
>>>> This isn't anything to do with these patches; I can see the
>>>> exact same issue building the following existing boards in
>>>> unmodified u-boot/master:
>>>>
>>>> rpi (arm1176, no SPL) tnetv107x_evm_defconfigs (arm1176 no SPL)
>>>> mx35pdk_defconfig (arm1136, no SPL) nhk8815_defconfig (arm926ejs,
>>>> no SPL) imx27lite_defconfig (arm926ejs, SPL)
>>>> vexpress_ca15_tc2_defconfig (ARMv7, no SPL)
>>>>
>>>> Strangely I don't see the issue for:
>>>>
>>>> seaboard (ARMv7, SPL) maxbcm_defconfig (ARMv7, SPL)
>>>>
>>>> I wonder if bisecting would show up where this issue was
>>>> introduced.
>>>
>>> I bet it will and I bet it's when we switch to Kconfig. Masahiro,
>>> any ideas?
>>
>> Yes, a git bisect (running up to 100 successful builds to test each
>> commit, or failing on the first failure) says:
>>
>> first bad commit: [51148790f26e42ef1fd4a1a8d056bf0252539525]
>> kconfig: switch to Kconfig
>>
>> (which was applied at the end of July last year)
>>
>> Interesting: The problem never seems to happen on my laptop (where I
>> do all my rpi dev work), but is quite easy to reproduce on my faster
>> machine at work. I would guess it only affects parallel builds in
>> certain timing circumstances, but haven't checked that.
>
> Sorry for my late reply and inconveniene about this.
>
> I recongnize this problem is the same as what has been reported by some people
> for a few months.
>
> Although I have never been able to reproduce this problem (I guess my computer is too slow...),
> I do understand this is a real, significant and urgent problem.
>
>
> I bet the root cause of this issue is the following lines.
>
> autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find . \
> -path ./include/config/auto.conf -newer $(KCONFIG_CONFIG)))
> ifneq ($(autoconf_is_current),)
> include $(srctree)/config.mk
> include $(srctree)/arch/$(ARCH)/Makefile
> endif
>
>
> This comes from the difference about how ARCH is given.
>
> In Linux, ARCH is given from the command line by the user,
> so the correct arch/$(ARCH)/Makefile can be always included.
>
> In U-boot, on the other hand, ARCH is decided by Kconfig.
> It is impossible to include arch/$(ARCH)/Makefile
> until Kconfig creates the include/configs/auto.conf for the target board,
> i.e. "make silentoldconfig" is done.
>
> I do not know the reason exactly, but $(autoconf_is_current) might not be set correctly
> in some cases depending on some race condition.
>
> Of course, if we adopted the "ARCH from the command line", this problem would immediately go away,
> but I am not sure how many people are happy about the more typing every time,
> considering that most of the target boards of U-Boot use cross-compiling.
>
>
> I will take a closer look on it, but I am doing some big changes for the build system.
>
> - single .config switch ( I have just posted the series.)
> - Moving SoC directory arch/arm/cpu/$(CPU)/$(SOC) -> arch/arm/mach-$(SOC)
>
>
> As usual, I'd like to solve the problems one by one, so as not to mess up things by big conflicts.
Was there any progress on this front? I'm still seeing the problem in
latest u-boot.git master branch. I've been hitting it a little more
often today; not sure if the repro frequency has changed or if I just
did a few more builds than usual?
next prev parent reply other threads:[~2015-03-24 15:36 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-16 19:16 [U-Boot] [PATCH V3 1/3] bcm2835/rpi: add SPDX license tags for some files Stephen Warren
2015-02-16 19:16 ` [U-Boot] [PATCH V3 2/3] bcm2836 SoC support (used in Raspberry Pi 2 model B) Stephen Warren
2015-02-22 2:57 ` Tom Rini
2015-02-16 19:16 ` [U-Boot] [PATCH V3 3/3] rpi: add support for Raspberry Pi 2 model B Stephen Warren
2015-02-17 1:03 ` Tom Rini
2015-02-17 4:09 ` Stephen Warren
2015-02-17 4:15 ` Simon Glass
2015-02-17 4:19 ` Stephen Warren
2015-02-18 2:39 ` Simon Glass
2015-02-17 19:35 ` Stephen Warren
2015-02-17 20:22 ` Tom Rini
2015-02-19 6:00 ` Stephen Warren
2015-02-19 8:50 ` Masahiro Yamada
2015-02-19 12:18 ` Tom Rini
2015-03-24 15:36 ` Stephen Warren [this message]
2015-02-22 2:57 ` Tom Rini
2015-02-22 2:57 ` [U-Boot] [PATCH V3 1/3] bcm2835/rpi: add SPDX license tags for some files Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5511847E.2030805@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox