diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-04-19 23:19:38 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2016-04-19 23:19:38 +0300 |
commit | 1a5ff260fa2b85578e82063f02cb98a2be2c8d23 (patch) | |
tree | 4c649e15d394b4344fe29f06fcc1d0121f270f28 /meta-openbmc-machines | |
parent | b9a839be8260124bc2c8994f2bceea145e8e95d6 (diff) | |
parent | e0d4a8f1ad4fbaa6bdf48890d5f5475df4ece3c2 (diff) | |
download | openbmc-1a5ff260fa2b85578e82063f02cb98a2be2c8d23.tar.xz |
Merge pull request #233 from williamspatrick/add-pflash
Use pflash from upstream skiboot instead of skeleton.
Diffstat (limited to 'meta-openbmc-machines')
4 files changed, 125 insertions, 0 deletions
diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash.bb b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash.bb new file mode 100644 index 0000000000..6c2b0b6d75 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash.bb @@ -0,0 +1,23 @@ +SUMMARY = "pflash programmer for OpenPower" +DESCRIPTION = "pflash firmware programming tool for OpenPower machines" +HOMEPAGE = "https://github.com/open-power" +LICENSE = "Apache-2.0" + +SRC_URI += "git://github.com/open-power/skiboot.git" +LIC_FILES_CHKSUM = "file://${S}/LICENCE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "skiboot-5.2.0" +PV = "5.2.0" +SRC_URI += "file://0001-pflash-Allow-building-under-yocto.patch" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} PFLASH_VERSION=${PV} V=1' + +do_compile () { + oe_runmake -C external/pflash all +} + +do_install () { + oe_runmake -C external/pflash install DESTDIR=${D} +} diff --git a/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash/0001-pflash-Allow-building-under-yocto.patch b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash/0001-pflash-Allow-building-under-yocto.patch new file mode 100644 index 0000000000..60d6a7b2e9 --- /dev/null +++ b/meta-openbmc-machines/meta-openpower/common/recipes-bsp/pflash/pflash/0001-pflash-Allow-building-under-yocto.patch @@ -0,0 +1,98 @@ +From bb362203a7cc7012ba723d8828491756f9bb4ecb Mon Sep 17 00:00:00 2001 +From: Patrick Williams <patrick@stwcx.xyz> +Date: Thu, 14 Apr 2016 10:46:22 -0500 +Subject: [PATCH] pflash: Allow building under yocto. + +The makefiles under external/* utilize the $(CROSS_COMPILE) variable +to determine the cross-compiler prefix. In a few places, +$(CROSS_COMPILE)gcc is called instead of $(CC). The issue with this is +that yocto build passes some compile flags as part of $(CC) instead of +$(CFLAGS), the most important of these is '--sysroot=...'. Without the +proper --sysroot flag, pflash compile fails to find critical libc +headers like stdio.h. + +This change delegates setting of $(CC) and $(LD) to +external/common/rules.mk, which is widely used in the external tree, and +ensures that: + 1) $(CC) is used instead of $(CROSS_COMPILE)gcc. + 2) CC is only set when not passed from the environment. + +Signed-off-by: Patrick Williams <patrick@stwcx.xyz> +--- + external/common/rules.mk | 6 ++++-- + external/gard/rules.mk | 2 -- + external/opal-prd/Makefile | 2 -- + external/pflash/rules.mk | 2 -- + external/shared/Makefile | 1 - + 5 files changed, 4 insertions(+), 9 deletions(-) + +diff --git a/external/common/rules.mk b/external/common/rules.mk +index ec20593..95a2757 100644 +--- a/external/common/rules.mk ++++ b/external/common/rules.mk +@@ -1,3 +1,5 @@ ++CC ?= $(CROSS_COMPILE)gcc ++LD ?= $(CROSS_COMPILE)ld + ARCH := $(shell $(GET_ARCH) "$(CROSS_COMPILE)") + + ifeq ($(ARCH),ARCH_ARM) +@@ -42,8 +44,8 @@ arch_clean: + $(ARCH_SRC): | common + + $(ARCH_OBJS): common-%.o: common/%.c +- $(Q_CC)$(CROSS_COMPILE)gcc $(CFLAGS) $(CPPFLAGS) -c $< -o $@ ++ $(Q_CC)$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ + + common-arch_flash.o: $(ARCH_OBJS) +- $(Q_LD)$(CROSS_COMPILE)ld -r $(ARCH_OBJS) -o $@ ++ $(Q_LD)$(LD) -r $(ARCH_OBJS) -o $@ + +diff --git a/external/gard/rules.mk b/external/gard/rules.mk +index f0086a2..0dd14ed 100644 +--- a/external/gard/rules.mk ++++ b/external/gard/rules.mk +@@ -7,8 +7,6 @@ OBJS += $(LIBFLASH_OBJS) + OBJS += common-arch_flash.o + EXE = gard + +-CC = $(CROSS_COMPILE)gcc +- + prefix = /usr/local/ + sbindir = $(prefix)/sbin + datadir = $(prefix)/share +diff --git a/external/opal-prd/Makefile b/external/opal-prd/Makefile +index 3f34371..ff5ba6b 100644 +--- a/external/opal-prd/Makefile ++++ b/external/opal-prd/Makefile +@@ -1,5 +1,3 @@ +-CC = $(CROSS_COMPILE)gcc +- + CFLAGS += -m64 -Werror -Wall -g2 -ggdb + LDFLAGS += -m64 + ASFLAGS = -m64 +diff --git a/external/pflash/rules.mk b/external/pflash/rules.mk +index 219e3d3..aa426b5 100644 +--- a/external/pflash/rules.mk ++++ b/external/pflash/rules.mk +@@ -9,8 +9,6 @@ OBJS += $(LIBFLASH_OBJS) + OBJS += common-arch_flash.o + EXE = pflash + +-CC = $(CROSS_COMPILE)gcc +- + PFLASH_VERSION ?= $(shell ../../make_version.sh $(EXE)) + + version.c: .version +diff --git a/external/shared/Makefile b/external/shared/Makefile +index ffc049f..4c31657 100644 +--- a/external/shared/Makefile ++++ b/external/shared/Makefile +@@ -1,5 +1,4 @@ + .DEFAULT_GOAL := all +-CC ?= $(CROSS_COMPILE)gcc + GET_ARCH = ../../external/common/get_arch.sh + include ../../external/common/rules.mk + +-- +2.6.3 + diff --git a/meta-openbmc-machines/meta-openpower/conf/layer.conf b/meta-openbmc-machines/meta-openpower/conf/layer.conf index a902796bd3..46c5a5dfb6 100644 --- a/meta-openbmc-machines/meta-openpower/conf/layer.conf +++ b/meta-openbmc-machines/meta-openpower/conf/layer.conf @@ -1,5 +1,8 @@ # We have a conf and classes directory, add to BBPATH BBPATH .= ":${LAYERDIR}" +BBFILES += "${LAYERDIR}/common/recipes-*/*/*.bb \ + ${LAYERDIR}/common/recipes-*/*/*.bbappend" + BBFILE_COLLECTIONS += "openpower" BBFILE_PATTERN_openpower = "" diff --git a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc index fe2b44a9ea..6660a56a4b 100644 --- a/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc +++ b/meta-openbmc-machines/meta-openpower/conf/machine/include/openpower.inc @@ -4,6 +4,7 @@ OBMC_MACHINE_FEATURES += "\ obmc-phosphor-sensor-mgmt \ obmc-phosphor-flash-mgmt \ obmc-phosphor-event-mgmt \ + openpower-pflash \ " VIRTUAL-RUNTIME_obmc-phosphor-fan-ctl = " \ |