diff options
author | Roger Pau Monné <royger@FreeBSD.org> | 2021-01-29 14:21:41 +0000 |
---|---|---|
committer | Roger Pau Monné <royger@FreeBSD.org> | 2021-01-29 14:21:41 +0000 |
commit | 835ba0b2560a5fb657b2e157fec5251eb54c4453 (patch) | |
tree | 86167d59e729bb0d73924fde205cc8047ae868ea /emulators/xen-kernel | |
parent | 7f4532864b0a50b4c670c35e441b7600e6d36c0a (diff) | |
download | ports-835ba0b2560a5fb657b2e157fec5251eb54c4453.tar.gz ports-835ba0b2560a5fb657b2e157fec5251eb54c4453.zip |
emulators/xen-kernel,sysutils/xen-tools: update to 4.14.1
Sponsored by: Citrix Systems R&D
Approved by: bapt (implicit)
Notes
Notes:
svn path=/head/; revision=563208
Diffstat (limited to 'emulators/xen-kernel')
4 files changed, 60 insertions, 68 deletions
diff --git a/emulators/xen-kernel/Makefile b/emulators/xen-kernel/Makefile index decaae7778ea..0e47261e8de5 100644 --- a/emulators/xen-kernel/Makefile +++ b/emulators/xen-kernel/Makefile @@ -1,7 +1,7 @@ # $FreeBSD$ PORTNAME= xen -PORTVERSION= 4.14.0 +PORTVERSION= 4.14.1 PORTREVISION= 0 CATEGORIES= emulators MASTER_SITES= http://downloads.xenproject.org/release/xen/${PORTVERSION}/ @@ -25,8 +25,8 @@ 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 <bsd.port.options.mk> diff --git a/emulators/xen-kernel/distinfo b/emulators/xen-kernel/distinfo index 77df637dea61..ab008f378c59 100644 --- a/emulators/xen-kernel/distinfo +++ b/emulators/xen-kernel/distinfo @@ -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 diff --git a/emulators/xen-kernel/files/0001-x86-pvh-pass-module-command-line-to-dom0.patch b/emulators/xen-kernel/files/0001-x86-pvh-pass-module-command-line-to-dom0.patch new file mode 100644 index 000000000000..2bb2993bb096 --- /dev/null +++ b/emulators/xen-kernel/files/0001-x86-pvh-pass-module-command-line-to-dom0.patch @@ -0,0 +1,54 @@ +From ddc03f91858b21a1641909d1a1f55604be627d82 Mon Sep 17 00:00:00 2001 +From: Roger Pau Monne <roger.pau@citrix.com> +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é <roger.pau@citrix.com> +--- +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 + diff --git a/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch b/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch deleted file mode 100644 index 17630f77fef3..000000000000 --- a/emulators/xen-kernel/files/0001-x86-use-constant-flags-for-section-.init.rodata.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 40a95cf571242cffed8b35a7301730e2b45c217d Mon Sep 17 00:00:00 2001 -From: Roger Pau Monne <roger.pau@citrix.com> -To: xen-devel@lists.xenproject.org -Cc: Jan Beulich <jbeulich@suse.com> -Cc: Andrew Cooper <andrew.cooper3@citrix.com> -Cc: Wei Liu <wl@xen.org> -Cc: "Roger Pau Monné" <roger.pau@citrix.com> -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: - -<instantiation>:1:1: error: changed section flags for .init.rodata, expected: 0x2 -.pushsection .init.rodata -^ -<instantiation>: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é <roger.pau@citrix.com> ---- - 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 - |