cancel
Showing results for 
Search instead for 
Did you mean: 

Processors

mmusenbr
Journeyman III

Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

I'm running an AMD Ryzen Threadripper 1920X CPU on a MSI X399 Gaming PRO Carbon board on Linux (Debian unstable, Linux kernel 4.17.17-1 from Debian)
After the upgrade to the latest available MSI BIOS which includes the AGESA Code 1.1.01A I ran into different problems on a linux system (udev timeout, kvm module does not load).

As from other bugreports [1] this problem seems not related to MSI, so it looks like an issue in the AGESA code.

The source of the issue seems to be that the CPU/BIOS advertises SEV support even if it does not.

According to the AMD docs [2], the EAX register in 0x8000001f holds the information about the support for SME (bit 0), SEV (bit 1), VmPageFlush (bit 2) and SevEs (bit 3).

With the command 'x86info -r | grep 0x8000001f' I see the content of the EAX register is set to 0x7. Which I read as support for SME, SEV and VmPageFlush.

But apperantly AMD Threadripper family does not support SEV.

Additionally what I read the requirement comes from AGESA (please confirm): It is currently officially not possible to downgrade BIOSes running newer AGESA codes, which means that if a new BIOS update breaks something, the user is stuck until a new BIOS update fixing the issue is released.

Kind Regards Michael Musenbrock

PS: I already forwarded the issue to MSI, but as I did not find the report either on a MSI nor on a official AMD site, I wanted to add it to the support forum

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1608242

[2] Open-Source Register Reference For AMD Family 17h Processors Models 00h-2Fh: https://developer.amd.com/wp-content/resources/56255_3_03.PDF

0 Likes
9 Replies
misterj
Exemplar

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

mmusenbr, this is a user forum.  I do not work for AMD and I suspect most here also do not.  If you want to communicate with AMD please open an AMD Online Support Ticket.  To keep the good news coming, I know almost nothing about Linux.  Officially Threadripper is supported only on later versions of W10 x64.  Now my experience with AGESA 1.1.0.1 (No A) on my ASRock X399 Fat Pro.  The first try with the UEFI with this AGESA was a disaster.  Could not even boot.  ASRock replied to my support request saying simply :" code is for TR 2 and do not run it on TR1", I used FlashBack to go back to the previous UEFI/AGESA and it worked fine.  Please ask MSI if you can do this (FlashBack on your MB?).  Being rather hard headed, I used Instant flash to load the latest UEFI/AGESA code with 1.1.0.1 (still no A).  Seems OK except Shutdown, Restart, Sleep all hang and I deleted one of two RAID arrays and they both disappeared.  This fun is not for the faint of heart.  Hope this helps.  Enjoy, John.

0 Likes
elstaci
MVP

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

This MSI Forum has a solution to downgrading the BIOS on the X399 with different Agesa codes. One Users says the latest MSI BIOS Agesa broke the TR1 CPUs. X399 GAMING PRO CARBON AC bios problem

Here the Tool to downgrade your BIOS from the above link: Flash tool[1.05] for MSI UEFI BIOS [from UEFI Shell]  (use at your risk)

0 Likes
abucodonosor
Adept III

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

mmusenbr
Journeyman III

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

Thanks for the link to the patch. IMHO that's still a workaround and not not a fix. But I will apply it and see if the issues is hidden then.

Anyone knows the latest AGESA version which was working properly in this regard?

0 Likes
mmusenbr
Journeyman III

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

Thanks for the link to the downgrade tool. Do you know if this is the same as the official 'AMI Firmware Update Utility' [1]? I really do not want to use some tool from some google drive folder to flash the BIOS used in a working environment.

[1] American Megatrends Inc. - BIOS ⁄ UEFI Utilities

0 Likes
elstaci
MVP

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

Your guess is as good as mine. I really don't know how safe that tool is to use. Need to read what other Users in the thread are saying about it or google the tool and see if anyone has bricked their motherboard due to using the tool.

0 Likes
abucodonosor
Adept III

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

mmusenbr

Well is a fix.

I have machines here without that issue and yes an MSI board with TR1 *with* that issue.

The issue is not hidden but the Linux driver refuses to load/ do something with SVE

when SVE call timeouts now.

Before that patch it assumesd such a command *cannot* be wrong and *cannot timeout* ,

aka trust the BIOS. However trusting BIOS is always a very bad idea since you assume

the BIOS peoples does the right thing and that is not always the case even for

supported OSes like Windows.

BR

0 Likes
ispicycurry
Journeyman III

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

Sorry if this sounds noobie,

How do you apply the patch that you linked? I am also experiencing the reboot/ shutdown hang after updating bios with the 1900x.

0 Likes
abucodonosor
Adept III

Re: Threadripper/MSI: BIOS advertising SEV support, even if the CPU does not support it (breaks kvm on Linux)

ispicycurry

Since you don't know how to use an patch , you probably don't know howto compile own kernels ?

To apply the patch is easy , however better find someone who knows to compile kernels for your Distribution

or yet better ask your Distribution to implement the patch.

All you need is the patch app installed , the kernel source ( from your Distribution or from kernel website ),

then cd_the_kernel_source_folder and patch -Np1 <the.patch

BR

0 Likes