the following patch was just integrated into master:
commit 81f90c58d2eacf8ee2baf2334fd38bbfa0ef7274
Author: Isaac Christensen <isaac.christensen(a)se-eng.com>
Date: Wed Sep 24 14:59:32 2014 -0600
x86/mtrr: Enable MTRR's before enabling caching
Fix up the following commit by enabling the MTRR's before enabling caching.
7756fe7 x86: Minimize work done with the caches disabled in mtrr functions.
Also fix two typos in comments.
Change-Id: If751b815f9dab781fc38c898cf692f0940c57695
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
Reviewed-on: http://review.coreboot.org/6969
Reviewed-by: Aaron Durbin <adurbin(a)google.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Tested-by: build bot (Jenkins)
See http://review.coreboot.org/6969 for details.
-gerrit
the following patch was just integrated into master:
commit d2f3aa91e0096b087214ee5fc368fa0091d6c52c
Author: Ronald G. Minnich <rminnich(a)google.com>
Date: Mon Dec 30 09:09:31 2013 -0800
Peppy/Falco: always use native graphics
The products having shipped, and living in their own branch,
we might as well enable native graphics since:
1. it works
2. it removes a blob and the only good blob is a dead blob
3. it's faster
4. when we have problems, we can diagnose them more easily
5. when we get to newer kernels the boot time will magically get faster
as the driver realizes graphics is running. Where else do you get a 3-4 second
speedup for free?
Change-Id: Iad937320e7f46b1de7ab00dace04115a7f182ed1
Signed-off-by: Ronald G. Minnich <rminnich(a)google.com>
Reviewed-on: https://chromium-review.googlesource.com/181225
Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
Commit-Queue: Ronald Minnich <rminnich(a)chromium.org>
Tested-by: Ronald Minnich <rminnich(a)chromium.org>
(cherry picked from commit 7b567d87a9fcf6736e90e730bd052e4465d57bdf)
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
Reviewed-on: http://review.coreboot.org/6912
Reviewed-by: Ronald G. Minnich <rminnich(a)gmail.com>
Tested-by: build bot (Jenkins)
See http://review.coreboot.org/6912 for details.
-gerrit
Isaac Christensen (isaac.christensen(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6976
-gerrit
commit 64f78cc164f98c70b1f015491858e2cc8f654e88
Author: Vadim Bendebury <vbendeb(a)chromium.org>
Date: Mon Apr 7 13:36:48 2014 -0700
A tool for IPQ8064 encapsulation
This is a copy of the tool provided by the vendor. It adds a
header which tells the early stage loader where to load the next phase
blob for execution. It is going to be used to encapsulate the
bootblock.
Usage of this tool is as follows:
ipqheader.py <base-addr> <input-file> <output-file>
Old-Change-Id: I448c006719f4f3dd5a6716ff2e47f7fc275c805e
Signed-off-by: Vadim Bendebury <vbendeb(a)chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/193494
Reviewed-by: Furquan Shaikh <furquan(a)chromium.org>
Reviewed-by: Stefan Reinauer <reinauer(a)chromium.org>
(cherry picked from commit 201630f8637eb627f0894ecd7bceb31017244ad4)
Make ipqheader.py executable
Modify the utility to become a Linux executable. While at it, fix the
program name reported by error messages.
Old-Change-Id: I25061d43fdea72655a696deb9e494e9c7382f670
Signed-off-by: Vadim Bendebury <vbendeb(a)chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/193495
Reviewed-by: Furquan Shaikh <furquan(a)chromium.org>
Reviewed-by: Stefan Reinauer <reinauer(a)chromium.org>
(cherry picked from commit bbbf69c754aa3b6a1bf17ab3ced1c739c3ee0688)
ipq8064: SBL headers must have 4 byte aligned blob sizes
It turns out that for SBL3 to load the next phase, the sizes in the
MBN header must be 4 byres aligned. This change makes sure that this
requirement is enforced.
Old-Change-Id: Ia64f04bb281ae772b060d2f7713c98dd348972ba
Signed-off-by: Vadim Bendebury <vbendeb(a)chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/196167
(cherry picked from commit fa6a52a07cb87ecf2538a6b0d47605d79104e4cc)
Squashed 3 commits for the ipqheader util.
Change-Id: I144c01947a89e1348a06aa82590e972e2ec31247
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
---
util/ipqheader/ipqheader.py | 104 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 104 insertions(+)
diff --git a/util/ipqheader/ipqheader.py b/util/ipqheader/ipqheader.py
new file mode 100755
index 0000000..b6f3c43
--- /dev/null
+++ b/util/ipqheader/ipqheader.py
@@ -0,0 +1,104 @@
+#!/usr/bin/python
+#
+# Copyright (c) 2013 The Linux Foundation. All rights reserved.
+#
+
+import os
+import struct
+import sys
+
+PROG_NAME = os.path.basename(sys.argv[0])
+
+def create_header(base, size):
+ """Returns a packed MBN header image with the specified base and size.
+
+ @arg base: integer, specifies the image load address in RAM
+ @arg size: integer, specifies the size of the image
+ @returns: string, the MBN header
+ """
+
+ # SBLs require size to be 4 bytes aligned.
+ size = (size + 3) & 0xfffffffc
+
+ # We currently do not support appending certificates. Signing GPL
+ # code might violate the GPL. So U-Boot will never be signed. So
+ # this is not required for U-Boot.
+
+ header = [
+ 0x5, # Type: APPSBL
+ 0x3, # Version: 3
+ 0x0, # Image source pointer
+ base, # Image destination pointer
+ size, # Code Size + Cert Size + Signature Size
+ size, # Code Size
+ base + size, # Destination + Code Size
+ 0x0, # Signature Size
+ base + size, # Destination + Code Size + Signature Size
+ 0x0, # Cert Size
+ ]
+
+ header_packed = struct.pack('<10I', *header)
+ return header_packed
+
+def mkheader(base_addr, infname, outfname):
+ """Prepends the image with the MBN header.
+
+ @arg base_addr: integer, specifies the image load address in RAM
+ @arg infname: string, image filename
+ @arg outfname: string, output image with header prepended
+ @raises IOError: if reading/writing input/output file fails
+ """
+ with open(infname, "rb") as infp:
+ image = infp.read()
+ insize = len(image)
+
+ if base_addr > 0xFFFFFFFF:
+ raise ValueError("invalid base address")
+
+ if base_addr + insize > 0xFFFFFFFF:
+ raise ValueError("invalid destination range")
+
+ header = create_header(base_addr, insize)
+ with open(outfname, "wb") as outfp:
+ outfp.write(header)
+ outfp.write(image)
+
+def usage(msg=None):
+ """Print command usage.
+
+ @arg msg: string, error message if any (default: None)
+ """
+ if msg != None:
+ sys.stderr.write("%s: %s\n" % (PROG_NAME, msg))
+
+ print "Usage: %s <base-addr> <input-file> <output-file>" % PROG_NAME
+
+ if msg != None:
+ exit(1)
+
+def main():
+ """Main entry function"""
+
+ if len(sys.argv) != 4:
+ usage("incorrect number of arguments")
+
+ try:
+ base_addr = int(sys.argv[1], 0)
+ infname = sys.argv[2]
+ outfname = sys.argv[3]
+ except ValueError as e:
+ sys.stderr.write("mkheader: invalid base address '%s'\n" % sys.argv[1])
+ exit(1)
+
+ try:
+ mkheader(base_addr, infname, outfname)
+ except IOError as e:
+ sys.stderr.write("%s: %s\n" % (PROG_NAME, e))
+ exit(1)
+ except ValueError as e:
+ sys.stderr.write("%s: %s\n" % (PROG_NAME, e))
+ exit(1)
+
+if __name__ == "__main__":
+ main()
+
the following patch was just integrated into master:
commit dbd006b0820098ab1bc042a16853db7131cf91af
Author: Gabe Black <gabeblack(a)google.com>
Date: Thu Feb 20 23:38:49 2014 -0800
cbfstool: Propogate compression errors back to the caller.
When compression fails for whatever reason, the caller should know about it
rather than blindly assuming it worked correctly. That can prevent half
compressed data from ending up in the image.
This is currently happening for a segment of depthcharge which is triggering
a failure in LZMA. The size of the "compressed" data is never set and is
recorded as zero, and that segment effectively isn't loaded during boot.
Change-Id: Idbff01f5413d030bbf5382712780bbd0b9e83bc7
Signed-off-by: Gabe Black <gabeblack(a)google.com>
Reviewed-on: https://chromium-review.googlesource.com/187364
Reviewed-by: Hung-Te Lin <hungte(a)chromium.org>
Tested-by: Gabe Black <gabeblack(a)chromium.org>
Commit-Queue: Gabe Black <gabeblack(a)chromium.org>
(cherry picked from commit be48f3e41eaf0eaf6686c61c439095fc56883cec)
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
Reviewed-on: http://review.coreboot.org/6960
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich(a)gmail.com>
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
See http://review.coreboot.org/6960 for details.
-gerrit
Isaac Christensen (isaac.christensen(a)se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/6975
-gerrit
commit d94cfa431bf866ce638be80b7bd088bee238b630
Author: Furquan Shaikh <furquan(a)google.com>
Date: Wed Mar 19 14:31:23 2014 -0700
storm: Add generic support skeleton for storm
Skeleton for storm mainboard
Signed-off-by: Furquan Shaikh <furquan(a)google.com>
Reviewed-on: https://chromium-review.googlesource.com/190724
Reviewed-by: Vadim Bendebury <vbendeb(a)chromium.org>
Commit-Queue: Furquan Shaikh <furquan(a)chromium.org>
Tested-by: Furquan Shaikh <furquan(a)chromium.org>
(cherry picked from commit ba371d410768fae169da929a23c40139d26a55d3)
Removed 'select ARCH_ARM' and added 'select BOARD_ROMSIZE_KB_1024' to
the Kconfig.
Change-Id: I55c0ad6a47515ba4124b99a69d5776db2365f06e
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
---
src/mainboard/google/Kconfig | 3 +++
src/mainboard/google/storm/Kconfig | 39 ++++++++++++++++++++++++++++++++
src/mainboard/google/storm/Makefile.inc | 22 ++++++++++++++++++
src/mainboard/google/storm/devicetree.cb | 22 ++++++++++++++++++
src/mainboard/google/storm/mainboard.c | 35 ++++++++++++++++++++++++++++
src/mainboard/google/storm/romstage.c | 30 ++++++++++++++++++++++++
6 files changed, 151 insertions(+)
diff --git a/src/mainboard/google/Kconfig b/src/mainboard/google/Kconfig
index 95420fc..de1d4c7 100644
--- a/src/mainboard/google/Kconfig
+++ b/src/mainboard/google/Kconfig
@@ -49,6 +49,8 @@ config BOARD_GOOGLE_SAMUS
bool "Samus"
config BOARD_GOOGLE_SLIPPY
bool "Slippy"
+config BOARD_GOOGLE_STORM
+ bool "Storm"
config BOARD_GOOGLE_STOUT
bool "Stout"
@@ -68,6 +70,7 @@ source "src/mainboard/google/peppy/Kconfig"
source "src/mainboard/google/rambi/Kconfig"
source "src/mainboard/google/samus/Kconfig"
source "src/mainboard/google/slippy/Kconfig"
+source "src/mainboard/google/storm/Kconfig"
source "src/mainboard/google/stout/Kconfig"
config MAINBOARD_VENDOR
diff --git a/src/mainboard/google/storm/Kconfig b/src/mainboard/google/storm/Kconfig
new file mode 100644
index 0000000..809f4f0
--- /dev/null
+++ b/src/mainboard/google/storm/Kconfig
@@ -0,0 +1,39 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright 2014 Google Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+##
+
+if BOARD_GOOGLE_STORM
+
+config BOARD_SPECIFIC_OPTIONS # dummy
+ def_bool y
+ select SOC_QC_IPQ806X
+ select BOARD_ROMSIZE_KB_1024
+
+config MAINBOARD_DIR
+ string
+ default google/storm
+
+config MAINBOARD_PART_NUMBER
+ string
+ default "Storm"
+
+config DRAM_SIZE_MB
+ int
+ default 2048
+
+endif # BOARD_GOOGLE_STORM
diff --git a/src/mainboard/google/storm/Makefile.inc b/src/mainboard/google/storm/Makefile.inc
new file mode 100644
index 0000000..e0f5501
--- /dev/null
+++ b/src/mainboard/google/storm/Makefile.inc
@@ -0,0 +1,22 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright 2014 Google Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+##
+
+romstage-y += romstage.c
+
+ramstage-y += mainboard.c
diff --git a/src/mainboard/google/storm/devicetree.cb b/src/mainboard/google/storm/devicetree.cb
new file mode 100644
index 0000000..40ba9c8
--- /dev/null
+++ b/src/mainboard/google/storm/devicetree.cb
@@ -0,0 +1,22 @@
+##
+## This file is part of the coreboot project.
+##
+## Copyright 2014 Google Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+##
+
+chip soc/qualcomm/ipq806x
+ device cpu_cluster 0 on end
+end
diff --git a/src/mainboard/google/storm/mainboard.c b/src/mainboard/google/storm/mainboard.c
new file mode 100644
index 0000000..0b0182f
--- /dev/null
+++ b/src/mainboard/google/storm/mainboard.c
@@ -0,0 +1,35 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <device/device.h>
+#include <boot/coreboot_tables.h>
+
+static void mainboard_init(device_t dev)
+{
+}
+
+static void mainboard_enable(device_t dev)
+{
+ dev->ops->init = &mainboard_init;
+}
+
+struct chip_operations mainboard_ops = {
+ .name = "storm",
+ .enable_dev = mainboard_enable,
+};
diff --git a/src/mainboard/google/storm/romstage.c b/src/mainboard/google/storm/romstage.c
new file mode 100644
index 0000000..cf78e44
--- /dev/null
+++ b/src/mainboard/google/storm/romstage.c
@@ -0,0 +1,30 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2014 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <arch/stages.h>
+#include <cbfs.h>
+#include <console/console.h>
+
+void main(void)
+{
+ void *entry;
+
+ entry = cbfs_load_stage(CBFS_DEFAULT_MEDIA, "fallback/coreboot_ram");
+ stage_exit(entry);
+}
the following patch was just integrated into master:
commit 49c98dc42b706897e802af12d16349ff65a9bd43
Author: Gabe Black <gabeblack(a)google.com>
Date: Wed Jan 22 21:06:32 2014 -0800
snow: Rename snow to daisy.
The name snow goes by in many places in chromeos is daisy. Snow is technically
a variant of daisy and should really be called daisy_snow, but for historical
reasons the daisy board with no variant was used instead. To make it easier to
work with within chromeos, this change renames the snow board to daisy.
Change-Id: I569b31bf417db55be91832f15271bea4bc30f163
Signed-off-by: Gabe Black <gabeblack(a)google.com>
Reviewed-on: https://chromium-review.googlesource.com/183553
Reviewed-by: David Hendricks <dhendrix(a)chromium.org>
Commit-Queue: Gabe Black <gabeblack(a)chromium.org>
Tested-by: Gabe Black <gabeblack(a)chromium.org>
(cherry picked from commit 13f24d967251c18dce2a00bcea915f448c4c6aa7)
Signed-off-by: Isaac Christensen <isaac.christensen(a)se-eng.com>
Reviewed-on: http://review.coreboot.org/6929
Tested-by: build bot (Jenkins)
See http://review.coreboot.org/6929 for details.
-gerrit