Olaf Hering <o...@aepfle.de> writes:
> [[PGP Signed Part:Undecided]] > Qemu v7.2.1 can be compiled with Xen 4.6, but v8.0.0-rc3 needs now at > least Xen 4.7. Was this caused by the addition of the KVM Xen target support or some other churn since? > > Is Xen older than 4.7 still a supported target? There is a lot compat > code, and the meson checks go back to 4.2. We should certainly update that because currently the Xen support pages: https://xenbits.xen.org/docs/unstable/support-matrix.html only list 4.14 and above as still being in security support. The list only goes back to 4.10 so I would assume anything earlier is out of scope. We don't currently document anything about minimum versions of the hypervisors supported in: https://qemu.readthedocs.io/en/latest/about/build-platforms.html I don't know if we want to make specific statements about hypervisor versions or just go for the oldest version shipping on the oldest LTS we support? Debian Buster 4.11.4 Debian Bullseye 4.14.5 Debian Bookwork (dev) 4.17 Ubuntu 22.04 4.16.0 OpenSUSE 15.4 4.16.0 I couldn't find the RHEL data on repology.org > > Olaf > > > FAILED: libcommon.fa.p/hw_xen_xen-operations.c.o > /usr/bin/gcc-7 -m64 -mcx16 -Ilibcommon.fa.p -I/usr/include/pixman-1 > -I/usr/include/libpng16 -I/usr/include/spice-server -I/usr/include/cacard > -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/glib-2.0 > -I/usr/lib64/glib-2.0/include -I/usr/include/spice-1 -I/usr/include/p11-kit-1 > -I/usr/include/libusb-1.0 -I/usr/include/libmount -I/usr/include/blkid > -I/usr/include/gio-unix-2.0 -I/usr/include/ncursesw -fdiagnostics-color=auto > -Wall -Winvalid-pch -std=gnu11 -O2 -isystem /Qc6f3cbca32/linux-headers > -isystem linux-headers -iquote . -iquote /Qc6f3cbca32 -iquote > /Qc6f3cbca32/include -iquote /Qc6f3cbca32/tcg/i386 -pthread -U_FORTIFY_SOURCE > -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing > -fno-common -fwrapv -Wundef -Wwrite-strings -Wmissing-prototypes > -Wstrict-prototypes -Wredundant-decls -Wold-style-declaration > -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k > -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-labels > -Wexpansion-to-defined -Wimplicit-fallthrough=2 -Wmissing-format-attribute > -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-psabi > -fstack-protector-strong -fmessage-length=0 -grecord-gcc-switches -O2 -Wall > -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables > -fasynchronous-unwind-tables -fstack-clash-protection -fPIE > -DOPENSSL_LOAD_CONF -MD -MQ libcommon.fa.p/hw_xen_xen-operations.c.o -MF > libcommon.fa.p/hw_xen_xen-operations.c.o.d -o > libcommon.fa.p/hw_xen_xen-operations.c.o -c ../hw/xen/xen-operations.c > In file included from ../hw/xen/xen-operations.c:16:0: > /Qc6f3cbca32/include/hw/xen/xen_native.h: In function 'xenforeignmemory_map2': > /Qc6f3cbca32/include/hw/xen/xen_native.h:121:12: warning: implicit > declaration of function 'xenforeignmemory_map'; did you mean > 'xenforeignmemory_map2'? [-Wimplicit-function-declaration] > return xenforeignmemory_map(h, dom, prot, pages, arr, err); > ^~~~~~~~~~~~~~~~~~~~ > xenforeignmemory_map2 > /Qc6f3cbca32/include/hw/xen/xen_native.h:121:12: warning: nested extern > declaration of 'xenforeignmemory_map' [-Wnested-externs] > /Qc6f3cbca32/include/hw/xen/xen_native.h:121:12: warning: return makes > pointer from integer without a cast [-Wint-conversion] > return xenforeignmemory_map(h, dom, prot, pages, arr, err); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../hw/xen/xen-operations.c: At top level: > ../hw/xen/xen-operations.c:37:19: error: conflicting types for > 'xenevtchn_handle' > typedef xc_evtchn xenevtchn_handle; > ^~~~~~~~~~~~~~~~ > In file included from ../hw/xen/xen-operations.c:17:0: > /Qc6f3cbca32/include/hw/xen/xen_backend_ops.h:33:33: note: previous > declaration of 'xenevtchn_handle' was here > typedef struct xenevtchn_handle xenevtchn_handle; > ^~~~~~~~~~~~~~~~ > ../hw/xen/xen-operations.c:49:19: error: conflicting types for > 'xengnttab_handle' > typedef xc_gnttab xengnttab_handle; > ^~~~~~~~~~~~~~~~ > In file included from ../hw/xen/xen-operations.c:17:0: > /Qc6f3cbca32/include/hw/xen/xen_backend_ops.h:136:33: note: previous > declaration of 'xengnttab_handle' was here > typedef struct xengntdev_handle xengnttab_handle; > ^~~~~~~~~~~~~~~~ > ../hw/xen/xen-operations.c:193:13: warning: initialization from incompatible > pointer type [-Wincompatible-pointer-types] > .open = libxenevtchn_backend_open, > ^~~~~~~~~~~~~~~~~~~~~~~~~ > ../hw/xen/xen-operations.c:193:13: note: (near initialization for > 'libxenevtchn_backend_ops.open') > ../hw/xen/xen-operations.c:194:14: error: 'xenevtchn_close' undeclared here > (not in a function); did you mean 'xc_evtchn_close'? > .close = xenevtchn_close, > ^~~~~~~~~~~~~~~ > xc_evtchn_close > ../hw/xen/xen-operations.c:195:25: error: 'xenevtchn_bind_interdomain' > undeclared here (not in a function); did you mean > 'xc_evtchn_bind_interdomain'? > .bind_interdomain = xenevtchn_bind_interdomain, > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > xc_evtchn_bind_interdomain > ../hw/xen/xen-operations.c:196:15: error: 'xenevtchn_unbind' undeclared here > (not in a function); did you mean 'xc_evtchn_unbind'? > .unbind = xenevtchn_unbind, > ^~~~~~~~~~~~~~~~ > xc_evtchn_unbind > ../hw/xen/xen-operations.c:197:15: error: 'xenevtchn_fd' undeclared here (not > in a function); did you mean 'xc_evtchn_fd'? > .get_fd = xenevtchn_fd, > ^~~~~~~~~~~~ > xc_evtchn_fd > ../hw/xen/xen-operations.c:198:15: error: 'xenevtchn_notify' undeclared here > (not in a function); did you mean 'xc_evtchn_notify'? > .notify = xenevtchn_notify, > ^~~~~~~~~~~~~~~~ > xc_evtchn_notify > ../hw/xen/xen-operations.c:199:15: error: 'xenevtchn_unmask' undeclared here > (not in a function); did you mean 'xc_evtchn_unmask'? > .unmask = xenevtchn_unmask, > ^~~~~~~~~~~~~~~~ > xc_evtchn_unmask > ../hw/xen/xen-operations.c:200:16: error: 'xenevtchn_pending' undeclared here > (not in a function); did you mean 'xc_evtchn_pending'? > .pending = xenevtchn_pending, > ^~~~~~~~~~~~~~~~~ > xc_evtchn_pending > ../hw/xen/xen-operations.c:218:13: warning: initialization from incompatible > pointer type [-Wincompatible-pointer-types] > .open = libxengnttab_backend_open, > ^~~~~~~~~~~~~~~~~~~~~~~~~ > ../hw/xen/xen-operations.c:218:13: note: (near initialization for > 'libxengnttab_backend_ops.open') > ../hw/xen/xen-operations.c:219:14: error: 'xengnttab_close' undeclared here > (not in a function); did you mean 'xc_gnttab_close'? > .close = xengnttab_close, > ^~~~~~~~~~~~~~~ > xc_gnttab_close > ../hw/xen/xen-operations.c:220:19: warning: initialization from incompatible > pointer type [-Wincompatible-pointer-types] > .grant_copy = libxengnttab_fallback_grant_copy, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../hw/xen/xen-operations.c:220:19: note: (near initialization for > 'libxengnttab_backend_ops.grant_copy') > ../hw/xen/xen-operations.c:221:23: error: 'xengnttab_set_max_grants' > undeclared here (not in a function); did you mean 'xc_gnttab_set_max_grants'? > .set_max_grants = xengnttab_set_max_grants, > ^~~~~~~~~~~~~~~~~~~~~~~~ > xc_gnttab_set_max_grants > ../hw/xen/xen-operations.c:222:17: error: 'xengnttab_map_domain_grant_refs' > undeclared here (not in a function); did you mean > 'xc_gnttab_map_domain_grant_refs'? > .map_refs = xengnttab_map_domain_grant_refs, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > xc_gnttab_map_domain_grant_refs > ../hw/xen/xen-operations.c:223:14: warning: initialization from incompatible > pointer type [-Wincompatible-pointer-types] > .unmap = libxengnttab_backend_unmap, > ^~~~~~~~~~~~~~~~~~~~~~~~~~ > ../hw/xen/xen-operations.c:223:14: note: (near initialization for > 'libxengnttab_backend_ops.unmap') > ../hw/xen/xen-operations.c:229:57: error: unknown type name 'xfn_pfn_t'; did > you mean 'xen_pfn_t'? > size_t pages, xfn_pfn_t *pfns, > ^~~~~~~~~ > xen_pfn_t > ../hw/xen/xen-operations.c:262:12: error: 'libxenforeignmem_backend_map' > undeclared here (not in a function); did you mean > 'libxenforeignmem_backend_unmap'? > .map = libxenforeignmem_backend_map, > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > libxenforeignmem_backend_unmap > ninja: build stopped: subcommand failed. > make[1]: *** [Makefile:165: run-ninja] Error 1 > > [[End of PGP Signed Part]] -- Alex Bennée Virtualisation Tech Lead @ Linaro