blob: 8fd371564ee170e68fe2d698542139c28ef2f8cc [file] [log] [blame]
Felix Helddd2f3fa2021-02-08 22:23:54 +01001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#include <amdblocks/cpu.h>
Felix Heldd4b5ad02022-01-25 04:14:05 +01004#include <cpu/amd/cpuid.h>
Felix Helddd2f3fa2021-02-08 22:23:54 +01005#include <cpu/cpu.h>
Felix Held9a6fc572021-02-08 22:37:17 +01006#include <cpu/x86/msr.h>
7#include <cpu/amd/msr.h>
Fred Reitbergerffd75c22022-06-23 11:25:16 -04008#include <smbios.h>
Felix Held9a6fc572021-02-08 22:37:17 +01009#include <soc/iomap.h>
Felix Helddd2f3fa2021-02-08 22:23:54 +010010
Fred Reitbergerffd75c22022-06-23 11:25:16 -040011unsigned int smbios_processor_family(struct cpuid_result res)
12{
13 return 0x6b; /* Zen */
14}
15
Felix Heldd4b5ad02022-01-25 04:14:05 +010016unsigned int get_threads_per_core(void)
17{
18 return 1 + ((cpuid_ebx(CPUID_EBX_CORE_ID) & CPUID_EBX_THREADS_MASK)
19 >> CPUID_EBX_THREADS_SHIFT);
20}
21
Felix Held9a6fc572021-02-08 22:37:17 +010022void set_cstate_io_addr(void)
23{
24 msr_t cst_addr;
25
26 cst_addr.hi = 0;
27 cst_addr.lo = ACPI_CPU_CONTROL;
28 wrmsr(MSR_CSTATE_ADDRESS, cst_addr);
29}