Martin Roth (martinroth(a)google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16883
-gerrit
commit 6b430b0847a49eb91fe87ab278f2624cf432ef1e
Author: Martin Roth <martinroth(a)google.com>
Date: Tue Oct 4 16:45:17 2016 -0600
Update build-release script
- Add more help text.
- Remove braces from variables where the variable is isolated.
- Remove --recurse-submodules from clone. This breaks on old coreboot
versions.
- Add some whitespace between blocks.
- Fix all shellcheck warnings.
- Verify tar version and fail if it doesn't support --sort.
Change-Id: I4a49df99532d9a92a4a05bceff16f96a4fc3e205
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
util/release/build-release | 56 ++++++++++++++++++++++++++++++----------------
1 file changed, 37 insertions(+), 19 deletions(-)
diff --git a/util/release/build-release b/util/release/build-release
index 11e7177..20fbfb6 100755
--- a/util/release/build-release
+++ b/util/release/build-release
@@ -3,10 +3,10 @@
# ${GPG_KEY_ID}: gpg key id (if not don't sign)
# ${USERNAME}: username (if not default to https)
# ${COMMIT_ID}: commit id (if not master)
-VERSION_NAME=${1}
-COMMIT_ID=${2}
-USERNAME=${3}
-GPG_KEY_ID=${4}
+VERSION_NAME=$1
+COMMIT_ID=$2
+USERNAME=$3
+GPG_KEY_ID=$4
set -e
@@ -16,32 +16,50 @@ LANG=C
TZ=UTC
export LC_ALL LANG TZ
-if [ -z "${VERSION_NAME}" ] || [ "${VERSION_NAME}" = "--help" ]; then
+if [ -z "$VERSION_NAME" ] || [ "$VERSION_NAME" = "--help" ]; then
echo "usage: $0 <version> [commit id] [gpg key id] [username]"
- echo "tags a new coreboot version and creates a tar archive"
+ echo "Tags a new coreboot version and creates a tar archive"
+ echo
+ echo "version: New version name to tag the tree with"
+ echo "commit id: check out this commit-id after cloning the coreboot tree"
+ echo "gpg key id: used to tag the version, and generate a gpg signature"
+ echo "username: clone the tree using ssh://USERNAME - defaults to https://"
exit 1
fi
+
+# Verify that tar supports --sort
+if ! tar --sort=name -cf /dev/null /dev/null 2>/dev/null ; then
+ echo "Error: The installed version of tar does not support --sort"
+ echo " GNU tar version 1.28 or greater is required. Exiting."
+ exit 1
+fi
+
if [ -n "${USERNAME}" ]; then
- git clone --recurse-submodules ssh://${USERNAME}@review.coreboot.org:29418/coreboot.git coreboot-${VERSION_NAME}
+ git clone "ssh://${USERNAME}@review.coreboot.org:29418/coreboot.git" "coreboot-${VERSION_NAME}"
else
- git clone --recurse-submodules https://review.coreboot.org/coreboot.git coreboot-${VERSION_NAME}
+ git clone https://review.coreboot.org/coreboot.git "coreboot-${VERSION_NAME}"
fi
-cd coreboot-${VERSION_NAME}
-if [ -n "${COMMIT_ID}" ]; then
- git reset --hard ${COMMIT_ID}
+
+cd "coreboot-${VERSION_NAME}" || exit 1
+if [ -n "$COMMIT_ID" ]; then
+ git reset --hard "$COMMIT_ID"
fi
+
git submodule update --init --checkout
-if [ -n "${GPG_KEY_ID}" ]; then
- git tag -a -s -u ${GPG_KEY_ID} --force ${VERSION_NAME} -m "coreboot version ${VERSION_NAME}"
+if [ -n "$GPG_KEY_ID" ]; then
+ git tag -a -s -u "$GPG_KEY_ID" --force "$VERSION_NAME" -m "coreboot version $VERSION_NAME"
else
- git tag -a --force ${VERSION_NAME} -m "coreboot version ${VERSION_NAME}"
+ git tag -a --force "$VERSION_NAME" -m "coreboot version $VERSION_NAME"
fi
-printf "${VERSION_NAME}-$(git log --pretty=%H|head -1)\n" > .coreboot-version
+
+printf "%s-%s\n" "$VERSION_NAME" "$(git log --pretty=%H|head -1)" > .coreboot-version
tstamp=$(git log --pretty=format:%ci -1)
cd ..
-tar --sort=name --mtime="$tstamp" --owner=coreboot:1000 --group=coreboot:1000 --exclude-vcs --exclude=coreboot-${VERSION_NAME}/3rdparty/blobs -cvf - coreboot-${VERSION_NAME} |xz -9 > coreboot-${VERSION_NAME}.tar.xz
-tar --sort=name --mtime="$tstamp" --owner=coreboot:1000 --group=coreboot:1000 --exclude-vcs -cvf - coreboot-${VERSION_NAME}/3rdparty/blobs |xz -9 > coreboot-blobs-${VERSION_NAME}.tar.xz
+
+tar --sort=name --mtime="$tstamp" --owner=coreboot:1000 --group=coreboot:1000 --exclude-vcs --exclude="coreboot-${VERSION_NAME}/3rdparty/blobs" -cvf - "coreboot-${VERSION_NAME}" |xz -9 > "coreboot-${VERSION_NAME}.tar.xz"
+tar --sort=name --mtime="$tstamp" --owner=coreboot:1000 --group=coreboot:1000 --exclude-vcs -cvf - "coreboot-${VERSION_NAME}/3rdparty/blobs" |xz -9 > "coreboot-blobs-${VERSION_NAME}.tar.xz"
+
if [ -n "${GPG_KEY_ID}" ]; then
- gpg2 --armor --local-user ${GPG_KEY_ID} --output coreboot-${VERSION_NAME}.tar.xz.sig --detach-sig coreboot-${VERSION_NAME}.tar.xz
- gpg2 --armor --local-user ${GPG_KEY_ID} --output coreboot-blobs-${VERSION_NAME}.tar.xz.sig --detach-sig coreboot-blobs-${VERSION_NAME}.tar.xz
+ gpg2 --armor --local-user "$GPG_KEY_ID" --output "coreboot-${VERSION_NAME}.tar.xz.sig" --detach-sig "coreboot-${VERSION_NAME}.tar.xz"
+ gpg2 --armor --local-user "$GPG_KEY_ID" --output "coreboot-blobs-${VERSION_NAME}.tar.xz.sig" --detach-sig "coreboot-blobs-${VERSION_NAME}.tar.xz"
fi
York Yang (york.yang(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16894
-gerrit
commit 5b1999f33bb9321223f940f3b3a64245736f8bf5
Author: York Yang <york.yang(a)intel.com>
Date: Wed Oct 5 10:19:40 2016 -0700
soc/intel/fsp_broadwell_de: Fix system hang when timestamp is enabled
When timestamp is enabled, system hang in romstage because the timestamp data
area is not yet available. This data area will be set after return from
FspInit(), so move timestamp_init() to right after FspInit().
Verified on Intel Camelback Mountain CRB and ensured that system can boot to
payload with timpstamp feature enabled.
Change-Id: I59c4bb83ae7e166cceca34988d5a392e5a831afa
Signed-off-by: York Yang <york.yang(a)intel.com>
---
src/soc/intel/fsp_broadwell_de/romstage/romstage.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/soc/intel/fsp_broadwell_de/romstage/romstage.c b/src/soc/intel/fsp_broadwell_de/romstage/romstage.c
index 309a672..49bdedb 100644
--- a/src/soc/intel/fsp_broadwell_de/romstage/romstage.c
+++ b/src/soc/intel/fsp_broadwell_de/romstage/romstage.c
@@ -58,11 +58,8 @@ void *asmlinkage main(FSP_INFO_HEADER *fsp_info_header)
console_init();
init_rtc();
- post_code(0x41);
- timestamp_init(get_initial_timestamp());
- timestamp_add_now(TS_START_ROMSTAGE);
-
/* Call into mainboard. */
+ post_code(0x41);
early_mainboard_romstage_entry();
/*
@@ -71,7 +68,6 @@ void *asmlinkage main(FSP_INFO_HEADER *fsp_info_header)
* structure.
*/
post_code(0x48);
- timestamp_add_now(TS_BEFORE_INITRAM);
printk(BIOS_DEBUG, "Starting the Intel FSP (early_init)\n");
fsp_early_init(fsp_info_header);
die("Uh Oh! fsp_early_init should not return here.\n");
@@ -87,6 +83,7 @@ void romstage_main_continue(EFI_STATUS status, void *hob_list_ptr)
void *cbmem_hob_ptr;
post_code(0x4a);
+ timestamp_init(get_initial_timestamp());
timestamp_add_now(TS_AFTER_INITRAM);
printk(BIOS_DEBUG, "%s status: %x hob_list_ptr: %x\n",
__func__, (u32) status, (u32) hob_list_ptr);
York Yang (york.yang(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16892
-gerrit
commit 0245a5a7e3911e0fad0fcaae9a02ade61cb2a98f
Author: York Yang <york.yang(a)intel.com>
Date: Wed Oct 5 09:32:46 2016 -0700
soc/intel/fsp_broadwell_de: Remove the enforced fsp1.0 APIs call sequence
The enforced FSP 1.0 APIs call was used to workaround a fsp1.0 driver issue.
As the issue has been fixed in fsp1.0 driver, need to remove the enforced
workaround. Otherwise will see error message 'FSP API NotifyPhase failed' in
serial log.
Verified on Intel Camelback Mountain CRB and confirmed that the serial log error
message regarding the 'FSP API NotifyPhase failed' is gone.
Change-Id: Iafa1d22e2476769fd841a3ebaa1ab4f9713c6c39
Signed-off-by: York Yang <york.yang(a)intel.com>
---
src/soc/intel/fsp_broadwell_de/chip.c | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/src/soc/intel/fsp_broadwell_de/chip.c b/src/soc/intel/fsp_broadwell_de/chip.c
index 78649fc..b8db395 100644
--- a/src/soc/intel/fsp_broadwell_de/chip.c
+++ b/src/soc/intel/fsp_broadwell_de/chip.c
@@ -66,21 +66,9 @@ static void enable_dev(device_t dev)
}
}
-static void fsp_notify(void *arg)
-{
- FspNotify (*(uint32_t *)arg);
-}
-
-static uint32_t gFspNotifyAfterPciEnumeration = EnumInitPhaseAfterPciEnumeration;
-static uint32_t gFspNotifyReadtToBoot = EnumInitPhaseReadyToBoot;
-static BOOT_STATE_CALLBACK(bscb_fspnotify1, fsp_notify, &gFspNotifyAfterPciEnumeration);
-static BOOT_STATE_CALLBACK(bscb_fspnotify2, fsp_notify, &gFspNotifyReadtToBoot);
-
/* Called at BS_DEV_INIT_CHIPS time -- very early. Just after BS_PRE_DEVICE. */
static void soc_init(void *chip_info)
{
- boot_state_sched_on_exit(&bscb_fspnotify1, BS_DEV_RESOURCES);
- boot_state_sched_on_exit(&bscb_fspnotify2, BS_PAYLOAD_LOAD);
broadwell_de_init_pre_device();
}