On Wed, Oct 17, 2018 at 12:48:58PM +0200, Paolo Bonzini wrote:
On 17/10/2018 11:30, Tao Xu wrote:
As the release document ref below link (page 13):
https://software.intel.com/sites/default/files/managed/c5/15/\
architecture-instruction-set-extensions-programming-reference.pdf
PKU is supported in Skylake Server (Only Server) and later, and
on Intel(R) Xeon(R) Processor Scalable Family. OSPKE is to reads
the value of PKRU (Instruction of PKU) into EAX and clears EDX.
So PKU/OSPKE are supposed to be in Skylake-Server CPU model.
And PKU/OSPKE 's CPUID has been exposed to QEMU. But PKU/OSPKE
can't be find in Skylake-Server CPU model in the code.
So this patch will fix PKU/OSPKE this issue in Skylake-Server
CPU model.
OSPKE is not needed, since it is added automatically based on CR4 (and
is not set on boot).
Correct.
Also, the guru of CPU model compatibility is Eduardo, so I'll wait for
him to chime in anyway.
Sorry for taking so long to reply. This can be safely done only
if every host that is able to run Skylake-Server today is
guaranteed to support PKU. Is that the case?
You'll also need Skylake-Server-*-cpu.pku=off entries on
PC_COMPAT_3_0 to keep PKU disabled on pc-*-3.0 and older.