Index: head/emulators/xen-kernel/Makefile =================================================================== --- head/emulators/xen-kernel/Makefile (revision 563207) +++ head/emulators/xen-kernel/Makefile (revision 563208) @@ -1,52 +1,52 @@ # $FreeBSD$ PORTNAME= xen -PORTVERSION= 4.14.0 +PORTVERSION= 4.14.1 PORTREVISION= 0 CATEGORIES= emulators MASTER_SITES= http://downloads.xenproject.org/release/xen/${PORTVERSION}/ PKGNAMESUFFIX= -kernel MAINTAINER= royger@FreeBSD.org COMMENT= Hypervisor using a microkernel design LICENSE= GPLv2 ONLY_FOR_ARCHS= amd64 USES= cpe gmake python:build bison # Ports build environment has ARCH=amd64 set which disables Xen automatic arch # detection, but amd64 is not a valid arch for Xen. Hardcode x86_64 on the # command line in order to overwrite the one from the environment. MAKE_ARGS= clang=y PYTHON=${PYTHON_CMD} ARCH=x86_64 NO_MTREE= yes STRIP= # PLIST_FILES= /boot/xen \ lib/debug/boot/xen.debug -# Fix build with clang 11 -EXTRA_PATCHES+= ${PATCHDIR}/0001-x86-use-constant-flags-for-section-.init.rodata.patch:-p1 +# Propagate module command line passed by the loader. +EXTRA_PATCHES+= ${PATCHDIR}/0001-x86-pvh-pass-module-command-line-to-dom0.patch:-p1 .include .if ${OPSYS} != FreeBSD IGNORE= only supported on FreeBSD .endif .if ${OSVERSION} < 1200074 IGNORE= only supported on FreeBSD 12.0 or newer .endif # The ports native 'build' target cannot be used because it sets # CFLAGS, and that breaks the Xen build system. do-build: ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} build-xen ${MAKE_ARGS} do-install: ${MKDIR} ${STAGEDIR}/boot ${MKDIR} ${STAGEDIR}${PREFIX}/lib/debug/boot/ ${INSTALL_PROGRAM} ${WRKSRC}/xen/xen ${STAGEDIR}/boot ${INSTALL_DATA} ${WRKSRC}/xen/xen-syms ${STAGEDIR}${PREFIX}/lib/debug/boot/xen.debug .include Index: head/emulators/xen-kernel/distinfo =================================================================== --- head/emulators/xen-kernel/distinfo (revision 563207) +++ head/emulators/xen-kernel/distinfo (revision 563208) @@ -1,3 +1,3 @@ -TIMESTAMP = 1598458426 -SHA256 (xen-4.14.0.tar.gz) = 06839f68ea7620669dbe8b67861213223cc2a7d02ced61b56e5249c50e87f035 -SIZE (xen-4.14.0.tar.gz) = 39950576 +TIMESTAMP = 1611929407 +SHA256 (xen-4.14.1.tar.gz) = cf0d7316ad674491f49b7ef0518cb1d906a2e3bfad639deef0ef2343b119ac0c +SIZE (xen-4.14.1.tar.gz) = 39970115 Index: head/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch =================================================================== --- head/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch (revision 563207) +++ head/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch (nonexistent) @@ -1,62 +0,0 @@ -From 40a95cf571242cffed8b35a7301730e2b45c217d Mon Sep 17 00:00:00 2001 -From: Roger Pau Monne -To: xen-devel@lists.xenproject.org -Cc: Jan Beulich -Cc: Andrew Cooper -Cc: Wei Liu -Cc: "Roger Pau Monné" -Date: Wed, 26 Aug 2020 15:37:24 +0200 -Subject: [PATCH] x86: use constant flags for section .init.rodata -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -LLVM 11 complains with: - -:1:1: error: changed section flags for .init.rodata, expected: 0x2 -.pushsection .init.rodata -^ -:30:9: note: while in macro instantiation - entrypoint 0 - ^ -entry.S:979:9: note: while in macro instantiation - .rept 256 - ^ - -And: - -entry.S:1015:9: error: changed section flags for .init.rodata, expected: 0x2 - .section .init.rodata - ^ - -Fix it by explicitly using the same flags and type in all the -instances. - -Signed-off-by: Roger Pau Monné ---- - xen/arch/x86/x86_64/entry.S | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S -index 8b57a00040..1e880eb9f6 100644 ---- a/xen/arch/x86/x86_64/entry.S -+++ b/xen/arch/x86/x86_64/entry.S -@@ -967,7 +967,7 @@ GLOBAL(trap_nop) - GLOBAL(autogen_entrypoints) - /* pop into the .init.rodata section and record an entry point. */ - .macro entrypoint ent -- .pushsection .init.rodata -+ .pushsection .init.rodata, "a", @progbits - .quad \ent - .popsection - .endm -@@ -1012,5 +1012,5 @@ autogen_stubs: /* Automatically generated stubs. */ - vec = vec + 1 - .endr - -- .section .init.rodata -+ .section .init.rodata, "a", @progbits - .size autogen_entrypoints, . - autogen_entrypoints --- -2.28.0 - Property changes on: head/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/emulators/xen-kernel/files/0001-x86-pvh-pass-module-command-line-to-dom0.patch =================================================================== --- head/emulators/xen-kernel/files/0001-x86-pvh-pass-module-command-line-to-dom0.patch (nonexistent) +++ head/emulators/xen-kernel/files/0001-x86-pvh-pass-module-command-line-to-dom0.patch (revision 563208) @@ -0,0 +1,54 @@ +From ddc03f91858b21a1641909d1a1f55604be627d82 Mon Sep 17 00:00:00 2001 +From: Roger Pau Monne +Date: Fri, 29 Jan 2021 09:59:03 +0100 +Subject: [PATCH] x86/pvh: pass module command line to dom0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Both the multiboot and the HVM start info structures allow passing a +string together with a module. Implement the missing support in +pvh_load_kernel so that module strings found in the multiboot +structure are forwarded to dom0. + +Fixes: 62ba982424 ('x86: parse Dom0 kernel for PVHv2') +Signed-off-by: Roger Pau Monné +--- +NB: str cannot be made const because __hvm_copy buf parameter (that +maps to str in the added code) is bi-directional depending on the +flags passed to the function. +--- + xen/arch/x86/hvm/dom0_build.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c +index 12a82c9d7c..28c29d2669 100644 +--- a/xen/arch/x86/hvm/dom0_build.c ++++ b/xen/arch/x86/hvm/dom0_build.c +@@ -617,7 +617,22 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image, + + mod.paddr = last_addr; + mod.size = initrd->mod_end; +- last_addr += ROUNDUP(initrd->mod_end, PAGE_SIZE); ++ last_addr += ROUNDUP(initrd->mod_end, elf_64bit(&elf) ? 8 : 4); ++ if ( initrd->string ) ++ { ++ char *str = __va(initrd->string); ++ unsigned int len = strlen(str) + 1; ++ ++ rc = hvm_copy_to_guest_phys(last_addr, str, len, v); ++ if ( rc ) ++ { ++ printk("Unable to copy module command line\n"); ++ return rc; ++ } ++ mod.cmdline_paddr = last_addr; ++ last_addr += len; ++ } ++ last_addr = ROUNDUP(last_addr, PAGE_SIZE); + } + + /* Free temporary buffers. */ +-- +2.29.2 + Property changes on: head/emulators/xen-kernel/files/0001-x86-pvh-pass-module-command-line-to-dom0.patch ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/sysutils/xen-tools/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch =================================================================== --- head/sysutils/xen-tools/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch (revision 563207) +++ head/sysutils/xen-tools/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch (nonexistent) @@ -1,62 +0,0 @@ -From 40a95cf571242cffed8b35a7301730e2b45c217d Mon Sep 17 00:00:00 2001 -From: Roger Pau Monne -To: xen-devel@lists.xenproject.org -Cc: Jan Beulich -Cc: Andrew Cooper -Cc: Wei Liu -Cc: "Roger Pau Monné" -Date: Wed, 26 Aug 2020 15:37:24 +0200 -Subject: [PATCH] x86: use constant flags for section .init.rodata -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -LLVM 11 complains with: - -:1:1: error: changed section flags for .init.rodata, expected: 0x2 -.pushsection .init.rodata -^ -:30:9: note: while in macro instantiation - entrypoint 0 - ^ -entry.S:979:9: note: while in macro instantiation - .rept 256 - ^ - -And: - -entry.S:1015:9: error: changed section flags for .init.rodata, expected: 0x2 - .section .init.rodata - ^ - -Fix it by explicitly using the same flags and type in all the -instances. - -Signed-off-by: Roger Pau Monné ---- - xen/arch/x86/x86_64/entry.S | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S -index 8b57a00040..1e880eb9f6 100644 ---- a/xen/arch/x86/x86_64/entry.S -+++ b/xen/arch/x86/x86_64/entry.S -@@ -967,7 +967,7 @@ GLOBAL(trap_nop) - GLOBAL(autogen_entrypoints) - /* pop into the .init.rodata section and record an entry point. */ - .macro entrypoint ent -- .pushsection .init.rodata -+ .pushsection .init.rodata, "a", @progbits - .quad \ent - .popsection - .endm -@@ -1012,5 +1012,5 @@ autogen_stubs: /* Automatically generated stubs. */ - vec = vec + 1 - .endr - -- .section .init.rodata -+ .section .init.rodata, "a", @progbits - .size autogen_entrypoints, . - autogen_entrypoints --- -2.28.0 - Property changes on: head/sysutils/xen-tools/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/sysutils/xen-tools/Makefile =================================================================== --- head/sysutils/xen-tools/Makefile (revision 563207) +++ head/sysutils/xen-tools/Makefile (revision 563208) @@ -1,98 +1,95 @@ # $FreeBSD$ PORTNAME= xen PKGNAMESUFFIX= -tools -PORTVERSION= 4.14.0 -PORTREVISION= 1 +PORTVERSION= 4.14.1 +PORTREVISION= 0 CATEGORIES= sysutils emulators MASTER_SITES= http://downloads.xenproject.org/release/xen/${PORTVERSION}/ MAINTAINER= royger@FreeBSD.org COMMENT= Xen management tools LICENSE= GPLv2 LGPL3 LICENSE_COMB= multi LIB_DEPENDS= libyajl.so:devel/yajl \ liblzo2.so:archivers/lzo2 \ libpixman-1.so:x11/pixman \ libargp.so:devel/argp-standalone \ libxml2.so:textproc/libxml2 BUILD_DEPENDS= seabios>0:misc/seabios RUN_DEPENDS= seabios>0:misc/seabios DOCS_BUILD_DEPENDS=markdown:textproc/markdown OPTIONS_DEFINE= DOCS SPICE OPTIONS_DEFAULT= DOCS OPTIONS_SUB= yes SPICE_DESC= Enable SPICE protocol for QEMU SPICE_CONFIGURE_WITH= extra-qemuu-configure-args="--enable-spice" SPICE_BUILD_DEPENDS= spice-protocol>=0.12.10:devel/spice-protocol SPICE_LIB_DEPENDS= libspice-server.so:devel/libspice-server ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= "not yet ported to anything other than amd64" USES= cpe gettext gmake gnome libtool localbase:ldflags perl5 \ pkgconfig python:3.6+ shebangfix iconv bison USE_GNOME= glib20 USE_LDCONFIG= yes USE_PYTHON= py3kplist HAS_CONFIGURE= yes # Set ARCH=x86_64 in order to overwrite the environment ARCH=amd64 MAKE_ARGS= clang=y ARCH=x86_64 BINARY_ALIAS= python3=${PYTHON_CMD} CONFIGURE_ARGS+= --with-system-seabios=${LOCALBASE}/share/seabios/bios.bin \ --mandir=${MANPREFIX}/man SHEBANG_FILES= tools/misc/xencov_split \ tools/python/scripts/convert-legacy-stream \ tools/python/scripts/verify-stream-v2 \ tools/xenmon/xenmon.py ALL_TARGET= tools DOCS_ALL_TARGET= docs INSTALL_TARGET= install-tools DOCS_INSTALL_TARGET= install-docs - -# Fix build with clang 11 -EXTRA_PATCHES+= ${PATCHDIR}/0001-x86-use-constant-flags-for-section-.init.rodata.patch:-p1 .include .if ${OPSYS} != FreeBSD IGNORE= only supported on FreeBSD .endif .if ${OSVERSION} < 1200074 IGNORE= only supported on FreeBSD 12.0 or newer .endif .if ${PORT_OPTIONS:MSPICE} && ${OSVERSION} < 1300008 BROKEN= SPICE support requires FreeBSD version 13.0 or higher .endif post-patch: @for p in `ls ${FILESDIR}/*qemuu*.patch 2>/dev/null`; do \ ${ECHO_CMD} "====> Applying $${p##*/}" ; \ ${PATCH} -s -p1 -i $${p} -d ${WRKSRC}/tools/qemu-xen ; \ done # The ports native 'build' target cannot be used because it sets CFLAGS, and # that breaks the Xen kernel build system that's used by the tools in order to # build the pv-shim. do-build: ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} ${MAKE_ARGS} ${ALL_TARGET} do-install: ${MAKE_CMD} -j${MAKE_JOBS_NUMBER} -C ${WRKSRC} ${MAKE_ARGS} ${INSTALL_TARGET} post-install: ${MKDIR} ${STAGEDIR}/var/run/xen # Empty dir, purge it. ${RMDIR} ${STAGEDIR}/${PREFIX}/lib/xen/include .include Index: head/sysutils/xen-tools/distinfo =================================================================== --- head/sysutils/xen-tools/distinfo (revision 563207) +++ head/sysutils/xen-tools/distinfo (revision 563208) @@ -1,3 +1,3 @@ -TIMESTAMP = 1598459427 -SHA256 (xen-4.14.0.tar.gz) = 06839f68ea7620669dbe8b67861213223cc2a7d02ced61b56e5249c50e87f035 -SIZE (xen-4.14.0.tar.gz) = 39950576 +TIMESTAMP = 1611929626 +SHA256 (xen-4.14.1.tar.gz) = cf0d7316ad674491f49b7ef0518cb1d906a2e3bfad639deef0ef2343b119ac0c +SIZE (xen-4.14.1.tar.gz) = 39970115