Commit 612ebeec authored by Pu Wen's avatar Pu Wen
Browse files

x86/resctrl: Add Hygon QoS support

hygon inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8U3IC


CVE: NA

---------------------------

Add support for Hygon QoS feature.

Signed-off-by: default avatarPu Wen <puwen@hygon.cn>
parent d553095c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <asm/cacheinfo.h>
#include <asm/spec-ctrl.h>
#include <asm/delay.h>
#include <asm/resctrl.h>

#include "cpu.h"

@@ -240,6 +241,7 @@ static void bsp_init_hygon(struct cpuinfo_x86 *c)
			x86_amd_ls_cfg_ssbd_mask = 1ULL << 10;
		}
	}
	resctrl_cpu_detect(c);
}

static void early_init_hygon(struct cpuinfo_x86 *c)
+7 −3
Original line number Diff line number Diff line
@@ -757,7 +757,8 @@ static __init bool get_mem_config(void)

	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
		return __get_mem_config_intel(&hw_res->r_resctrl);
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
		 boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)
		return __rdt_get_mem_config_amd(&hw_res->r_resctrl);

	return false;
@@ -909,7 +910,8 @@ static __init void rdt_init_res_defs(void)
{
	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
		rdt_init_res_defs_intel();
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD)
	else if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD ||
		 boot_cpu_data.x86_vendor == X86_VENDOR_HYGON)
		rdt_init_res_defs_amd();
}

@@ -940,7 +942,9 @@ void resctrl_cpu_detect(struct cpuinfo_x86 *c)
		c->x86_cache_occ_scale = ebx;
		c->x86_cache_mbm_width_offset = eax & 0xff;

		if (c->x86_vendor == X86_VENDOR_AMD && !c->x86_cache_mbm_width_offset)
		if ((c->x86_vendor == X86_VENDOR_AMD ||
		     c->x86_vendor == X86_VENDOR_HYGON) &&
		    !c->x86_cache_mbm_width_offset)
			c->x86_cache_mbm_width_offset = MBM_CNTR_WIDTH_OFFSET_AMD;
	}
}