Rename cpu/x86/car.h to arch/early_variables.h
and add an ARMv7 version. Change-Id: I14fbff88d7c2b003dde57a19bf0ba9640d322156 Signed-off-by: Stefan Reinauer <reinauer@google.com> [km: rebased fa004acf8 from chromium git] Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/3939 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
8ad6e78778
commit
fd4f4136e8
|
@ -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
|
|
@ -17,8 +17,8 @@
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CPU_X86_CAR_H
|
#ifndef ARCH_EARLY_VARIABLES_H
|
||||||
#define CPU_X86_CAR_H
|
#define ARCH_EARLY_VARIABLES_H
|
||||||
|
|
||||||
#ifdef __PRE_RAM__
|
#ifdef __PRE_RAM__
|
||||||
#define CAR_GLOBAL __attribute__((section(".car.global_data,\"w\",@nobits#")))
|
#define CAR_GLOBAL __attribute__((section(".car.global_data,\"w\",@nobits#")))
|
|
@ -21,7 +21,7 @@
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
|
|
||||||
typedef void (* const car_migration_func_t)(void);
|
typedef void (* const car_migration_func_t)(void);
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <thread.h>
|
#include <thread.h>
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
#include <cpu/x86/lapic.h>
|
||||||
#include <cpu/intel/speedstep.h>
|
#include <cpu/intel/speedstep.h>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <arch/io.h>
|
#include <arch/io.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#include <delay.h>
|
#include <delay.h>
|
||||||
#include <uart8250.h>
|
#include <uart8250.h>
|
||||||
#include <device/pci_def.h>
|
#include <device/pci_def.h>
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
#include <arch/byteorder.h>
|
#include <arch/byteorder.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <pc80/tpm.h>
|
#include <pc80/tpm.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
|
|
||||||
#define PREFIX "lpc_tpm: "
|
#define PREFIX "lpc_tpm: "
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#include <boot/coreboot_tables.h>
|
#include <boot/coreboot_tables.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#if CONFIG_HAVE_ACPI_RESUME && !defined(__PRE_RAM__)
|
#if CONFIG_HAVE_ACPI_RESUME && !defined(__PRE_RAM__)
|
||||||
#include <arch/acpi.h>
|
#include <arch/acpi.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#if CONFIG_HAVE_ACPI_RESUME && !defined(__PRE_RAM__)
|
#if CONFIG_HAVE_ACPI_RESUME && !defined(__PRE_RAM__)
|
||||||
#include <arch/acpi.h>
|
#include <arch/acpi.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
#include <timestamp.h>
|
#include <timestamp.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#include <cpu/x86/lapic.h>
|
#include <cpu/x86/lapic.h>
|
||||||
|
|
||||||
#define MAX_TIMESTAMPS 30
|
#define MAX_TIMESTAMPS 30
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <device/pci_def.h>
|
#include <device/pci_def.h>
|
||||||
#include <arch/byteorder.h>
|
#include <arch/byteorder.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <cbmem.h>
|
#include <cbmem.h>
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ static void print_t(const char *strval)
|
||||||
|
|
||||||
#endif /* DDR2 */
|
#endif /* DDR2 */
|
||||||
|
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
struct sys_info sysinfo_car CAR_GLOBAL;
|
struct sys_info sysinfo_car CAR_GLOBAL;
|
||||||
|
|
||||||
int mctRead_SPD(u32 smaddr, u32 reg)
|
int mctRead_SPD(u32 smaddr, u32 reg)
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include "option_table.h"
|
#include "option_table.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
struct sys_info sysinfo_car CAR_GLOBAL;
|
struct sys_info sysinfo_car CAR_GLOBAL;
|
||||||
|
|
||||||
#if (CONFIG_RAMTOP & (CONFIG_RAMTOP -1)) != 0
|
#if (CONFIG_RAMTOP & (CONFIG_RAMTOP -1)) != 0
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
struct sys_info sysinfo_car CAR_GLOBAL;
|
struct sys_info sysinfo_car CAR_GLOBAL;
|
||||||
|
|
||||||
#if (CONFIG_RAMTOP & (CONFIG_RAMTOP -1)) != 0
|
#if (CONFIG_RAMTOP & (CONFIG_RAMTOP -1)) != 0
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <pc80/mc146818rtc.h>
|
#include <pc80/mc146818rtc.h>
|
||||||
#include <cpu/x86/car.h>
|
#include <arch/early_variables.h>
|
||||||
#include "chromeos.h"
|
#include "chromeos.h"
|
||||||
|
|
||||||
#define VBNV_BLOCK_SIZE 16 /* Size of NV storage block in bytes */
|
#define VBNV_BLOCK_SIZE 16 /* Size of NV storage block in bytes */
|
||||||
|
|
Loading…
Reference in New Issue