Unverified Commit a06dd08e authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!7721 【OLK-6.6】bugfix from upstream v6.9 for AMD EPYC

Merge Pull Request from: @kile2009 
 
backport two patches from upstream:

03ceaf678d444e67fb9c1a372458ba869aa37a60 v6.9-rc1 x86/CPU/AMD: Do the common init on future Zens too
2718a7fdf292b2dcb49c856fa8a6a955ebbbc45f v6.9-rc6 x86/CPU/AMD: Add models 0x10-0x1f to the Zen5 range 
 
Link:https://gitee.com/openeuler/kernel/pulls/7721

 

Reviewed-by: default avatarWei Li <liwei391@huawei.com>
Reviewed-by: default avatarZhang Peng <zhangpeng362@huawei.com>
Signed-off-by: default avatarZhang Peng <zhangpeng362@huawei.com>
parents 7f1817c1 22e9e671
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -576,8 +576,7 @@ static void bsp_init_amd(struct cpuinfo_x86 *c)

	case 0x1a:
		switch (c->x86_model) {
		case 0x00 ... 0x0f:
		case 0x20 ... 0x2f:
		case 0x00 ... 0x2f:
		case 0x40 ... 0x4f:
		case 0x70 ... 0x7f:
			setup_force_cpu_cap(X86_FEATURE_ZEN5);
@@ -973,7 +972,6 @@ static void init_amd_zen_common(void)

static void init_amd_zen1(struct cpuinfo_x86 *c)
{
	init_amd_zen_common();
	fix_erratum_1386(c);

	/* Fix up CPUID bits, but only if not virtualised. */
@@ -1028,7 +1026,6 @@ static void zen2_zenbleed_check(struct cpuinfo_x86 *c)

static void init_amd_zen2(struct cpuinfo_x86 *c)
{
	init_amd_zen_common();
	init_spectral_chicken(c);
	fix_erratum_1386(c);
	zen2_zenbleed_check(c);
@@ -1036,8 +1033,6 @@ static void init_amd_zen2(struct cpuinfo_x86 *c)

static void init_amd_zen3(struct cpuinfo_x86 *c)
{
	init_amd_zen_common();

	if (!cpu_has(c, X86_FEATURE_HYPERVISOR)) {
		/*
		 * Zen3 (Fam19 model < 0x10) parts are not susceptible to
@@ -1051,15 +1046,12 @@ static void init_amd_zen3(struct cpuinfo_x86 *c)

static void init_amd_zen4(struct cpuinfo_x86 *c)
{
	init_amd_zen_common();

	if (!cpu_has(c, X86_FEATURE_HYPERVISOR))
		msr_set_bit(MSR_ZEN4_BP_CFG, MSR_ZEN4_BP_CFG_SHARED_BTB_FIX_BIT);
}

static void init_amd_zen5(struct cpuinfo_x86 *c)
{
	init_amd_zen_common();
}

static void init_amd(struct cpuinfo_x86 *c)
@@ -1097,6 +1089,13 @@ static void init_amd(struct cpuinfo_x86 *c)
	case 0x16: init_amd_jg(c); break;
	}

	/*
	 * Save up on some future enablement work and do common Zen
	 * settings.
	 */
	if (c->x86 >= 0x17)
		init_amd_zen_common();

	if (boot_cpu_has(X86_FEATURE_ZEN1))
		init_amd_zen1(c);
	else if (boot_cpu_has(X86_FEATURE_ZEN2))