December 23, 2019 7:31 AM, "qubes123" <dm1.libe...@gmail.com> wrote:

> Suspend/resume problem is most likely caused by a recently added security 
> feature in Xen, that
> checks CPUID after resume with the previously (at boot time) known CPUID. 
> This is to ensure, that
> the CPU microcode level - along with the resulting Spectere/Meltdown etc. 
> mitigations - still
> persist after system resume and there are no features missing.
> 
> For many AMD systems (eg. Trinity/Richland) CPUID changes after suspend (some 
> of the high bits),
> resulting in Xen Panic (see xen/arch/x86/acpi/power.c). So, more 
> investigation would be needed to
> check why the CPUID bits are changing after resume and whether it had any 
> security implications or
> not.
> For the time being - if you accept the possible security implications - you 
> can disable that check
> eg. by commenting the panic line out after "recheck_cpu_features" in the 
> above mentioned power.c
> file, compile xen for dom0 via qubes builder and test it in your system.

So I installed the new F31-based R4.1 with Xen 8.13. Suspend/resume still isn't 
working; same
symptoms as before. A few corrections: I dug up some old threads and found that 
suspend/resume
actually did work correctly in F29, and on F25 the screen would power on, but 
just remain blank. So
in fact I never got the same symptoms on Qubes as I did with Fedora 25. This 
means that very likely
could be a Xen panic.

Something new, I booted R4.1 on bare metal without Xen, and it resumes fine. It 
probably will even
under R4.0 without Xen, too, but I haven't tried yet. So apparently it's not a 
version issue.

While booted without Xen, I checked /proc/cpuinfo before and after resume and 
they were the same
except for clock rates. The output is significantly different under Xen than 
bare metal, but the
microcode version is the same. In Xen, I obviously can't compare before- and 
after-resume outputs.

Not sure what to do. I'm really not looking forward to patching Xen.



> I use a Corebooted system, where the latest AMD microcode is compiled into
> the BIOS statically. And yes, I use a newer version of the AMD Fam15h
> microcode, than the version in the Linux Firmware package.
> This change in some of the CPUID bits after resume could be a result of
> xen/kernel trying to load the published microcode, and then fails because
> the BIOS version is newer.
> However, the /proc/cpuinfo reported microcode version always stays the same
> - the BIOS version. (..assuming the /proc/cpuinfo output is updated on any
> microcode upgrade attempts..)
> 
> As noted, I have a "special" use case, so testing the recommended change in
> power.c for Claudia's newer AMD system could show, that this CPUID change
> issue after resume is "special" for my case or "general" for some AMD users.

That kind of makes sense. With your patch applied, can you see the CPUID bits 
in /proc/cpuid change after resume, or is the output the same as before?

Like I said, in my case nothing in /proc/cpuinfo changes before and after 
resume without Xen (although it could be different under Xen).

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/162650f9ca7407a9f96832e27ad1a875%40disroot.org.

Reply via email to