emulators/xen-kernel,sysutils/xen-tools: update to 4.18.0

See release notes:

https://wiki.xenproject.org/wiki/Xen_Project_4.18_Release_Notes

Approved by: bapt (implicit)
This commit is contained in:
Roger Pau Monné
2023-12-19 12:14:59 +01:00
parent 82761978f2
commit 0ad4440c97
7 changed files with 38 additions and 197 deletions

View File

@@ -1,11 +1,11 @@
PORTNAME= xen
PKGNAMESUFFIX= -kernel
DISTVERSION= 4.17.2.20230929
DISTVERSION= 4.18.0.20231212
CATEGORIES= emulators
USE_GITLAB= yes
GL_ACCOUNT= xen-project
GL_TAGNAME= 0b56bed864ca9b572473957f0254aefa797216f2
GL_TAGNAME= 1792d1723b7fb45a20b145d2de4d233913b22c09
MAINTAINER= royger@FreeBSD.org
COMMENT= Hypervisor using a microkernel design
@@ -28,10 +28,6 @@ PLIST_FILES= /boot/xen \
lib/debug/boot/xen.debug \
lib/debug/boot/xen-debug.debug
# Support for fetching video mode for PVH dom0
EXTRA_PATCHES+= ${PATCHDIR}/0001-x86-platform-introduce-hypercall-to-get-initial-vide.patch:-p1 \
${PATCHDIR}/0001-x86-platform-make-XENPF_get_dom0_console-actually-us.patch:-p1
.include <bsd.port.options.mk>
.if ${OPSYS} != FreeBSD

View File

@@ -1,3 +1,3 @@
TIMESTAMP = 1697454930
SHA256 (xen-project-xen-0b56bed864ca9b572473957f0254aefa797216f2_GL0.tar.gz) = 67416c990b22ce989f7a1011482b5a99372b8a6060d55230258daf859524c0e5
SIZE (xen-project-xen-0b56bed864ca9b572473957f0254aefa797216f2_GL0.tar.gz) = 6703002
TIMESTAMP = 1702977481
SHA256 (xen-project-xen-1792d1723b7fb45a20b145d2de4d233913b22c09_GL0.tar.gz) = cd999c5c715190cffa80e51d2099423039aca535d478d0090c31bacdf33a3401
SIZE (xen-project-xen-1792d1723b7fb45a20b145d2de4d233913b22c09_GL0.tar.gz) = 6825501

View File

