On 24/05/23 03:17, Mark Johnston wrote:
The branch main has been updated by markj:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=e17eca327633efc511450310afb5e4a662724e3d

commit e17eca327633efc511450310afb5e4a662724e3d
Author:     Mark Johnston <[email protected]>
AuthorDate: 2023-05-24 01:13:33 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2023-05-24 01:15:59 +0000

     vmm: Avoid embedding cpuset_t ioctl ABIs
Commit 0bda8d3e9f7a ("vmm: permit some IPIs to be handled by userspace")
     embedded cpuset_t into the vmm(4) ioctl ABI.  This was a mistake since
     we otherwise have some leeway to change the cpuset_t for the whole
     system, but we want to keep the vmm ioctl ABI stable.
Rework IPI reporting to avoid this problem. Along the way, make VM_RUN
     a bit more efficient:
     - Split vmexit metadata out of the main VM_RUN structure.  This data is
       only written by the kernel.
     - Have userspace pass a cpuset_t pointer and cpusetsize in the VM_RUN
       structure, as is done for cpuset syscalls.
     - Have the destination CPU mask for VM_EXITCODE_IPIs live outside the
       vmexit info structure, and make VM_RUN copy it out separately.  Zero
       out any extra bytes in the CPU mask, like cpuset syscalls do.
     - Modify the vmexit handler prototype to take a full VM_RUN structure.
PR: 271330
     Reviewed by:    corvink, jhb (previous versions)
     Sponsored by:   The FreeBSD Foundation
     Differential Revision:  https://reviews.freebsd.org/D40113

Looks like this is breaking world build:

/poudriere/jails/14amd64/usr/src/usr.sbin/bhyvectl/bhyvectl.c:2389:24: error: incompatible pointer types passing 'struct vm_exit *' to paramet er of type 'struct vm_run *' [-Werror,-Wincompatible-pointer-types] error = vm_run(vcpu, &vmexit); ^~~~~~~ /usr/obj/poudriere/jails/14amd64/usr/src/amd64.amd64/tmp/usr/include/vmmapi.h:158:46: note: passing argument to parameter 'vmrun' here int vm_run(struct vcpu *vcpu, struct vm_run *vmrun); ^ 1 error generated. *** [bhyvectl.o] Error code 1


make[4]: stopped in /poudriere/jails/14amd64/usr/src/usr.sbin/bhyvectl


Looks like required adaptations to bhyvectl.c where left out.

--
Guido Falsi <[email protected]>


Reply via email to