bd688fc931
This API allows the accelerators to prevent vcpus from issuing new ioctls while execting a critical section marked with the accel_ioctl_inhibit_begin/end functions. Note that all functions submitting ioctls must mark where the ioctl is being called with accel_{cpu_}ioctl_begin/end(). This API requires the caller to always hold the BQL. API documentation is in sysemu/accel-blocker.h Internally, it uses a QemuLockCnt together with a per-CPU QemuLockCnt (to minimize cache line bouncing) to keep avoid that new ioctls run when the critical section starts, and a QemuEvent to wait that all running ioctls finish. Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20221111154758.1372674-2-eesposit@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
16 lines
303 B
Meson
16 lines
303 B
Meson
specific_ss.add(files('accel-common.c', 'accel-blocker.c'))
|
|
softmmu_ss.add(files('accel-softmmu.c'))
|
|
user_ss.add(files('accel-user.c'))
|
|
|
|
subdir('tcg')
|
|
if have_system
|
|
subdir('hvf')
|
|
subdir('qtest')
|
|
subdir('kvm')
|
|
subdir('xen')
|
|
subdir('stubs')
|
|
endif
|
|
|
|
# qtest
|
|
softmmu_ss.add(files('dummy-cpus.c'))
|