@@ -1,84 +0,0 @@
From 4dd160583c798d3a5a451ea74633836891d15354 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Date: Tue, 6 Dec 2022 13:53:43 +0100
Subject: [PATCH] x86/platform: introduce hypercall to get initial video
console settings
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This is required so PVH dom0 can get the initial video console state
as handled by Xen. PV dom0 will get this as part of the start_info,
but it doesn't seem necessary to place such information in the
HVM start info.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
xen/arch/x86/platform_hypercall.c | 11 +++++++++++
xen/drivers/video/vga.c | 2 +-
xen/include/public/platform.h | 6 ++++++
3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index a7341dc3d7..3f0d0389af 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -839,6 +839,17 @@ ret_t do_platform_op(
}
break;
+ case XENPF_get_dom0_console:
+ if ( !fill_console_start_info(&op->u.dom0_console) )
+ {
+ ret = -ENODEV;
+ break;
+ }
+
+ if ( copy_field_to_guest(u_xenpf_op, op, u.dom0_console) )
+ ret = -EFAULT;
+ break;
+
default:
ret = -ENOSYS;
break;
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index 29a88e8241..0a03508bee 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -205,7 +205,7 @@ static void cf_check vga_text_puts(const char *s, size_t nr)
}
}
-int __init fill_console_start_info(struct dom0_vga_console_info *ci)
+int fill_console_start_info(struct dom0_vga_console_info *ci)
{
memcpy(ci, &vga_console_info, sizeof(*ci));
return 1;
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 5e1494fe9a..14784dfa77 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -605,6 +605,11 @@ struct xenpf_symdata {
typedef struct xenpf_symdata xenpf_symdata_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_symdata_t);
+/* Fetch the video console information and mode setup by Xen. */
+#define XENPF_get_dom0_console 64
+typedef struct dom0_vga_console_info xenpf_dom0_console_t;
+DEFINE_XEN_GUEST_HANDLE(xenpf_dom0_console_t);
+
/*
* ` enum neg_errnoval
* ` HYPERVISOR_platform_op(const struct xen_platform_op*);
@@ -635,6 +640,7 @@ struct xen_platform_op {
xenpf_core_parking_t core_parking;
xenpf_resource_op_t resource_op;
xenpf_symdata_t symdata;
+ xenpf_dom0_console_t dom0_console;
uint8_t pad[128];
} u;
};
--
2.39.0

View File

@@ -1,58 +0,0 @@
From 7d43e4b2aa42b826e3d373b8e802ba925cc73088 Mon Sep 17 00:00:00 2001
From: Jan Beulich <jbeulich@suse.com>
Date: Mon, 13 Mar 2023 15:14:38 +0100
Subject: [PATCH] x86/platform: make XENPF_get_dom0_console actually usable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
struct dom0_vga_console_info has been extended in the past, and it may
be extended again. The use in PV Dom0's start info already covers for
that by supplying the size of the provided data. For the recently
introduced platform-op size needs providing similarly. Go the easiest
available route and simply supply size via the hypercall return value.
While there also add a build-time check that possibly future growth of
the struct won't affect xen_platform_op_t's size.
Fixes: 4dd160583c79 ("x86/platform: introduce hypercall to get initial video console settings")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
xen/arch/x86/platform_hypercall.c | 2 ++
xen/include/public/platform.h | 6 +++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 08ab2fea62..85c69c5be5 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -841,6 +841,8 @@ ret_t do_platform_op(
#ifdef CONFIG_VIDEO
case XENPF_get_dom0_console:
+ BUILD_BUG_ON(sizeof(op->u.dom0_console) > sizeof(op->u.pad));
+ ret = sizeof(op->u.dom0_console);
if ( !fill_console_start_info(&op->u.dom0_console) )
{
ret = -ENODEV;
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 14784dfa77..60caa5ce7e 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -605,7 +605,11 @@ struct xenpf_symdata {
typedef struct xenpf_symdata xenpf_symdata_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_symdata_t);
-/* Fetch the video console information and mode setup by Xen. */
+/*
+ * Fetch the video console information and mode setup by Xen. A non-
+ * negative return value indicates the size of the (part of the) structure
+ * which was filled.
+ */
#define XENPF_get_dom0_console 64
typedef struct dom0_vga_console_info xenpf_dom0_console_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_dom0_console_t);
--
2.39.0

View File

@@ -1,18 +1,16 @@
PORTNAME= xen
PKGNAMESUFFIX= -tools
DISTVERSION= 4.17.2.20230929
DISTVERSION= 4.18.0.20231212
CATEGORIES= sysutils emulators
USE_GITLAB= yes
GL_ACCOUNT= xen-project
GL_TAGNAME= 0b56bed864ca9b572473957f0254aefa797216f2
GL_TUPLE= qemu-project:qemu:v7.0.0:qemu \
GL_TAGNAME= 1792d1723b7fb45a20b145d2de4d233913b22c09
GL_TUPLE= qemu-project:qemu:v8.0.4:qemu \
qemu-project:dtc:b6910bec:dtc \
qemu-project:capstone:f8b1b833:capstone \
qemu-project:meson:12f9f04b:meson \
qemu-project:libslirp:a88d9ace:libslirp \
qemu-project:keycodemapdb:d21009b1:keycodemapdb \
qemu-project:berkeley-testfloat-3:5a59dcec:testfloat \
qemu-project:meson:3a9b285a:meson \
qemu-project:keycodemapdb:f5772a62:keycodemapdb \
qemu-project:berkeley-testfloat-3:40619cbb:testfloat \
qemu-project:berkeley-softfloat-3:b64af41c:softfloat
MAINTAINER= royger@FreeBSD.org
@@ -85,12 +83,8 @@ post-extract:
${MV} ${WRKSRC_qemu} ${WRKSRC}/tools/qemu-xen
${RM} -rf ${WRKSRC}/tools/qemu-xen/dtc
${MV} ${WRKSRC_dtc} ${WRKSRC}/tools/qemu-xen/dtc
${RM} -rf ${WRKSRC}/tools/qemu-xen/capstone
${MV} ${WRKSRC_capstone} ${WRKSRC}/tools/qemu-xen/capstone
${RM} -rf ${WRKSRC}/tools/qemu-xen/meson
${MV} ${WRKSRC_meson} ${WRKSRC}/tools/qemu-xen/meson
${RM} -rf ${WRKSRC}/tools/qemu-xen/slirp
${MV} ${WRKSRC_libslirp} ${WRKSRC}/tools/qemu-xen/slirp
${RM} -rf ${WRKSRC}/tools/qemu-xen/ui/keycodemapdb
${MV} ${WRKSRC_keycodemapdb} ${WRKSRC}/tools/qemu-xen/ui/keycodemapdb
${RM} -rf ${WRKSRC}/tools/qemu-xen/tests/fp/berkeley-testfloat-3

