blob: 136cb42e0e708a962f9d54dc081906128b36f3a4 [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 Held11ff7532023-06-06 00:29:58 +02004#include <arch/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>
Felix Held11ff7532023-06-06 00:29:58 +02007#include <cpu/amd/cpuid.h>
Felix Held9a6fc572021-02-08 22:37:17 +01008#include <cpu/amd/msr.h>
Felix Held11ff7532023-06-06 00:29:58 +02009#include <cpu/amd/mtrr.h>
Fred Reitbergerffd75c22022-06-23 11:25:16 -040010#include <smbios.h>
Felix Held9a6fc572021-02-08 22:37:17 +010011#include <soc/iomap.h>
Felix Heldb39e93e2023-06-05 23:56:46 +020012#include <types.h>
Felix Helddd2f3fa2021-02-08 22:23:54 +010013
Felix Held52742b62023-03-25 02:50:43 +010014uint32_t get_pstate_0_reg(void)
15{
16 return 0;
17}
18
Felix Held78cbcef2023-03-25 04:58:40 +010019uint32_t get_pstate_latency(void)
20{
21 return 0;
22}
23
Fred Reitbergerffd75c22022-06-23 11:25:16 -040024unsigned int smbios_processor_family(struct cpuid_result res)
25{
26 return 0x6b; /* Zen */
27}
28
Felix Held9a6fc572021-02-08 22:37:17 +010029void set_cstate_io_addr(void)
30{
31 msr_t cst_addr;
32
33 cst_addr.hi = 0;
Felix Heldcbe55a12023-03-03 22:37:34 +010034 cst_addr.lo = ACPI_CSTATE_CONTROL;
Felix Held9a6fc572021-02-08 22:37:17 +010035 wrmsr(MSR_CSTATE_ADDRESS, cst_addr);
36}
Felix Held11ff7532023-06-06 00:29:58 +020037
Felix Held89ca4782023-09-12 15:01:02 +020038/* Number of most significant physical address bits reserved for secure memory encryption */
39unsigned int get_reserved_phys_addr_bits(void)
Felix Held11ff7532023-06-06 00:29:58 +020040{
Felix Held614568e2023-09-28 20:28:40 +020041 if (!(rdmsr(SYSCFG_MSR).raw & SYSCFG_MSR_SMEE))
Felix Held11ff7532023-06-06 00:29:58 +020042 return 0;
Felix Held614568e2023-09-28 20:28:40 +020043
44 return (cpuid_ebx(CPUID_EBX_MEM_ENCRYPT) & CPUID_EBX_MEM_ENCRYPT_ADDR_BITS_MASK) >>
45 CPUID_EBX_MEM_ENCRYPT_ADDR_BITS_SHIFT;
Felix Held11ff7532023-06-06 00:29:58 +020046}