Re-adding libvir-list to the CC line. On Mon, Mar 30, 2020 at 08:20:44PM +0800, Zhenyu Zheng wrote: > Hi, yes, I think we can do that using inline assembly, I can check it out > if you think it is a better solution, > do you have any suggestions for the features(cpu flags) part? It seems that > ARM does not have a location/register > that holds all the flags, seems that we have to query alot of different > registers to check for features, which could > be quite messy. Perhaps there is a way to record the location/register info in the XML against each feature name, so that the code itself can stay simple and just be driven from the metadata ? I'm not familiar enough with Arm to know how feasiable this is though, so will have to leave that to others to give an opinion. > > On Mon, Mar 30, 2020 at 8:01 PM Daniel P. Berrangé <berrange@xxxxxxxxxx> > wrote: > > > On Mon, Mar 30, 2020 at 07:32:36PM +0800, Zhenyu Zheng wrote: > > > Hi Daniel, > > > > > > Thanks for thre review and reply, my first implementation was going to > > > gather data from /proc/cpuinfo, but unlike X86, we can only get this kind > > > of info: > > > > > > processor : 0 > > > BogoMIPS : 200.00 > > > Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid > > > CPU implementer : 0x43 > > > CPU architecture: 8 > > > CPU variant : 0x1 > > > CPU part : 0x0a1 > > > CPU revision : 1 > > > > > > so we have to perform some translation to perform human readable > > > information, and I mentioned that 'lscpu' has done that too. So Andrea > > > Bolognani > > > suggested that maybe we can use it directly, to avoid re-implement the > > > translation. Here is the discussion: > > > https://www.redhat.com/archives/libvir-list/2020-March/msg00812.html > > > > On x86 we get majority of info straight from calling the CPUID instruction, > > not /proc/cpuinfo, and use our XML data files in src/cpu_map to translate > > things into human readable names. I see you're adding XML data files > > with names in the earlier patches. Is it possible to add the hex values > > for the CPU implementer/architecture/variant/part to these XML files so > > we can directly map them in libvirt, in the same way we do for x86 Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|