[coreboot-gerrit] New patch to review for coreboot: 041e140 Rename cpu/x86/car.h to arch/early_variables.h

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Tue Sep 24 01:01:45 CEST 2013


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3939

-gerrit

commit 041e1407233e5d6764cf4df88f9a3352807f7583
Author: Stefan Reinauer <reinauer at chromium.org>
Date:   Wed Jun 19 12:25:44 2013 -0700

    Rename cpu/x86/car.h to arch/early_variables.h
    
    and add an ARMv7 version.
    
    Change-Id: I14fbff88d7c2b003dde57a19bf0ba9640d322156
    Signed-off-by: Stefan Reinauer <reinauer at google.com>
    [km: rebased fa004acf8 from chromium git]
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 src/arch/armv7/include/arch/early_variables.h | 59 ++++++++++++++++++++++++++
 src/arch/x86/include/arch/early_variables.h   | 60 +++++++++++++++++++++++++++
 src/cpu/x86/car.c                             |  2 +-
 src/cpu/x86/lapic/apic_timer.c                |  2 +-
 src/drivers/oxford/oxpcie/oxpcie_early.c      |  2 +-
 src/drivers/pc80/tpm.c                        |  2 +-
 src/include/cpu/x86/car.h                     | 60 ---------------------------
 src/lib/cbmem.c                               |  2 +-
 src/lib/cbmem_console.c                       |  2 +-
 src/lib/dynamic_cbmem.c                       |  2 +-
 src/lib/timestamp.c                           |  2 +-
 src/lib/usbdebug.c                            |  2 +-
 src/northbridge/amd/amdfam10/raminit_amdmct.c |  2 +-
 src/northbridge/amd/amdk8/raminit.c           |  2 +-
 src/northbridge/amd/amdk8/raminit_f.c         |  2 +-
 src/vendorcode/google/chromeos/vbnv.c         |  2 +-
 16 files changed, 132 insertions(+), 73 deletions(-)

