On Thu, Apr 25, 2024 at 02:21:06AM +0000, Hao Xiang wrote: > * DSA device open and close. > * DSA group contains multiple DSA devices. > * DSA group configure/start/stop/clean. > > Signed-off-by: Hao Xiang <hao.xi...@linux.dev> > Signed-off-by: Bryan Zhang <bryan.zh...@bytedance.com> > --- > include/qemu/dsa.h | 72 +++++++++++ > util/dsa.c | 316 +++++++++++++++++++++++++++++++++++++++++++++ > util/meson.build | 1 + > 3 files changed, 389 insertions(+) > create mode 100644 include/qemu/dsa.h > create mode 100644 util/dsa.c > > diff --git a/include/qemu/dsa.h b/include/qemu/dsa.h > new file mode 100644 > index 0000000000..f15c05ee85 > --- /dev/null > +++ b/include/qemu/dsa.h > @@ -0,0 +1,72 @@ > +#ifndef QEMU_DSA_H > +#define QEMU_DSA_H > + > +#include "qemu/error-report.h" > +#include "qemu/thread.h" > +#include "qemu/queue.h" > + > +#ifdef CONFIG_DSA_OPT > + > +#pragma GCC push_options > +#pragma GCC target("enqcmd")
You've tested in meson.build that the compiler supports 'enqcmd' which is good. I'm not seeing anything that tests whether the host running this code supports 'enqcmd'. There needs to be a CPUID check for this at runtime. With 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 :|