Kyösti Mälkki (kyosti.malkki(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7469
-gerrit
commit c262598ea5e0e525b03ac05a7898f39b684cc150
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Mon Nov 10 15:08:47 2014 +0200
ARM: Always select DYNAMIC_CBMEM
TODO before merge: proper cbmem_top(), there is now just empty stub.
Change-Id: I6939559c720383978a3afec8b6da789f895c81d2
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
src/arch/arm/tables.c | 9 --------
src/arch/arm64/cbmem.c | 30 -------------------------
src/arch/arm64/tables.c | 17 --------------
src/cpu/allwinner/a10/Kconfig | 1 +
src/cpu/allwinner/a10/cbmem.c | 4 ----
src/cpu/ti/am335x/Kconfig | 1 +
src/cpu/ti/am335x/Makefile.inc | 2 ++
src/cpu/ti/am335x/cbmem.c | 24 ++++++++++++++++++++
src/mainboard/emulation/qemu-armv7/Kconfig | 1 +
src/mainboard/emulation/qemu-armv7/Makefile.inc | 3 +++
src/mainboard/emulation/qemu-armv7/cbmem.c | 24 ++++++++++++++++++++
src/soc/qualcomm/ipq806x/Kconfig | 1 +
src/soc/qualcomm/ipq806x/Makefile.inc | 2 ++
src/soc/qualcomm/ipq806x/cbmem.c | 24 ++++++++++++++++++++
14 files changed, 83 insertions(+), 60 deletions(-)
diff --git a/src/arch/arm/tables.c b/src/arch/arm/tables.c
index 20c5a9f..a2b7b9b 100644
--- a/src/arch/arm/tables.c
+++ b/src/arch/arm/tables.c
@@ -29,15 +29,6 @@
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
-#if !CONFIG_DYNAMIC_CBMEM
-void __attribute__((weak)) get_cbmem_table(uint64_t *base, uint64_t *size)
-{
- printk(BIOS_WARNING, "WARNING: you need to define get_cbmem_table for your board\n");
- *base = 0;
- *size = 0;
-}
-#endif
-
void cbmem_arch_init(void)
{
}
diff --git a/src/arch/arm64/cbmem.c b/src/arch/arm64/cbmem.c
deleted file mode 100644
index b33e9b8..0000000
--- a/src/arch/arm64/cbmem.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * 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 <cbmem.h>
-
-unsigned long get_top_of_ram(void);
-
-unsigned long get_top_of_ram(void)
-{
- return CONFIG_RAMTOP;
-}
-
-void *cbmem_top(void)
-{
- return (void *)get_top_of_ram();
-}
diff --git a/src/arch/arm64/tables.c b/src/arch/arm64/tables.c
index 49fab9f..ce7ad5a 100644
--- a/src/arch/arm64/tables.c
+++ b/src/arch/arm64/tables.c
@@ -29,15 +29,6 @@
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
-#if ! CONFIG_DYNAMIC_CBMEM
-/*
- * TODO: "High" tables are a convention used on x86. Maybe we can
- * clean up that naming at some point.
- */
-uint64_t high_tables_base = 0;
-uint64_t high_tables_size;
-#endif
-
void cbmem_arch_init(void)
{
}
@@ -46,14 +37,6 @@ struct lb_memory *write_tables(void)
{
unsigned long table_pointer, new_table_pointer;
-#if ! CONFIG_DYNAMIC_CBMEM
- if (!high_tables_base) {
- printk(BIOS_ERR, "ERROR: high_tables_base is not set.\n");
- }
-
- printk(BIOS_DEBUG, "high_tables_base: %llx.\n", high_tables_base);
-#endif
-
post_code(0x9d);
table_pointer = (unsigned long)cbmem_add(CBMEM_ID_CBTABLE,
diff --git a/src/cpu/allwinner/a10/Kconfig b/src/cpu/allwinner/a10/Kconfig
index 387964f..1fb8cb3 100644
--- a/src/cpu/allwinner/a10/Kconfig
+++ b/src/cpu/allwinner/a10/Kconfig
@@ -12,6 +12,7 @@ config CPU_SPECIFIC_OPTIONS
select HAVE_MONOTONIC_TIMER
select HAVE_UART_SPECIAL
select BOOTBLOCK_CONSOLE
+ select DYNAMIC_CBMEM
config BOOTBLOCK_CPU_INIT
string
diff --git a/src/cpu/allwinner/a10/cbmem.c b/src/cpu/allwinner/a10/cbmem.c
index 84dc2bf..e051f06 100644
--- a/src/cpu/allwinner/a10/cbmem.c
+++ b/src/cpu/allwinner/a10/cbmem.c
@@ -8,11 +8,7 @@
#include "ram_segs.h"
#include <cbmem.h>
-#if IS_ENABLED(CONFIG_DYNAMIC_CBMEM)
-
void *cbmem_top(void)
{
return a1x_get_cbmem_top();
}
-
-#endif
diff --git a/src/cpu/ti/am335x/Kconfig b/src/cpu/ti/am335x/Kconfig
index 1de871f..42c091c 100644
--- a/src/cpu/ti/am335x/Kconfig
+++ b/src/cpu/ti/am335x/Kconfig
@@ -5,6 +5,7 @@ config CPU_TI_AM335X
select HAVE_MONOTONIC_TIMER
select HAVE_UART_SPECIAL
select BOOTBLOCK_CONSOLE
+ select DYNAMIC_CBMEM
bool
default n
diff --git a/src/cpu/ti/am335x/Makefile.inc b/src/cpu/ti/am335x/Makefile.inc
index 032b1f4..3a1492a 100644
--- a/src/cpu/ti/am335x/Makefile.inc
+++ b/src/cpu/ti/am335x/Makefile.inc
@@ -3,11 +3,13 @@ bootblock-y += bootblock_media.c
bootblock-y += pinmux.c
romstage-y += nand.c
+romstage-y += cbmem.c
ramstage-y += dmtimer.c
ramstage-y += monotonic_timer.c
ramstage-y += nand.c
ramstage-y += timer.c
+ramstage-y += cbmem.c
ifeq ($(CONFIG_DRIVERS_UART),y)
bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += uart.c
diff --git a/src/cpu/ti/am335x/cbmem.c b/src/cpu/ti/am335x/cbmem.c
new file mode 100644
index 0000000..c104e9c
--- /dev/null
+++ b/src/cpu/ti/am335x/cbmem.c
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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 <stddef.h>
+#include <cbmem.h>
+
+void *cbmem_top(void)
+{
+ return NULL;
+}
diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig
index b275e88..7e24a20 100644
--- a/src/mainboard/emulation/qemu-armv7/Kconfig
+++ b/src/mainboard/emulation/qemu-armv7/Kconfig
@@ -32,6 +32,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select ARM_ROMSTAGE_ARMV7
select ARM_RAMSTAGE_ARMV7
select BOARD_ROMSIZE_KB_4096
+ select DYNAMIC_CBMEM
config MAINBOARD_DIR
string
diff --git a/src/mainboard/emulation/qemu-armv7/Makefile.inc b/src/mainboard/emulation/qemu-armv7/Makefile.inc
index e088da6..4119f93 100644
--- a/src/mainboard/emulation/qemu-armv7/Makefile.inc
+++ b/src/mainboard/emulation/qemu-armv7/Makefile.inc
@@ -14,6 +14,9 @@
romstage-y += romstage.c
+romstage-y += cbmem.c
+ramstage-y += cbmem.c
+
bootblock-y += media.c
romstage-y += media.c
ramstage-y += media.c
diff --git a/src/mainboard/emulation/qemu-armv7/cbmem.c b/src/mainboard/emulation/qemu-armv7/cbmem.c
new file mode 100644
index 0000000..c104e9c
--- /dev/null
+++ b/src/mainboard/emulation/qemu-armv7/cbmem.c
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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 <stddef.h>
+#include <cbmem.h>
+
+void *cbmem_top(void)
+{
+ return NULL;
+}
diff --git a/src/soc/qualcomm/ipq806x/Kconfig b/src/soc/qualcomm/ipq806x/Kconfig
index 03be33a..4866486 100644
--- a/src/soc/qualcomm/ipq806x/Kconfig
+++ b/src/soc/qualcomm/ipq806x/Kconfig
@@ -2,6 +2,7 @@ config SOC_QC_IPQ806X
select ARCH_BOOTBLOCK_ARMV4
select ARCH_ROMSTAGE_ARMV7
select ARCH_RAMSTAGE_ARMV7
+ select DYNAMIC_CBMEM
bool
default n
diff --git a/src/soc/qualcomm/ipq806x/Makefile.inc b/src/soc/qualcomm/ipq806x/Makefile.inc
index 9042511..0d820b7 100644
--- a/src/soc/qualcomm/ipq806x/Makefile.inc
+++ b/src/soc/qualcomm/ipq806x/Makefile.inc
@@ -2,9 +2,11 @@ bootblock-y += cbfs.c
bootblock-y += gpio.c
romstage-y += cbfs.c
+romstage-y += cbmem.c
romstage-y += gpio.c
ramstage-y += cbfs.c
+ramstage-y += cbmem.c
ramstage-y += gpio.c
ramstage-y += timer.c
diff --git a/src/soc/qualcomm/ipq806x/cbmem.c b/src/soc/qualcomm/ipq806x/cbmem.c
new file mode 100644
index 0000000..c104e9c
--- /dev/null
+++ b/src/soc/qualcomm/ipq806x/cbmem.c
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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 <stddef.h>
+#include <cbmem.h>
+
+void *cbmem_top(void)
+{
+ return NULL;
+}
the following patch was just integrated into master:
commit 24d875bddc5812b3b9041f557019fea14a71ebe7
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Sun Jun 15 14:28:23 2014 +0300
ACPI: Remove CBMEM TOC from GNVS
This existed for ChromeOS but was no longer used with DYNAMIC_CBMEM.
See commit a0b4a8d.
Change-Id: Iae82498ab729df5682d89e66bb9de96457e91619
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/7465
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Tested-by: build bot (Jenkins)
See http://review.coreboot.org/7465 for details.
-gerrit
the following patch was just integrated into master:
commit 58b532d586238abfa19d49f1c4e6d64908a4361c
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Fri Nov 28 02:53:32 2014 +1100
mainboard/lenovo/g505s/devicetree.cb: Fix duplicate typo
Change-Id: Ic2b8ca54b9a16c13439b3081969deec0b7187e01
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/7588
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/7588 for details.
-gerrit
the following patch was just integrated into master:
commit 41755901f0e108beed7a7d56d0810522477fc6d5
Author: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Date: Mon Nov 24 01:16:49 2014 +1100
Use AMD_F15_TN_A0 define in FTnLogicalIdTables.c
Change-Id: I6b20ded866fa0418bd24ce9eef3775557c2feec7
Signed-off-by: Edward O'Callaghan <eocallaghan(a)alterapraxis.com>
Reviewed-on: http://review.coreboot.org/7562
Tested-by: build bot (Jenkins)
Reviewed-by: Felix Held <felix-coreboot(a)felixheld.de>
Reviewed-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
See http://review.coreboot.org/7562 for details.
-gerrit
Kyösti Mälkki (kyosti.malkki(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7469
-gerrit
commit 77c0ac60998cad46c059ac1e4ef99c0a6ebed27b
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Mon Nov 10 15:08:47 2014 +0200
ARM: Always select DYNAMIC_CBMEM
TODO before merge: proper cbmem_top(), there is now just empty stub.
Change-Id: I6939559c720383978a3afec8b6da789f895c81d2
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
src/arch/arm/tables.c | 9 --------
src/arch/arm64/cbmem.c | 30 -------------------------
src/arch/arm64/tables.c | 17 --------------
src/cpu/allwinner/a10/Kconfig | 1 +
src/cpu/allwinner/a10/cbmem.c | 4 ----
src/cpu/ti/am335x/Kconfig | 1 +
src/cpu/ti/am335x/cbmem.c | 24 ++++++++++++++++++++
src/mainboard/emulation/qemu-armv7/Kconfig | 1 +
src/mainboard/emulation/qemu-armv7/Makefile.inc | 3 +++
src/mainboard/emulation/qemu-armv7/cbmem.c | 24 ++++++++++++++++++++
src/soc/qualcomm/ipq806x/Kconfig | 1 +
src/soc/qualcomm/ipq806x/cbmem.c | 24 ++++++++++++++++++++
12 files changed, 79 insertions(+), 60 deletions(-)
diff --git a/src/arch/arm/tables.c b/src/arch/arm/tables.c
index 20c5a9f..a2b7b9b 100644
--- a/src/arch/arm/tables.c
+++ b/src/arch/arm/tables.c
@@ -29,15 +29,6 @@
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
-#if !CONFIG_DYNAMIC_CBMEM
-void __attribute__((weak)) get_cbmem_table(uint64_t *base, uint64_t *size)
-{
- printk(BIOS_WARNING, "WARNING: you need to define get_cbmem_table for your board\n");
- *base = 0;
- *size = 0;
-}
-#endif
-
void cbmem_arch_init(void)
{
}
diff --git a/src/arch/arm64/cbmem.c b/src/arch/arm64/cbmem.c
deleted file mode 100644
index b33e9b8..0000000
--- a/src/arch/arm64/cbmem.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * 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 <cbmem.h>
-
-unsigned long get_top_of_ram(void);
-
-unsigned long get_top_of_ram(void)
-{
- return CONFIG_RAMTOP;
-}
-
-void *cbmem_top(void)
-{
- return (void *)get_top_of_ram();
-}
diff --git a/src/arch/arm64/tables.c b/src/arch/arm64/tables.c
index 49fab9f..ce7ad5a 100644
--- a/src/arch/arm64/tables.c
+++ b/src/arch/arm64/tables.c
@@ -29,15 +29,6 @@
#define MAX_COREBOOT_TABLE_SIZE (8 * 1024)
-#if ! CONFIG_DYNAMIC_CBMEM
-/*
- * TODO: "High" tables are a convention used on x86. Maybe we can
- * clean up that naming at some point.
- */
-uint64_t high_tables_base = 0;
-uint64_t high_tables_size;
-#endif
-
void cbmem_arch_init(void)
{
}
@@ -46,14 +37,6 @@ struct lb_memory *write_tables(void)
{
unsigned long table_pointer, new_table_pointer;
-#if ! CONFIG_DYNAMIC_CBMEM
- if (!high_tables_base) {
- printk(BIOS_ERR, "ERROR: high_tables_base is not set.\n");
- }
-
- printk(BIOS_DEBUG, "high_tables_base: %llx.\n", high_tables_base);
-#endif
-
post_code(0x9d);
table_pointer = (unsigned long)cbmem_add(CBMEM_ID_CBTABLE,
diff --git a/src/cpu/allwinner/a10/Kconfig b/src/cpu/allwinner/a10/Kconfig
index 387964f..1fb8cb3 100644
--- a/src/cpu/allwinner/a10/Kconfig
+++ b/src/cpu/allwinner/a10/Kconfig
@@ -12,6 +12,7 @@ config CPU_SPECIFIC_OPTIONS
select HAVE_MONOTONIC_TIMER
select HAVE_UART_SPECIAL
select BOOTBLOCK_CONSOLE
+ select DYNAMIC_CBMEM
config BOOTBLOCK_CPU_INIT
string
diff --git a/src/cpu/allwinner/a10/cbmem.c b/src/cpu/allwinner/a10/cbmem.c
index 84dc2bf..e051f06 100644
--- a/src/cpu/allwinner/a10/cbmem.c
+++ b/src/cpu/allwinner/a10/cbmem.c
@@ -8,11 +8,7 @@
#include "ram_segs.h"
#include <cbmem.h>
-#if IS_ENABLED(CONFIG_DYNAMIC_CBMEM)
-
void *cbmem_top(void)
{
return a1x_get_cbmem_top();
}
-
-#endif
diff --git a/src/cpu/ti/am335x/Kconfig b/src/cpu/ti/am335x/Kconfig
index 1de871f..42c091c 100644
--- a/src/cpu/ti/am335x/Kconfig
+++ b/src/cpu/ti/am335x/Kconfig
@@ -5,6 +5,7 @@ config CPU_TI_AM335X
select HAVE_MONOTONIC_TIMER
select HAVE_UART_SPECIAL
select BOOTBLOCK_CONSOLE
+ select DYNAMIC_CBMEM
bool
default n
diff --git a/src/cpu/ti/am335x/cbmem.c b/src/cpu/ti/am335x/cbmem.c
new file mode 100644
index 0000000..c104e9c
--- /dev/null
+++ b/src/cpu/ti/am335x/cbmem.c
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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 <stddef.h>
+#include <cbmem.h>
+
+void *cbmem_top(void)
+{
+ return NULL;
+}
diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig
index b275e88..7e24a20 100644
--- a/src/mainboard/emulation/qemu-armv7/Kconfig
+++ b/src/mainboard/emulation/qemu-armv7/Kconfig
@@ -32,6 +32,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select ARM_ROMSTAGE_ARMV7
select ARM_RAMSTAGE_ARMV7
select BOARD_ROMSIZE_KB_4096
+ select DYNAMIC_CBMEM
config MAINBOARD_DIR
string
diff --git a/src/mainboard/emulation/qemu-armv7/Makefile.inc b/src/mainboard/emulation/qemu-armv7/Makefile.inc
index e088da6..4119f93 100644
--- a/src/mainboard/emulation/qemu-armv7/Makefile.inc
+++ b/src/mainboard/emulation/qemu-armv7/Makefile.inc
@@ -14,6 +14,9 @@
romstage-y += romstage.c
+romstage-y += cbmem.c
+ramstage-y += cbmem.c
+
bootblock-y += media.c
romstage-y += media.c
ramstage-y += media.c
diff --git a/src/mainboard/emulation/qemu-armv7/cbmem.c b/src/mainboard/emulation/qemu-armv7/cbmem.c
new file mode 100644
index 0000000..c104e9c
--- /dev/null
+++ b/src/mainboard/emulation/qemu-armv7/cbmem.c
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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 <stddef.h>
+#include <cbmem.h>
+
+void *cbmem_top(void)
+{
+ return NULL;
+}
diff --git a/src/soc/qualcomm/ipq806x/Kconfig b/src/soc/qualcomm/ipq806x/Kconfig
index 03be33a..4866486 100644
--- a/src/soc/qualcomm/ipq806x/Kconfig
+++ b/src/soc/qualcomm/ipq806x/Kconfig
@@ -2,6 +2,7 @@ config SOC_QC_IPQ806X
select ARCH_BOOTBLOCK_ARMV4
select ARCH_ROMSTAGE_ARMV7
select ARCH_RAMSTAGE_ARMV7
+ select DYNAMIC_CBMEM
bool
default n
diff --git a/src/soc/qualcomm/ipq806x/cbmem.c b/src/soc/qualcomm/ipq806x/cbmem.c
new file mode 100644
index 0000000..c104e9c
--- /dev/null
+++ b/src/soc/qualcomm/ipq806x/cbmem.c
@@ -0,0 +1,24 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * 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 <stddef.h>
+#include <cbmem.h>
+
+void *cbmem_top(void)
+{
+ return NULL;
+}