diff --git a/src/arch/armv7/include/arch/early_variables.h b/src/arch/armv7/include/arch/early_variables.h
new file mode 100644
index 0000000..90ead9d
--- /dev/null
+++ b/src/arch/armv7/include/arch/early_variables.h
@@ -0,0 +1,59 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
+ *
+ * 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
+ */
+
+#ifndef ARCH_EARLY_VARIABLES_H
+#define ARCH_EARLY_VARIABLES_H
+
+#ifdef __PRE_RAM__
+#define CAR_GLOBAL __attribute__((section(".car.global_data,\"w\",%nobits@")))
+#define CAR_CBMEM __attribute__((section(".car.cbmem_console,\"w\",%nobits@")))
+#else
+#define CAR_GLOBAL
+#define CAR_CBMEM
+#endif
+
+#if defined(__PRE_RAM__)
+#define CAR_MIGRATE_ATTR __attribute__ ((used,section (".car.migrate")))
+
+/* Call migrate_fn_() when CAR globals are migrated. */
+#define CAR_MIGRATE(migrate_fn_) \
+	static void (* const migrate_fn_ ## _ptr)(void) CAR_MIGRATE_ATTR = \
+	migrate_fn_;
+
+/* Get the correct pointer for the CAR global variable. */
+void *car_get_var_ptr(void *var);
+
+/* Get and set a primitive type global variable. */
+#define car_get_var(var) \
+	*(typeof(var) *)car_get_var_ptr(&(var))
+#define car_set_var(var, val) \
+	do { car_get_var(var) = (val); } while(0)
+
+/* Migrate the CAR variables to memory. */
+void car_migrate_variables(void);
+
+#else
+#define CAR_MIGRATE(migrate_fn_)
+static inline void *car_get_var_ptr(void *var) { return var; }
+#define car_get_var(var) (var)
+#define car_set_var(var, val) do { (var) = (val); } while (0)
+static inline void car_migrate_variables(void) { }
+#endif
+
+#endif
diff --git a/src/arch/x86/include/arch/early_variables.h b/src/arch/x86/include/arch/early_variables.h
new file mode 100644
index 0000000..ba7df97
--- /dev/null
+++ b/src/arch/x86/include/arch/early_variables.h
@@ -0,0 +1,60 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
+ *
+ * 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
+ */
+
+#ifndef ARCH_EARLY_VARIABLES_H
+#define ARCH_EARLY_VARIABLES_H
+
+#ifdef __PRE_RAM__
+#define CAR_GLOBAL __attribute__((section(".car.global_data,\"w\", at nobits#")))
+#define CAR_CBMEM __attribute__((section(".car.cbmem_console,\"w\", at nobits#")))
+#else
+#define CAR_GLOBAL
+#define CAR_CBMEM
+#endif
+
+#if defined(__PRE_RAM__)
+#define CAR_MIGRATE_ATTR __attribute__ ((used,section (".car.migrate")))
+
+/* Call migrate_fn_() when CAR globals are migrated. */
+#define CAR_MIGRATE(migrate_fn_) \
+	static void (* const migrate_fn_ ## _ptr)(void) CAR_MIGRATE_ATTR = \
+	migrate_fn_;
+
+/* Get the correct pointer for the CAR global variable. */
+void *car_get_var_ptr(void *var);
+
+/* Get and set a primitive type global variable. */
+#define car_get_var(var) \
+	*(typeof(var) *)car_get_var_ptr(&(var))
+#define car_set_var(var, val) \
+	do { car_get_var(var) = (val); } while(0)
+
+/* Migrate the CAR variables to memory. */
+void car_migrate_variables(void);
+
+#else
+#define CAR_MIGRATE(migrate_fn_)
+static inline void *car_get_var_ptr(void *var) { return var; }
+#define car_get_var(var) (var)
+#define car_set_var(var, val) do { (var) = (val); } while (0)
+static inline void car_migrate_variables(void) { }
+#endif
+
+
+#endif
diff --git a/src/cpu/x86/car.c b/src/cpu/x86/car.c
index 87fa98b..481153d 100644
--- a/src/cpu/x86/car.c
+++ b/src/cpu/x86/car.c
@@ -21,7 +21,7 @@
 #include <stddef.h>
 #include <console/console.h>
 #include <cbmem.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 
 typedef void (* const car_migration_func_t)(void);
 
diff --git a/src/cpu/x86/lapic/apic_timer.c b/src/cpu/x86/lapic/apic_timer.c
index e5ce62f..868fb92 100644
--- a/src/cpu/x86/lapic/apic_timer.c
+++ b/src/cpu/x86/lapic/apic_timer.c
@@ -24,7 +24,7 @@
 #include <thread.h>
 #include <arch/io.h>
 #include <arch/cpu.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #include <cpu/x86/msr.h>
 #include <cpu/x86/lapic.h>
 #include <cpu/intel/speedstep.h>
diff --git a/src/drivers/oxford/oxpcie/oxpcie_early.c b/src/drivers/oxford/oxpcie/oxpcie_early.c
index 2bca5c7..d04e9d4 100644
--- a/src/drivers/oxford/oxpcie/oxpcie_early.c
+++ b/src/drivers/oxford/oxpcie/oxpcie_early.c
@@ -19,7 +19,7 @@
 
 #include <stdint.h>
 #include <arch/io.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #include <delay.h>
 #include <uart8250.h>
 #include <device/pci_def.h>
diff --git a/src/drivers/pc80/tpm.c b/src/drivers/pc80/tpm.c
index 0ea0017..b8ed3f1 100644
--- a/src/drivers/pc80/tpm.c
+++ b/src/drivers/pc80/tpm.c
@@ -34,7 +34,7 @@
 #include <arch/byteorder.h>
 #include <console/console.h>
 #include <pc80/tpm.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 
 #define PREFIX "lpc_tpm: "
 
diff --git a/src/include/cpu/x86/car.h b/src/include/cpu/x86/car.h
deleted file mode 100644
index 5fc11f9..0000000
--- a/src/include/cpu/x86/car.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
- *
- * 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
- */
-
-#ifndef CPU_X86_CAR_H
-#define CPU_X86_CAR_H
-
-#ifdef __PRE_RAM__
-#define CAR_GLOBAL __attribute__((section(".car.global_data,\"w\", at nobits#")))
-#define CAR_CBMEM __attribute__((section(".car.cbmem_console,\"w\", at nobits#")))
-#else
-#define CAR_GLOBAL
-#define CAR_CBMEM
-#endif
-
-#if defined(__PRE_RAM__)
-#define CAR_MIGRATE_ATTR __attribute__ ((used,section (".car.migrate")))
-
-/* Call migrate_fn_() when CAR globals are migrated. */
-#define CAR_MIGRATE(migrate_fn_) \
-	static void (* const migrate_fn_ ## _ptr)(void) CAR_MIGRATE_ATTR = \
-	migrate_fn_;
-
-/* Get the correct pointer for the CAR global variable. */
-void *car_get_var_ptr(void *var);
-
-/* Get and set a primitive type global variable. */
-#define car_get_var(var) \
-	*(typeof(var) *)car_get_var_ptr(&(var))
-#define car_set_var(var, val) \
-	do { car_get_var(var) = (val); } while(0)
-
-/* Migrate the CAR variables to memory. */
-void car_migrate_variables(void);
-
-#else
-#define CAR_MIGRATE(migrate_fn_)
-static inline void *car_get_var_ptr(void *var) { return var; }
-#define car_get_var(var) (var)
-#define car_set_var(var, val) do { (var) = (val); } while (0)
-static inline void car_migrate_variables(void) { }
-#endif
-
-
-#endif
diff --git a/src/lib/cbmem.c b/src/lib/cbmem.c
index 8d69435..8a39647 100644
--- a/src/lib/cbmem.c
+++ b/src/lib/cbmem.c
@@ -23,7 +23,7 @@
 #include <cbmem.h>
 #include <boot/coreboot_tables.h>
 #include <console/console.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #if CONFIG_HAVE_ACPI_RESUME && !defined(__PRE_RAM__)
 #include <arch/acpi.h>
 #endif
diff --git a/src/lib/cbmem_console.c b/src/lib/cbmem_console.c
index 881865c..dd88300 100644
--- a/src/lib/cbmem_console.c
+++ b/src/lib/cbmem_console.c
@@ -19,7 +19,7 @@
 
 #include <console/console.h>
 #include <cbmem.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #include <string.h>
 
 /*
diff --git a/src/lib/dynamic_cbmem.c b/src/lib/dynamic_cbmem.c
index ba7760d..e21f96e 100644
--- a/src/lib/dynamic_cbmem.c
+++ b/src/lib/dynamic_cbmem.c
@@ -23,7 +23,7 @@
 #include <cbmem.h>
 #include <string.h>
 #include <stdlib.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #if CONFIG_HAVE_ACPI_RESUME && !defined(__PRE_RAM__)
 #include <arch/acpi.h>
 #endif
diff --git a/src/lib/timestamp.c b/src/lib/timestamp.c
index a9c354e..8942649 100644
--- a/src/lib/timestamp.c
+++ b/src/lib/timestamp.c
@@ -22,7 +22,7 @@
 #include <console/console.h>
 #include <cbmem.h>
 #include <timestamp.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #include <cpu/x86/lapic.h>
 
 #define MAX_TIMESTAMPS 30
diff --git a/src/lib/usbdebug.c b/src/lib/usbdebug.c
index 39cd138..3faec10 100644
--- a/src/lib/usbdebug.c
+++ b/src/lib/usbdebug.c
@@ -24,7 +24,7 @@
 #include <device/pci.h>
 #include <device/pci_def.h>
 #include <arch/byteorder.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #include <string.h>
 #include <cbmem.h>
 
diff --git a/src/northbridge/amd/amdfam10/raminit_amdmct.c b/src/northbridge/amd/amdfam10/raminit_amdmct.c
index 6994c39..e5c18a8 100644
--- a/src/northbridge/amd/amdfam10/raminit_amdmct.c
+++ b/src/northbridge/amd/amdfam10/raminit_amdmct.c
@@ -120,7 +120,7 @@ static  void print_t(const char *strval)
 
 #endif	/* DDR2 */
 
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 struct sys_info sysinfo_car CAR_GLOBAL;
 
 int mctRead_SPD(u32 smaddr, u32 reg)
diff --git a/src/northbridge/amd/amdk8/raminit.c b/src/northbridge/amd/amdk8/raminit.c
index 33a3245..4aaa1bb 100644
--- a/src/northbridge/amd/amdk8/raminit.c
+++ b/src/northbridge/amd/amdk8/raminit.c
@@ -14,7 +14,7 @@
 #include "option_table.h"
 #endif
 
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 struct sys_info sysinfo_car CAR_GLOBAL;
 
 #if (CONFIG_RAMTOP & (CONFIG_RAMTOP -1)) != 0
diff --git a/src/northbridge/amd/amdk8/raminit_f.c b/src/northbridge/amd/amdk8/raminit_f.c
index c1882d7..64271b5 100644
--- a/src/northbridge/amd/amdk8/raminit_f.c
+++ b/src/northbridge/amd/amdk8/raminit_f.c
@@ -39,7 +39,7 @@
 #endif
 
 
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 struct sys_info sysinfo_car CAR_GLOBAL;
 
 #if (CONFIG_RAMTOP & (CONFIG_RAMTOP -1)) != 0
diff --git a/src/vendorcode/google/chromeos/vbnv.c b/src/vendorcode/google/chromeos/vbnv.c
index d94203a..58ccbdb 100644
--- a/src/vendorcode/google/chromeos/vbnv.c
+++ b/src/vendorcode/google/chromeos/vbnv.c
@@ -21,7 +21,7 @@
 #include <string.h>
 #include <console/console.h>
 #include <pc80/mc146818rtc.h>
-#include <cpu/x86/car.h>
+#include <arch/early_variables.h>
 #include "chromeos.h"
 
 #define VBNV_BLOCK_SIZE 16	/* Size of NV storage block in bytes */



More information about the coreboot-gerrit mailing list