I am trying to install the kernel: " linux-zen-vfio 5.9.13.zen1-1 " from AUR. (http://aur.archlinux.org/packages/linux-zen-vfio)
However it fails me on prepare() with this error:
==> Starting prepare()... Setting version... Applying patch add-acs-overrides.patch... can't find file to patch at input line 53 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |From 169ce1a1bf376ba90cd0ab51ec19f9e32ead9dcb Mon Sep 17 00:00:00 2001 |From: Mark Weiman <email@example.com> |Date: Wed, 6 May 2020 15:40:50 -0400 |Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (5.6.9+) | |This an updated version of Alex Williamson's patch from: |https://lkml.org/lkml/2013/5/30/513 | |Original commit message follows: |--- |PCIe ACS (Access Control Services) is the PCIe 2.0+ feature that |allows us to control whether transactions are allowed to be redirected |in various subnodes of a PCIe topology. For instance, if two |endpoints are below a root port or downsteam switch port, the |downstream port may optionally redirect transactions between the |devices, bypassing upstream devices. The same can happen internally |on multifunction devices. The transaction may never be visible to the |upstream devices. | |One upstream device that we particularly care about is the IOMMU. If |a redirection occurs in the topology below the IOMMU, then the IOMMU |cannot provide isolation between devices. This is why the PCIe spec |encourages topologies to include ACS support. Without it, we have to |assume peer-to-peer DMA within a hierarchy can bypass IOMMU isolation. | |Unfortunately, far too many topologies do not support ACS to make this |a steadfast requirement. Even the latest chipsets from Intel are only |sporadically supporting ACS. We have trouble getting interconnect |vendors to include the PCIe spec required PCIe capability, let alone |suggested features. | |Therefore, we need to add some flexibility. The pcie_acs_override= |boot option lets users opt-in specific devices or sets of devices to |assume ACS support. The "downstream" option assumes full ACS support |on root ports and downstream switch ports. The "multifunction" |option assumes the subset of ACS features available on multifunction |endpoints and upstream switch ports are supported. The "id:nnnn:nnnn" |option enables ACS support on devices matching the provided vendor |and device IDs, allowing more strategic ACS overrides. These options |may be combined in any order. A maximum of 16 id specific overrides |are available. It's suggested to use the most limited set of options |necessary to avoid completely disabling ACS across the topology. |Note to hardware vendors, we have facilities to permanently quirk |specific devices which enforce isolation but not provide an ACS |capability. Please contact me to have your devices added and save |your customers the hassle of this boot option. |--- | |diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt |index fb95fad81c79..0a1e5281809a 100644 |--- a/Documentation/admin-guide/kernel-parameters.txt |+++ b/Documentation/admin-guide/kernel-parameters.txt -------------------------- File to patch: Skip this patch? [y] Skipping patch. 1 out of 1 hunk ignored can't find file to patch at input line 72 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c |index 2ea61abd5830..025974dfc10a 100644 |--- a/drivers/pci/quirks.c |+++ b/drivers/pci/quirks.c -------------------------- File to patch: Skip this patch? [y] Skipping patch. 2 out of 2 hunks ignored ==> ERROR: A failure occurred in prepare(). Aborting...
I would like to fix it but don’t know how. Could somebody please help me