pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/sysutils/xenkernel413 Add patch from Xen developers (J...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/f406022f6247
branches:  trunk
changeset: 442790:f406022f6247
user:      bouyer <bouyer%pkgsrc.org@localhost>
date:      Mon Nov 30 14:20:22 2020 +0000

description:
Add patch from Xen developers (Jan Beulich and Roger Pau Monné) fixing
interrupt issues with pvh dom0.

diffstat:

 sysutils/xenkernel413/Makefile             |   4 +-
 sysutils/xenkernel413/distinfo             |   3 +-
 sysutils/xenkernel413/patches/patch-fixpvh |  57 ++++++++++++++++++++++++++++++
 3 files changed, 61 insertions(+), 3 deletions(-)

diffs (91 lines):

diff -r ada5b05c92b5 -r f406022f6247 sysutils/xenkernel413/Makefile
--- a/sysutils/xenkernel413/Makefile    Mon Nov 30 14:15:09 2020 +0000
+++ b/sysutils/xenkernel413/Makefile    Mon Nov 30 14:20:22 2020 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.8 2020/11/12 10:34:41 bouyer Exp $
+# $NetBSD: Makefile,v 1.9 2020/11/30 14:20:22 bouyer Exp $
 
 VERSION=       4.13.2
-PKGREVISION=   1
+PKGREVISION=   2
 DISTNAME=      xen-${VERSION}
 PKGNAME=       xenkernel413-${VERSION}
 CATEGORIES=    sysutils
diff -r ada5b05c92b5 -r f406022f6247 sysutils/xenkernel413/distinfo
--- a/sysutils/xenkernel413/distinfo    Mon Nov 30 14:15:09 2020 +0000
+++ b/sysutils/xenkernel413/distinfo    Mon Nov 30 14:20:22 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.6 2020/11/12 10:34:41 bouyer Exp $
+$NetBSD: distinfo,v 1.7 2020/11/30 14:20:22 bouyer Exp $
 
 SHA1 (xen413/xen-4.13.2.tar.gz) = d514f1de9582c58676420bb2c9fb1c765b44fbff
 RMD160 (xen413/xen-4.13.2.tar.gz) = 96727c20bd84338f8c67c7c584c01ef877bbcb18
@@ -6,6 +6,7 @@
 Size (xen413/xen-4.13.2.tar.gz) = 39037826 bytes
 SHA1 (patch-Config.mk) = 9372a09efd05c9fbdbc06f8121e411fcb7c7ba65
 SHA1 (patch-XSA351) = edb0975ab0aa53d7a0ae7816fe170a081eea695e
+SHA1 (patch-fixpvh) = fd71e150e0b3a461875c02c4419dbfb30548d8f6
 SHA1 (patch-xen_Makefile) = 465388d80de414ca3bb84faefa0f52d817e423a6
 SHA1 (patch-xen_Rules.mk) = c743dc63f51fc280d529a7d9e08650292c171dac
 SHA1 (patch-xen_arch_x86_Rules.mk) = 0bedfc53a128a87b6a249ae04fbdf6a053bfb70b
diff -r ada5b05c92b5 -r f406022f6247 sysutils/xenkernel413/patches/patch-fixpvh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/xenkernel413/patches/patch-fixpvh        Mon Nov 30 14:20:22 2020 +0000
@@ -0,0 +1,57 @@
+$NetBSD: patch-fixpvh,v 1.1 2020/11/30 14:20:22 bouyer Exp $
+
+Fix booting dom0 PVH. Debugged by Xen developpers Jan Beulich and
+Roger Pau Monné
+
+diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
+index 64dd0a929c..3eb6102a61 100644
+--- xen/drivers/vpci/msix.c.orig
++++ xen/drivers/vpci/msix.c
+@@ -370,7 +370,7 @@ static int msix_write(struct vcpu *v, unsigned long addr, unsigned int len,
+ 
+             entry->updated = false;
+         }
+-        else
++        else if ( msix->enabled )
+             vpci_msix_arch_mask_entry(entry, pdev, entry->masked);
+ 
+         break;
+
+>From 232112a292c3b82b3063ea6c7aab56afc8e03f67 Mon Sep 17 00:00:00 2001
+From: Roger Pau Monne <roger.pau%citrix.com@localhost>
+Date: Sat, 28 Nov 2020 15:06:26 +0100
+Subject: [PATCH] x86/vioapic: fix usage of index in place of GSI in
+ vioapic_write_redirent
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The usage of idx instead of the GSI in vioapic_write_redirent when
+accessing gsi_assert_count can cause a PVH dom0 with multiple
+vIO-APICs to lose interrupts in case a pin of a IO-APIC different than
+the first one is unmasked with pending interrupts.
+
+Switch to use gsi instead to fix the issue.
+
+Fixes: 9f44b08f7d0e4 ('x86/vioapic: introduce support for multiple vIO APICS')
+Signed-off-by: Roger Pau Monné <roge.rpau%citrix.com@localhost>
+---
+ xen/arch/x86/hvm/vioapic.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
+index 67d4a6237f..e64abee7a9 100644
+--- xen/arch/x86/hvm/vioapic.c.orig
++++ xen/arch/x86/hvm/vioapic.c
+@@ -260,7 +260,7 @@ static void vioapic_write_redirent(
+         pent->fields.remote_irr = 0;
+     else if ( !ent.fields.mask &&
+               !ent.fields.remote_irr &&
+-              hvm_irq->gsi_assert_count[idx] )
++              hvm_irq->gsi_assert_count[gsi] )
+     {
+         pent->fields.remote_irr = 1;
+         vioapic_deliver(vioapic, idx);
+-- 
+2.29.2
+



Home | Main Index | Thread Index | Old Index