Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 May 2023 10:13:57 +0200
From:      Guido Falsi <madpilot@FreeBSD.org>
To:        Mark Johnston <markj@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: e17eca327633 - main - vmm: Avoid embedding cpuset_t ioctl ABIs
Message-ID:  <e029eb3c-e1a2-dfbe-e2e1-15c5042ae994@FreeBSD.org>
In-Reply-To: <202305240117.34O1Hqbf086999@gitrepo.freebsd.org>
References:  <202305240117.34O1Hqbf086999@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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 <markj@FreeBSD.org>
> AuthorDate: 2023-05-24 01:13:33 +0000
> Commit:     Mark Johnston <markj@FreeBSD.org>
> 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 <madpilot@FreeBSD.org>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e029eb3c-e1a2-dfbe-e2e1-15c5042ae994>