From: Andrew Cooper Date: Thu, 30 Apr 2020 09:47:14 +0000 (+0100) Subject: x86/amd: Initial support for Fam19h processors X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~311 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fe36a173d110fd792f5e337e208a5ed714df1536;p=xen.git x86/amd: Initial support for Fam19h processors Fam19h is very similar to Fam17h in these regards. Signed-off-by: Andrew Cooper Reviewed-by: Roger Pau Monné Reviewed-by: Jan Beulich --- diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c index e00f2a82de..b83446e77d 100644 --- a/xen/arch/x86/acpi/cpu_idle.c +++ b/xen/arch/x86/acpi/cpu_idle.c @@ -1356,6 +1356,7 @@ static void amd_cpuidle_init(struct acpi_processor_power *power) switch ( c->x86 ) { + case 0x19: case 0x18: if ( boot_cpu_data.x86_vendor != X86_VENDOR_HYGON ) { diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c index 13bf9f4dee..3f0969e70d 100644 --- a/xen/arch/x86/cpu/microcode/amd.c +++ b/xen/arch/x86/cpu/microcode/amd.c @@ -112,6 +112,7 @@ static bool_t verify_patch_size(uint32_t patch_size) #define F15H_MPB_MAX_SIZE 4096 #define F16H_MPB_MAX_SIZE 3458 #define F17H_MPB_MAX_SIZE 3200 +#define F19H_MPB_MAX_SIZE 4800 switch (boot_cpu_data.x86) { @@ -127,6 +128,9 @@ static bool_t verify_patch_size(uint32_t patch_size) case 0x17: max_size = F17H_MPB_MAX_SIZE; break; + case 0x19: + max_size = F19H_MPB_MAX_SIZE; + break; default: max_size = F1XH_MPB_MAX_SIZE; break; diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c index 3c6799b42c..eba47cd2a0 100644 --- a/xen/arch/x86/cpu/vpmu_amd.c +++ b/xen/arch/x86/cpu/vpmu_amd.c @@ -576,6 +576,7 @@ int __init amd_vpmu_init(void) { case 0x15: case 0x17: + case 0x19: num_counters = F15H_NUM_COUNTERS; counters = AMD_F15H_COUNTERS; ctrls = AMD_F15H_CTRLS; diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c index c3f92ed231..014524486f 100644 --- a/xen/arch/x86/nmi.c +++ b/xen/arch/x86/nmi.c @@ -398,7 +398,7 @@ void setup_apic_nmi_watchdog(void) case X86_VENDOR_AMD: switch (boot_cpu_data.x86) { case 6: - case 0xf ... 0x17: + case 0xf ... 0x19: setup_k7_watchdog(); break; default: diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 0bcf554e93..33e5d21ece 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -1939,7 +1939,7 @@ static unsigned int calc_ler_msr(void) switch ( boot_cpu_data.x86 ) { case 6: - case 0xf ... 0x17: + case 0xf ... 0x19: return MSR_IA32_LASTINTFROMIP; } break;