View File

@@ -1,19 +1,15 @@
TIMESTAMP = 1697454986
SHA256 (xen-project-xen-0b56bed864ca9b572473957f0254aefa797216f2_GL0.tar.gz) = 67416c990b22ce989f7a1011482b5a99372b8a6060d55230258daf859524c0e5
SIZE (xen-project-xen-0b56bed864ca9b572473957f0254aefa797216f2_GL0.tar.gz) = 6703002
SHA256 (qemu-v7.0.0.tar.bz2) = 10262ddbc2386f34538bef06fb8ddf44fdb8b40490d9ad159fa1d9f2ef86fa39
SIZE (qemu-v7.0.0.tar.bz2) = 26719958
TIMESTAMP = 1702977532
SHA256 (xen-project-xen-1792d1723b7fb45a20b145d2de4d233913b22c09_GL0.tar.gz) = cd999c5c715190cffa80e51d2099423039aca535d478d0090c31bacdf33a3401
SIZE (xen-project-xen-1792d1723b7fb45a20b145d2de4d233913b22c09_GL0.tar.gz) = 6825501
SHA256 (qemu-v8.0.4.tar.bz2) = 958eae6b32046bb512b5b968f66e896258fa8c4ec5c7fdf2d780fd206c677774
SIZE (qemu-v8.0.4.tar.bz2) = 31468222
SHA256 (dtc-b6910bec.tar.bz2) = f180420b105bdd35cfee9977d6ee2ee5d6601aa2a84693c048a985a604bd2c1c
SIZE (dtc-b6910bec.tar.bz2) = 163044
SHA256 (capstone-f8b1b833.tar.bz2) = dbc6add9a93bfeb69c38e8d7370b458d264971f629f70fd9d4e0a8fa113599a4
SIZE (capstone-f8b1b833.tar.bz2) = 4590278
SHA256 (meson-12f9f04b.tar.bz2) = 58bc8d869195e896053395fe497ef21f6c028d1e71e87fdd72f0518c8045e9eb
SIZE (meson-12f9f04b.tar.bz2) = 3623904
SHA256 (libslirp-a88d9ace.tar.bz2) = d27e69c4c53d1cc1c12300ba945c8d8de5ab282c03605c28a72c18646a166060
SIZE (libslirp-a88d9ace.tar.bz2) = 103024
SHA256 (keycodemapdb-d21009b1.tar.bz2) = 5b3eb3d9d0bb13e25782b0f7181d6f9d32890662ff54df630193c0eeb3110e1a
SIZE (keycodemapdb-d21009b1.tar.bz2) = 44265
SHA256 (berkeley-testfloat-3-5a59dcec.tar.bz2) = 0548a759f2ac4ed6aa8af6a382a3826fe2298cde5cc11d77a11a8e54ca84d312
SIZE (berkeley-testfloat-3-5a59dcec.tar.bz2) = 89913
SHA256 (meson-3a9b285a.tar.bz2) = 2ab212e390b5d5458cee0c0217160f9e390aa95cf366e7327876a1019aaf006b
SIZE (meson-3a9b285a.tar.bz2) = 4054688
SHA256 (keycodemapdb-f5772a62.tar.bz2) = d349b02f0c95b5fb4bf8aa25d64395b04e8d5d98025c3e6e6ac8fe6f54005681
SIZE (keycodemapdb-f5772a62.tar.bz2) = 27905
SHA256 (berkeley-testfloat-3-40619cbb.tar.bz2) = 371e2a9c62ef020891bd03eef1a4caed3f34e9736732e6a11deb3acde6f9b07c
SIZE (berkeley-testfloat-3-40619cbb.tar.bz2) = 90086
SHA256 (berkeley-softfloat-3-b64af41c.tar.bz2) = d56b54c557485f6126838391088e3a3d3d41c80d68099b0d90bcc09f533f2e9e
SIZE (berkeley-softfloat-3-b64af41c.tar.bz2) = 83736

View File

