Alexandru Gagniuc (alexandrux.gagniuc(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13331
-gerrit
commit 9aaa9354056cbc16bbbc3c4952991939f4221482
Author: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
Date: Fri Oct 30 18:05:57 2015 -0700
drivers/intel/fsp2.0: Add semantic patch for FspUpdVpd.h header
Previous FSP implementations in coreboot have included FspUpdVpd.h
directly, along with with efi headers. Instead of taking that
approach in FSP 2.0, we provide a semantic patch that, with minimal
modifications, makes FspUpdVpd.h easier to include in coreboot, and
eliminates reliance on external headers and definitions.
Change-Id: I0c2a6f7baf6fb50ae22b64e08e653cfe1aefdaf9
Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
---
.../intel/fsp2_0/header_util/fspupdvpd.spatch | 187 +++++++++++++++++++++
.../intel/fsp2_0/header_util/fspupdvpd_sanitize.sh | 33 ++++
2 files changed, 220 insertions(+)
diff --git a/src/drivers/intel/fsp2_0/header_util/fspupdvpd.spatch b/src/drivers/intel/fsp2_0/header_util/fspupdvpd.spatch
new file mode 100644
index 0000000..d6bc820
--- /dev/null
+++ b/src/drivers/intel/fsp2_0/header_util/fspupdvpd.spatch
@@ -0,0 +1,187 @@
+/*
+ * Semantic patch for fspupdvpd_sanitize.sh. Please call the script directly.
+ *
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015 Intel Corp.
+ * (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This semantic patch 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.
+ */
+
+@ kill_pragma_pack @
+@@
+- #pragma pack(...)
+
+/*
+ * Convert named typedef'd structs
+ * Example : typedef struct name {} name_t; -> struct name {};
+ */
+@ named_struct @
+identifier i;
+type t;
+@@
+typedef struct i { ... } t;
+
+/* Make typename usable as identifier */
+@ script:python named_struct_type @
+t << named_struct.t;
+i;
+@@
+coccinelle.i = t.rstrip('_t')
+
+
+@ convert_named_struct_decls @
+type named_struct.t;
+identifier named_struct_type.i;
+identifier g;
+@@
+- typedef struct g {
++ struct i {
+...
+}
+- t
+;
+
+/* Replace type with struct */
+@ named_typedef_to_struct @
+type named_struct.t;
+identifier named_struct_type.i;
+@@
+- t
++ struct i
+
+
+/*
+ * Convert unnamed typedef'd structs
+ * Example : typedef struct {} name_t; -> struct name {};
+ */
+@ unnamed_struct @
+type t;
+@@
+typedef struct { ... } t;
+
+/* Make typename usable as identifier */
+@ script:python unnamed_struct_type @
+t << unnamed_struct.t;
+i;
+@@
+coccinelle.i = t.rstrip('_t')
+
+@ convert_unnamed_struct_decls @
+type unnamed_struct.t;
+identifier unnamed_struct_type.i;
+@@
+-typedef struct {
++struct i {
+ ...
+}
+- t
+;
+
+/*
+ * Convert unnamed typedef'd enums
+ */
+@ unnamed_enum @
+type t;
+@@
+typedef enum { ... } t;
+
+/* Make typename usable as identifier */
+@ script:python unnamed_enum_type @
+t << unnamed_enum.t;
+i;
+@@
+coccinelle.i = t.rstrip('_t')
+
+@ convert_unnamed_enum_decls @
+type unnamed_enum.t;
+identifier unnamed_enum_type.i;
+@@
+-typedef enum {
++enum i {
+ ...
+}
+- t
+;
+
+/* Replace type with struct */
+@ unnamed_typedef_to_struct @
+type unnamed_struct.t;
+identifier unnamed_struct_type.i;
+@@
+-t
++struct i
+
+/*
+ * Pack _ALL_ structs
+ */
+@ pack_structs @
+identifier s;
+@@
+
+struct s {
+...
+}
++ __attribute__((packed))
+;
+
+/*
+ * BIGINT to stdint
+ */
+@ uint8_t @
+typedef UINT8;
+typedef uint8_t;
+@@
+- UINT8
++ uint8_t
+
+@ uint16_t @
+typedef UINT16;
+typedef uint16_t;
+@@
+- UINT16
++ uint16_t
+
+@ uint32_t @
+typedef UINT32;
+typedef uint32_t;
+@@
+- UINT32
++ uint32_t
+
+@ uint64_t @
+typedef UINT64;
+typedef uint64_t;
+@@
+- UINT64
++ uint64_t
+
+@ bool @
+typedef BOOLEAN;
+typedef bool;
+@@
+- BOOLEAN
++ bool
+
+@ wchar_t @
+typedef CHAR16;
+typedef wchar_t;
+@@
+- CHAR16
++ wchar_t
+
+/* This rule can't be named "void" */
+@ replace_uppercase_void @
+typedef VOID;
+@@
+- VOID
++ void
diff --git a/src/drivers/intel/fsp2_0/header_util/fspupdvpd_sanitize.sh b/src/drivers/intel/fsp2_0/header_util/fspupdvpd_sanitize.sh
new file mode 100644
index 0000000..2b50053
--- /dev/null
+++ b/src/drivers/intel/fsp2_0/header_util/fspupdvpd_sanitize.sh
@@ -0,0 +1,33 @@
+#
+# Convert the FspUpdVpd.h header file into a format usable by coreboot
+# Usage:
+# fspupdvpd_sanitize.sh <path/to/FspUpdVpd.h>
+#
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2015-2016 Intel Corp.
+# (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
+#
+# 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; either version 2 of the License, or
+# (at your option) any later version.
+#
+# 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.
+
+PWD=$(dirname "${BASH_SOURCE[0]}")
+
+SPATCH=spatch
+
+# Fix line terminations
+dos2unix $1
+
+# Clean up trailing whitespace
+sed -e "s, $,,g" -i $1
+
+# Now fix the actual coding style
+$SPATCH -sp_file ${PWD}/fspupdvpd.spatch \
+ -in_place $1
Alexandru Gagniuc (alexandrux.gagniuc(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13331
-gerrit
commit 03e81abbdcafcc7990bc13e5ea4ada814fe4c79a
Author: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
Date: Fri Oct 30 18:05:57 2015 -0700
drivers/intel/fsp2.0: Add semantic patch for FspUpdVpd.h header
Previous FSP implementations in coreboot have included FspUpdVpd.h
directly, along with with efi headers. Instead of taking that
approach in FSP 2.0, we provide a semantic patch that, with minimal
modifications, makes FspUpdVpd.h easier to include in coreboot, and
eliminates reliance on external headers and definitions.
Change-Id: I0c2a6f7baf6fb50ae22b64e08e653cfe1aefdaf9
Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
---
.../intel/fsp2_0/header_util/fspupdvpd.spatch | 187 +++++++++++++++++++++
.../intel/fsp2_0/header_util/fspupdvpd_sanitize.sh | 34 ++++
2 files changed, 221 insertions(+)
diff --git a/src/drivers/intel/fsp2_0/header_util/fspupdvpd.spatch b/src/drivers/intel/fsp2_0/header_util/fspupdvpd.spatch
new file mode 100644
index 0000000..d6bc820
--- /dev/null
+++ b/src/drivers/intel/fsp2_0/header_util/fspupdvpd.spatch
@@ -0,0 +1,187 @@
+/*
+ * Semantic patch for fspupdvpd_sanitize.sh. Please call the script directly.
+ *
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2015 Intel Corp.
+ * (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This semantic patch 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.
+ */
+
+@ kill_pragma_pack @
+@@
+- #pragma pack(...)
+
+/*
+ * Convert named typedef'd structs
+ * Example : typedef struct name {} name_t; -> struct name {};
+ */
+@ named_struct @
+identifier i;
+type t;
+@@
+typedef struct i { ... } t;
+
+/* Make typename usable as identifier */
+@ script:python named_struct_type @
+t << named_struct.t;
+i;
+@@
+coccinelle.i = t.rstrip('_t')
+
+
+@ convert_named_struct_decls @
+type named_struct.t;
+identifier named_struct_type.i;
+identifier g;
+@@
+- typedef struct g {
++ struct i {
+...
+}
+- t
+;
+
+/* Replace type with struct */
+@ named_typedef_to_struct @
+type named_struct.t;
+identifier named_struct_type.i;
+@@
+- t
++ struct i
+
+
+/*
+ * Convert unnamed typedef'd structs
+ * Example : typedef struct {} name_t; -> struct name {};
+ */
+@ unnamed_struct @
+type t;
+@@
+typedef struct { ... } t;
+
+/* Make typename usable as identifier */
+@ script:python unnamed_struct_type @
+t << unnamed_struct.t;
+i;
+@@
+coccinelle.i = t.rstrip('_t')
+
+@ convert_unnamed_struct_decls @
+type unnamed_struct.t;
+identifier unnamed_struct_type.i;
+@@
+-typedef struct {
++struct i {
+ ...
+}
+- t
+;
+
+/*
+ * Convert unnamed typedef'd enums
+ */
+@ unnamed_enum @
+type t;
+@@
+typedef enum { ... } t;
+
+/* Make typename usable as identifier */
+@ script:python unnamed_enum_type @
+t << unnamed_enum.t;
+i;
+@@
+coccinelle.i = t.rstrip('_t')
+
+@ convert_unnamed_enum_decls @
+type unnamed_enum.t;
+identifier unnamed_enum_type.i;
+@@
+-typedef enum {
++enum i {
+ ...
+}
+- t
+;
+
+/* Replace type with struct */
+@ unnamed_typedef_to_struct @
+type unnamed_struct.t;
+identifier unnamed_struct_type.i;
+@@
+-t
++struct i
+
+/*
+ * Pack _ALL_ structs
+ */
+@ pack_structs @
+identifier s;
+@@
+
+struct s {
+...
+}
++ __attribute__((packed))
+;
+
+/*
+ * BIGINT to stdint
+ */
+@ uint8_t @
+typedef UINT8;
+typedef uint8_t;
+@@
+- UINT8
++ uint8_t
+
+@ uint16_t @
+typedef UINT16;
+typedef uint16_t;
+@@
+- UINT16
++ uint16_t
+
+@ uint32_t @
+typedef UINT32;
+typedef uint32_t;
+@@
+- UINT32
++ uint32_t
+
+@ uint64_t @
+typedef UINT64;
+typedef uint64_t;
+@@
+- UINT64
++ uint64_t
+
+@ bool @
+typedef BOOLEAN;
+typedef bool;
+@@
+- BOOLEAN
++ bool
+
+@ wchar_t @
+typedef CHAR16;
+typedef wchar_t;
+@@
+- CHAR16
++ wchar_t
+
+/* This rule can't be named "void" */
+@ replace_uppercase_void @
+typedef VOID;
+@@
+- VOID
++ void
diff --git a/src/drivers/intel/fsp2_0/header_util/fspupdvpd_sanitize.sh b/src/drivers/intel/fsp2_0/header_util/fspupdvpd_sanitize.sh
new file mode 100644
index 0000000..8563279
--- /dev/null
+++ b/src/drivers/intel/fsp2_0/header_util/fspupdvpd_sanitize.sh
@@ -0,0 +1,34 @@
+#
+# Convert the FspUpdVpd.h header file into a format usable by coreboot
+# Usage:
+# fspupdvpd_sanitize.sh <path/to/FspUpdVpd.h>
+#
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2015-2016 Intel Corp.
+# (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
+#
+# 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; either version 2 of the License, or
+# (at your option) any later version.
+#
+# 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.
+
+HOME=$(dirname "${BASH_SOURCE[0]}")
+DEST=$HOME
+
+SPATCH=spatch
+
+# Fix line terminations
+dos2unix $1
+
+# Clean up trailing whitespace
+sed -e "s, $,,g" -i $1
+
+# Now fix the actual coding style
+$SPATCH -sp_file $HOME/fspupdvpd.spatch \
+ -in_place $1
Alexandru Gagniuc (alexandrux.gagniuc(a)intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14953
-gerrit
commit 5ea5b3d2f02714c033161ae29547e44a3cc1c4b5
Author: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
Date: Mon May 23 14:04:58 2016 -0700
soc/apollolake/memmap: Switch to SIMPLE_DEVICE API
memmap.c functionality is designed to be used in more than ramstage.
Therefore, it cannot use ramstage-specific APIs. In this case, the
SIMPLE_DEVICE API offers a more consistent behavior across stages.
Change-Id: Ic381fe1eb773fb0a5fb5887eb67d2228d2f0817d
Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com>
---
src/soc/intel/apollolake/memmap.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/soc/intel/apollolake/memmap.c b/src/soc/intel/apollolake/memmap.c
index bf172cb..ae1394f 100644
--- a/src/soc/intel/apollolake/memmap.c
+++ b/src/soc/intel/apollolake/memmap.c
@@ -15,6 +15,14 @@
* GNU General Public License for more details.
*/
+/*
+ * The device_t returned by dev_find_slot() is different than the device_t
+ * passed to pci_write_config32(). If one needs to get access to the config.h
+ * of a device and perform i/o things are incorrect. One is a pointer while
+ * the other is a 32-bit integer.
+ */
+#define __SIMPLE_DEVICE__
+
#include <arch/io.h>
#include <cbmem.h>
#include <device/pci.h>
Antonello Dettori (dev(a)dettori.io) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14952
-gerrit
commit 2e8584cffec4e0970edd08d39b759a73dbe996c0
Author: Antonello Dettori <dettori.an(a)gmail.com>
Date: Mon May 23 22:40:58 2016 +0200
filo: Specify libpayload path
Fix to make filo build when selected as a payload from menuconfig.
The "make *conf" commands were pointing the correct path of libpayload
but "make" wasn't, resulting in a build error.
Change-Id: Ia7592667b1719836d1509e5cbc01d23266fca9fd
Signed-off-by: Antonello Dettori <dettori.an(a)gmail.com>
---
payloads/external/FILO/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/payloads/external/FILO/Makefile b/payloads/external/FILO/Makefile
index 13d3e8f..1a03f81 100644
--- a/payloads/external/FILO/Makefile
+++ b/payloads/external/FILO/Makefile
@@ -33,11 +33,11 @@ config: libpayload
#echo "CONFIG_VGAHOOKS=y" >> filo/.config
# This shows how to force a previously set .config option *off*
#echo "# CONFIG_SMBIOS is not set" >> filo/.config
- $(MAKE) -C filo oldconfig LIBCONFIG_PATH=../../../libpayload
+ #$(MAKE) -C filo oldconfig LIBCONFIG_PATH=../../../libpayload
filo: config
echo " MAKE FILO $(NAME-y)"
- $(MAKE) -C filo
+ $(MAKE) -C filo LIBCONFIG_PATH=../../../libpayload
libpayload: checkout
cd ../../libpayload && $(MAKE) defconfig && \