From: Tony Breeds <hidden> Date: 2012-04-03 00:55:59
Currently we build all board files regardless of the final zImage
target. This is sub-optimal (in terms on compilation) and leads to
problems in one platform needlessly causing failures for other
platforms.
Use the Kconfig variables to selectively construct this board files to
build.
Signed-off-by: Tony Breeds <redacted>
---
arch/powerpc/boot/Makefile | 69 +++++++++++++++++++++++++++++++++-----------
1 files changed, 52 insertions(+), 17 deletions(-)
From: David Gibson <hidden> Date: 2012-04-03 01:00:02
On Tue, Apr 03, 2012 at 10:55:59AM +1000, Tony Breeds wrote:
Currently we build all board files regardless of the final zImage
target. This is sub-optimal (in terms on compilation) and leads to
problems in one platform needlessly causing failures for other
platforms.
Um.. I believe the one platform breaking another is actually working
as intended. I think Paulus did it this way to stop people breaking
platforms other than the one they were working on without realising
it.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2012-04-03 01:26:53
On Tue, 2012-04-03 at 11:00 +1000, David Gibson wrote:
On Tue, Apr 03, 2012 at 10:55:59AM +1000, Tony Breeds wrote:
quoted
Currently we build all board files regardless of the final zImage
target. This is sub-optimal (in terms on compilation) and leads to
problems in one platform needlessly causing failures for other
platforms.
Um.. I believe the one platform breaking another is actually working
as intended. I think Paulus did it this way to stop people breaking
platforms other than the one they were working on without realising
it.
But that doesn't make sense to enforce that accross CPU families since
they cannot be built together within a single kernel anyway...
Cheers,
Ben.
From: Tony Breeds <hidden> Date: 2012-04-03 01:31:23
On Tue, Apr 03, 2012 at 11:00:02AM +1000, David Gibson wrote:
Um.. I believe the one platform breaking another is actually working
as intended. I think Paulus did it this way to stop people breaking
platforms other than the one they were working on without realising
it.
Well that may have been the original intent but in the thread "Re:
kilauea compilation breaks with v3.3 kernel and ELDK 4.2" we're seeing
4xx break 8xx as the 8xx binutils (in use) doesn't have a mfdcrx
instruction.
So by breaking it up we gain a small decrease in compile times, less
chance of a very targeted build breaking an unrelated board. We do as
you point out potentially delay discovery of breakage for some time.
I don't mind either way but the patch is out there now :)
Yours Tony
It is more ususal in the kernel makefiles to do something like:
src-wlib-$(CONFIG_40x) += 4xx.c planetcore.c
src-plat-$(CONFIG_40x) += fixed-head.S ep405.c cuboot-hotfoot.c treeboot-walnut.c \
...
and then use $(src-wlib-y) and $(src-plat-y)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/
From: Tony Breeds <hidden> Date: 2012-04-03 01:55:08
On Tue, Apr 03, 2012 at 11:41:50AM +1000, Stephen Rothwell wrote:
It is more ususal in the kernel makefiles to do something like:
src-wlib-$(CONFIG_40x) += 4xx.c planetcore.c
src-plat-$(CONFIG_40x) += fixed-head.S ep405.c cuboot-hotfoot.c treeboot-walnut.c \
Gah you are right. How about this.
From b59e3f86d72fe3e16881ec972602a9bb3e28045a Mon Sep 17 00:00:00 2001
From: Tony Breeds <redacted>
Date: Mon, 2 Apr 2012 16:20:35 +1000
Subject: [PATCH] powerpc/boot: Only build board support files when required.
Currently we build all board files regardless of the final zImage
target. This is sub-optimal (in terms on compilation) and leads to
problems in one platform needlessly causing failures for other
platforms.
Use the Kconfig variables to selectively construct this board files to
build.
Signed-off-by: Tony Breeds <redacted>
---
arch/powerpc/boot/Makefile | 57 +++++++++++++++++++++++++++++--------------
1 files changed, 38 insertions(+), 19 deletions(-)
From: Stephen Rothwell <hidden> Date: 2012-04-03 01:57:40
Hi Tony,
On Tue, 3 Apr 2012 11:55:08 +1000 Tony Breeds [off-list ref] wrote:
On Tue, Apr 03, 2012 at 11:41:50AM +1000, Stephen Rothwell wrote:
quoted
It is more ususal in the kernel makefiles to do something like:
src-wlib-$(CONFIG_40x) += 4xx.c planetcore.c
src-plat-$(CONFIG_40x) += fixed-head.S ep405.c cuboot-hotfoot.c treeboot-walnut.c \
Gah you are right. How about this.
Looks better to me.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
From: Tony Breeds <hidden> Date: 2012-04-04 01:00:39
Currently we build all board files regardless of the final zImage
target. This is sub-optimal (in terms on compilation) and leads to
problems in one platform needlessly causing failures for other
platforms.
Use the Kconfig variables to selectively construct this board files to
build.
Signed-off-by: Tony Breeds <redacted>
---
arch/powerpc/boot/Makefile | 56 +++++++++++++++++++++++++++++---------------
1 files changed, 37 insertions(+), 19 deletions(-)
Changes since v1:
- I missed a dependancy for ep8248e.c on planetcore.c, this caused the
6xx_defconfig to fail.
- Use the sorted and de-duplicated src-wlib and src-plat to setup
src-boot
- Built:
40x/ep405_defconfig 44x/arches_defconfig
44x/bamboo_defconfig 44x/bluestone_defconfig
44x/canyonlands_defconfig 44x/currituck_defconfig
44x/ebony_defconfig 44x/eiger_defconfig
44x/icon_defconfig 44x/iss476-smp_defconfig
44x/katmai_defconfig 44x/rainier_defconfig
44x/redwood_defconfig 44x/sam440ep_defconfig
44x/sequoia_defconfig 44x/taishan_defconfig
44x/virtex5_defconfig 44x/warp_defconfig
86xx/sbc8641d_defconfig cell_defconfig
celleb_defconfig chrp32_defconfig
g5_defconfig maple_defconfig
mpc7448_hpc2_defconfig mpc83xx_defconfig
mpc85xx_defconfig mpc86xx_defconfig
mpc885_ads_defconfig pasemi_defconfig
pmac32_defconfig powerpc-allmodconfig
powerpc-allnoconfig ppc40x_defconfig
ppc44x_defconfig ppc64_defconfig
ppc6xx_defconfig ps3_defconfig
Without problems.
On Tue, 2012-04-03 at 10:55 +1000, Tony Breeds wrote:
Currently we build all board files regardless of the final zImage
target. This is sub-optimal (in terms on compilation) and leads to
problems in one platform needlessly causing failures for other
platforms.
Use the Kconfig variables to selectively construct this board files to
build.
+ifeq ($(CONFIG_PPC_PS3),y)
+src-plat += ps3-head.S ps3-hvcall.S ps3.c
+endif
PS3 part looks good.
Acked-by: Geoff Levand <geoff@infradead.org>