@@ -2,7 +2,6 @@ bin/pygrub
bin/xen-cpuid
bin/xen-detect
bin/xenalyze
bin/xencons
bin/xencov_split
bin/xenstore
bin/xenstore-chmod
@@ -39,6 +38,7 @@ include/xen/COPYING
include/xen/arch-arm.h
include/xen/arch-arm/hvm/save.h
include/xen/arch-arm/smccc.h
include/xen/arch-ppc.h
include/xen/arch-x86/cpufeatureset.h
include/xen/arch-x86/cpuid.h
include/xen/arch-x86/guest-acpi.h
@@ -146,8 +146,8 @@ lib/libxencall.so.1
lib/libxencall.so.1.3
lib/libxenctrl.a
lib/libxenctrl.so
lib/libxenctrl.so.4.17
lib/libxenctrl.so.4.17.0
lib/libxenctrl.so.4.18
lib/libxenctrl.so.4.18.0
lib/libxendevicemodel.a
lib/libxendevicemodel.so
lib/libxendevicemodel.so.1
@@ -161,28 +161,28 @@ lib/libxenforeignmemory.so
lib/libxenforeignmemory.so.1
lib/libxenforeignmemory.so.1.4
lib/libxenfsimage.so
lib/libxenfsimage.so.4.17
lib/libxenfsimage.so.4.17.0
lib/libxenfsimage.so.4.18
lib/libxenfsimage.so.4.18.0
lib/libxengnttab.a
lib/libxengnttab.so
lib/libxengnttab.so.1
lib/libxengnttab.so.1.2
lib/libxenguest.a
lib/libxenguest.so
lib/libxenguest.so.4.17
lib/libxenguest.so.4.17.0
lib/libxenguest.so.4.18
lib/libxenguest.so.4.18.0
lib/libxenhypfs.a
lib/libxenhypfs.so
lib/libxenhypfs.so.1
lib/libxenhypfs.so.1.0
lib/libxenlight.a
lib/libxenlight.so
lib/libxenlight.so.4.17
lib/libxenlight.so.4.17.0
lib/libxenlight.so.4.18
lib/libxenlight.so.4.18.0
lib/libxenstat.a
lib/libxenstat.so
lib/libxenstat.so.4.17
lib/libxenstat.so.4.17.0
lib/libxenstat.so.4.18
lib/libxenstat.so.4.18.0
lib/libxenstore.a
lib/libxenstore.so
lib/libxenstore.so.4
@@ -197,8 +197,8 @@ lib/libxentoollog.so.1
lib/libxentoollog.so.1.0
lib/libxlutil.a
lib/libxlutil.so
lib/libxlutil.so.4.17
lib/libxlutil.so.4.17.0
lib/libxlutil.so.4.18
lib/libxlutil.so.4.18.0
%%PYTHON_SITELIBDIR%%/grub/ExtLinuxConf.py
%%PYTHON_SITELIBDIR%%/grub/ExtLinuxConf.pyc
%%PYTHON_SITELIBDIR%%/grub/GrubConf.py
@@ -256,7 +256,6 @@ lib/xen/bin/xen-init-dom0
lib/xen/bin/xenconsole
lib/xen/bin/xenctx
lib/xen/bin/xenpaging
lib/xen/bin/xenpvnetboot
lib/xen/boot/hvmloader
lib/xen/boot/xen-shim
lib/xen/include/qemu-plugin.h
@@ -339,10 +338,10 @@ sbin/xentrace_setmask
sbin/xentrace_setsize
sbin/xenwatchdogd
sbin/xl
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/.deps
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,arch-arm,hvm,save.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,arch-arm,smccc.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,arch-arm.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,arch-ppc.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,argo.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,callback.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,public,device_tree_defs.h.html
@@ -405,7 +404,7 @@ sbin/xl
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/include,xen,errno.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/arm/index.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/index.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/.deps
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-ppc.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,cpufeatureset.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,cpuid.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,arch-x86,guest-acpi.h.html
@@ -477,7 +476,7 @@ sbin/xl
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,public,xsm,flask_op.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/include,xen,errno.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_32/index.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/.deps
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-ppc.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,cpufeatureset.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,cpuid.h.html
%%PORTDOCS%%%%DOCSDIR%%/html/hypercall/x86_64/include,public,arch-x86,guest-acpi.h.html
@@ -682,7 +681,6 @@ share/qemu-xen/qemu/qboot.rom
share/qemu-xen/qemu/qemu_vga.ndrv
share/qemu-xen/qemu/s390-ccw.img
share/qemu-xen/qemu/s390-netboot.img
share/qemu-xen/qemu/sgabios.bin
share/qemu-xen/qemu/skiboot.lid
share/qemu-xen/qemu/slof.bin
share/qemu-xen/qemu/trace-events-all
@@ -734,4 +732,3 @@ share/qemu-xen/qemu/vgabios-ramfb.bin
@dir /var/lib
@dir /var/log/xen
@dir /var/run/xen
@dir /var/run/xenstored