x86: Move turbo_state to global_data
To avoid using BSS in SPL before SDRAM is set up, move this field to
global_data.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
diff --git a/arch/x86/cpu/turbo.c b/arch/x86/cpu/turbo.c
index 254d0de..bbd255e 100644
--- a/arch/x86/cpu/turbo.c
+++ b/arch/x86/cpu/turbo.c
@@ -12,6 +12,8 @@
#include <asm/processor.h>
#include <asm/turbo.h>
+DECLARE_GLOBAL_DATA_PTR;
+
#if CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED
static inline int get_global_turbo_state(void)
{
@@ -22,16 +24,14 @@
{
}
#else
-static int g_turbo_state = TURBO_UNKNOWN;
-
static inline int get_global_turbo_state(void)
{
- return g_turbo_state;
+ return gd->arch.turbo_state;
}
static inline void set_global_turbo_state(int state)
{
- g_turbo_state = state;
+ gd->arch.turbo_state = state;
}
#endif
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h
index 43a59a3..4570bc7 100644
--- a/arch/x86/include/asm/global_data.h
+++ b/arch/x86/include/asm/global_data.h
@@ -93,6 +93,7 @@
char *mrc_output;
unsigned int mrc_output_len;
ulong table; /* Table pointer from previous loader */
+ int turbo_state; /* Current turbo state */
struct irq_routing_table *pirq_routing_table;
#ifdef CONFIG_SEABIOS
u32 high_table_ptr;