qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3] i386: Add new Hygon 'Dhyana' CPU model


From: Pu Wen
Subject: Re: [Qemu-devel] [PATCH v3] i386: Add new Hygon 'Dhyana' CPU model
Date: Wed, 17 Apr 2019 22:53:04 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

On 2019/4/16 22:17, Pavel Hrdina wrote:
On Tue, Apr 16, 2019 at 08:06:13PM +0800, Pu Wen wrote:
Add a new base CPU model called 'Dhyana' to model processors from Hygon
Dhyana(family 18h), which derived from AMD EPYC(family 17h).

The following features bits have been removed compare to AMD EPYC:
aes, pclmulqdq, sha_ni

The Hygon Dhyana support to KVM in Linux is already accepted upstream[1].
So add Hygon Dhyana support to Qemu is necessary to create Hygon's own
CPU model.

I have once question that we will have to solve for EPYC CPUs as well.
The name should not be based on the Product name or Model name as that
usually doesn't change with introduction of new microarchitecture.

With EPYC we made a mistake to name the CPU like that, luckily with
Intel we already use the microarchitecture name, so the EPYC CPU should
have been named ZEN-Server and for Ryzen CPUs there should be ZEN-Client
if there is any difference or otherwise we can simply use ZEN.

The issue here is what happens once the ZEN2 microarchitecture is out
wihch introduces new features and we will have to come up with a CPU
name.

Obviously we cannot change/remove the EPYC models so the question is
what is the difference between the AMD EPYC CPU and this new Dhyana CPU
if they are both based on the ZEN microarchitecture?

Right now there's no much difference between Dhyana and EPYC from the software's view. Dhyana removed the instructions aes, pclmulqdq, sha_ni compared to EPYC, but will have it's own implementation such as for aes in future CPU models. Hygon also will implement something different from AMD in the future.

In addition is there any way how we can introduce ZEN-Server &
ZEN-Client or simply ZEN, if there is no difference, as an alias or a
new model next to the EPYC?

Also as Eduardo mentioned that there's no CPU model alias or inheritance system in x86, so I think it's worthwhile to keep a separate CPU model for Hygon.

--
Regards,
Pu Wen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]