summaryrefslogtreecommitdiff
path: root/src/soc/amd/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/amd/common')
-rw-r--r--src/soc/amd/common/block/cpu/noncar/cpu.c12
-rw-r--r--src/soc/amd/common/block/include/amdblocks/cpu.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/src/soc/amd/common/block/cpu/noncar/cpu.c b/src/soc/amd/common/block/cpu/noncar/cpu.c
index 7c1daf96f1..98926bff7e 100644
--- a/src/soc/amd/common/block/cpu/noncar/cpu.c
+++ b/src/soc/amd/common/block/cpu/noncar/cpu.c
@@ -2,8 +2,20 @@
#include <amdblocks/cpu.h>
#include <cpu/cpu.h>
+#include <cpu/x86/msr.h>
+#include <cpu/amd/msr.h>
+#include <soc/iomap.h>
int get_cpu_count(void)
{
return 1 + (cpuid_ecx(0x80000008) & 0xff);
}
+
+void set_cstate_io_addr(void)
+{
+ msr_t cst_addr;
+
+ cst_addr.hi = 0;
+ cst_addr.lo = ACPI_CPU_CONTROL;
+ wrmsr(MSR_CSTATE_ADDRESS, cst_addr);
+}
diff --git a/src/soc/amd/common/block/include/amdblocks/cpu.h b/src/soc/amd/common/block/include/amdblocks/cpu.h
index 50300d5a0f..0627bc1377 100644
--- a/src/soc/amd/common/block/include/amdblocks/cpu.h
+++ b/src/soc/amd/common/block/include/amdblocks/cpu.h
@@ -4,6 +4,7 @@
#define AMD_BLOCK_CPU_H
int get_cpu_count(void);
+void set_cstate_io_addr(void);
void write_resume_eip(void);
#endif /* AMD_BLOCK_CPU_H */