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