summaryrefslogtreecommitdiff
path: root/src/soc/amd/common/block/cpu/Kconfig
blob: 56e922d39b44845df796e882e55e9c518662951c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
config SOC_AMD_COMMON_BLOCK_CAR
	bool
	help
	  This option allows the SOC to use a standard AMD cache-as-ram (CAR)
	  implementation.  CAR setup is built into bootblock and teardown is
	  in postcar.  The teardown procedure does not preserve the stack so
	  it may not be appropriate for a romstage implementation without
	  additional consideration.  If this option is not used, the SOC must
	  implement these functions separately.
	  This is only used for AMD CPU before family 17h. From family 17h on
	  the RAM is already initialized by the PSP before the x86 cores are
	  released from reset.

config SOC_AMD_COMMON_BLOCK_NONCAR
	bool
	help
	  From family 17h on AMD CPUs/APUs don't use cache as RAM (CAR) any
	  more, since the RAM initialization is already done by the PSP when
	  the x86 cores are released from reset.

if SOC_AMD_COMMON_BLOCK_NONCAR

config BOOTBLOCK_IN_CBFS
	bool
	default n

config MEMLAYOUT_LD_FILE
	string
	default "src/soc/amd/common/block/cpu/noncar/memlayout.ld"

config CBFS_CACHE_SIZE
	hex
	help
	  The size of the cbfs_cache region.

endif # SOC_AMD_COMMON_BLOCK_NONCAR

config SOC_AMD_COMMON_BLOCK_MCA_COMMON
	bool
	help
	  Add common machine check architecture support. Do not select this
	  in the SoC's Kconfig; select either SOC_AMD_COMMON_BLOCK_MCA or
	  SOC_AMD_COMMON_BLOCK_MCAX which will select this one.

config SOC_AMD_COMMON_BLOCK_MCA
	bool
	select SOC_AMD_COMMON_BLOCK_MCA_COMMON
	help
	  Add IA32 machine check architecture (MCA) support for pre-Zen CPUs.

config SOC_AMD_COMMON_BLOCK_MCAX
	bool
	select SOC_AMD_COMMON_BLOCK_MCA_COMMON
	help
	  Add extended machine check architecture (MCAX) support for AMD family
	  17h, 19h and possibly newer CPUs.

config SOC_AMD_COMMON_BLOCK_SMM
	bool
	help
	  Add common SMM relocation, finalization and handler functionality to
	  the build.

config SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
	bool
	select COLLECT_TIMESTAMPS_NO_TSC # selected use SoC-specific timestamp function
	select TSC_SYNC_LFENCE
	select UDELAY_TSC
	help
	  Select this option to add the common functions for getting the TSC
	  frequency of AMD family 17h and 19h CPUs/APUs and to provide TSC-
	  based monotonic timer functionality to the build.

config SOC_AMD_COMMON_BLOCK_UCODE
	bool
	select SUPPORT_CPU_UCODE_IN_CBFS
	help
	  Builds in support for loading uCode.

config SOC_AMD_COMMON_BLOCK_UCODE_SIZE
	int
	depends on SOC_AMD_COMMON_BLOCK_UCODE
	help
	  Defines the size of the uCode binary in bytes.