From d93bc23cab2745be6a8a1c9402123dfcee04298f Mon Sep 17 00:00:00 2001 From: xiota Date: Sun, 17 Mar 2024 03:00:50 +0000 Subject: [PATCH] 6.8.1 --- .SRCINFO | 23 ++-- ...atch => 1001-6.8.0-add-acs-overrides.patch | 24 ++-- ...patch => 1002-6.8.0-i915-vga-arbiter.patch | 106 ++++++++++-------- PKGBUILD | 41 +++---- 4 files changed, 99 insertions(+), 95 deletions(-) rename 1001-6.6.7-add-acs-overrides.patch => 1001-6.8.0-add-acs-overrides.patch (87%) rename 1002-6.6.7-i915-vga-arbiter.patch => 1002-6.8.0-i915-vga-arbiter.patch (62%) diff --git a/.SRCINFO b/.SRCINFO index f6b0e0c..d9fcd27 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = linux-vfio pkgdesc = Linux - pkgver = 6.8 + pkgver = 6.8.1 pkgrel = 1 url = https://www.kernel.org arch = x86_64 @@ -17,23 +17,24 @@ pkgbase = linux-vfio makedepends = graphviz makedepends = imagemagick makedepends = python-sphinx + makedepends = python-yaml makedepends = texlive-latexextra options = !strip - source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.tar.xz - source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.tar.sign - source = config-6.8::https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/main/config - source = 1001-6.6.7-add-acs-overrides.patch - source = 1002-6.6.7-i915-vga-arbiter.patch - source = https://github.com/archlinux/linux/releases/download/v6.8-arch1/linux-v6.8-arch1.patch.zst - source = https://github.com/archlinux/linux/releases/download/v6.8-arch1/linux-v6.8-arch1.patch.zst.sig + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.1.tar.xz + source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.1.tar.sign + source = config-6.8.1::https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/main/config + source = 1001-6.8.0-add-acs-overrides.patch + source = 1002-6.8.0-i915-vga-arbiter.patch + source = https://github.com/archlinux/linux/releases/download/v6.8.1-arch1/linux-v6.8.1-arch1.patch.zst + source = https://github.com/archlinux/linux/releases/download/v6.8.1-arch1/linux-v6.8.1-arch1.patch.zst.sig validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E validpgpkeys = 83BC8889351B5DEBBB68416EB8AC08600F108CDF - sha256sums = c969dea4e8bb6be991bbf7c010ba0e0a5643a3a8d8fb0a2aaa053406f1e965f3 + sha256sums = 8d0c8936e3140a0fbdf511ad7a9f21121598f3656743898f47bb9052d37cff68 sha256sums = SKIP sha256sums = SKIP - sha256sums = f342986bd27980c96c952b0dd8103d3e21a942d87f18df1308fab370e20010fb - sha256sums = 2a3c732d4d61a631c98b2a3e4afb1fa5dbf8be5c43519b2a59d0e65170c9d8db + sha256sums = b35c26d5dc31fb9cfac68292de7b1ee8ca93b4647e4958efc77e2c77f586f1f2 + sha256sums = 966c15da4044a9a3b5f9d362c2cf08303f1265ad4489c9835c95973b71255d07 sha256sums = SKIP sha256sums = SKIP diff --git a/1001-6.6.7-add-acs-overrides.patch b/1001-6.8.0-add-acs-overrides.patch similarity index 87% rename from 1001-6.6.7-add-acs-overrides.patch rename to 1001-6.8.0-add-acs-overrides.patch index ece3646..07c454c 100644 --- a/1001-6.6.7-add-acs-overrides.patch +++ b/1001-6.8.0-add-acs-overrides.patch @@ -1,6 +1,6 @@ -From 8079e9e3accd28bc20b7c2ebbf87c478f4288475 Mon Sep 17 00:00:00 2001 +From 6d05bc1343b9ecce154f551ee09c15e0e9db70bb Mon Sep 17 00:00:00 2001 From: xiota <> -Date: Fri, 29-Dec-2023 12:34:56 +0000 +Date: Wed, 13 Mar 2024 02:36:37 +0000 Subject: [PATCH 1/2] add-acs-overrides --- @@ -9,10 +9,10 @@ Subject: [PATCH 1/2] add-acs-overrides 2 files changed, 110 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 41644336e..a3319b714 100644 +index 31b3a2568..b8ab436d1 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -4287,6 +4287,14 @@ +@@ -4370,6 +4370,14 @@ nomsi [MSI] If the PCI_MSI kernel config parameter is enabled, this kernel boot option can be used to disable the use of MSI interrupts system-wide. @@ -28,12 +28,12 @@ index 41644336e..a3319b714 100644 Safety option to keep boot IRQs enabled. This should never be necessary. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index ae95d0950..aaf28aa0b 100644 +index d797df6e5..9b41773bf 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -287,6 +287,106 @@ static int __init pci_apply_final_quirks(void) +@@ -4996,6 +4996,106 @@ static int pci_quirk_wangxun_nic_acs(struct pci_dev *dev, u16 acs_flags) + return false; } - fs_initcall_sync(pci_apply_final_quirks); +static bool acs_on_downstream; +static bool acs_on_multifunction; @@ -135,10 +135,10 @@ index ae95d0950..aaf28aa0b 100644 + return -ENOTTY; +} + - /* - * Decoding should be disabled for a PCI device during BAR sizing to avoid - * conflict. But doing so may cause problems on host bridge and perhaps other -@@ -5116,6 +5216,8 @@ static const struct pci_dev_acs_enabled { + static const struct pci_dev_acs_enabled { + u16 vendor; + u16 device; +@@ -5143,6 +5243,8 @@ static const struct pci_dev_acs_enabled { { PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs }, /* Wangxun nics */ { PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs }, @@ -148,5 +148,5 @@ index ae95d0950..aaf28aa0b 100644 }; -- -2.43.0 +2.44.0 diff --git a/1002-6.6.7-i915-vga-arbiter.patch b/1002-6.8.0-i915-vga-arbiter.patch similarity index 62% rename from 1002-6.6.7-i915-vga-arbiter.patch rename to 1002-6.8.0-i915-vga-arbiter.patch index 6307d05..f7216f0 100644 --- a/1002-6.6.7-i915-vga-arbiter.patch +++ b/1002-6.8.0-i915-vga-arbiter.patch @@ -1,29 +1,37 @@ -From 33d2dbe323583bb2f344c857a100f1116fad70d9 Mon Sep 17 00:00:00 2001 +From 6f123acf4fecf575970c8b3ab0994ea0563fd41e Mon Sep 17 00:00:00 2001 From: xiota <> -Date: Fri, 29-Dec-2023 12:34:56 +0000 +Date: Wed, 13 Mar 2024 02:48:53 +0000 Subject: [PATCH 2/2] i915-vga-arbiter --- - .../drm/i915/display/intel_display_driver.c | 16 ++++++++-- + .../drm/i915/display/intel_display_driver.c | 17 ++++++++-- .../drm/i915/display/intel_display_driver.h | 1 + - drivers/gpu/drm/i915/display/intel_vga.c | 31 +++++++++++++++++++ + .../drm/i915/display/intel_display_params.c | 3 ++ + .../drm/i915/display/intel_display_params.h | 1 + + drivers/gpu/drm/i915/display/intel_vga.c | 32 +++++++++++++++++++ drivers/gpu/drm/i915/display/intel_vga.h | 4 +++ - drivers/gpu/drm/i915/i915_params.c | 3 ++ - drivers/gpu/drm/i915/i915_params.h | 1 + - 6 files changed, 53 insertions(+), 3 deletions(-) + 6 files changed, 55 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c -index 8f144d4d3..915a5ec47 100644 +index 9df9097a0..2c467daf8 100644 --- a/drivers/gpu/drm/i915/display/intel_display_driver.c +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c -@@ -205,9 +205,11 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915) +@@ -29,6 +29,7 @@ + #include "intel_display_debugfs.h" + #include "intel_display_driver.h" + #include "intel_display_irq.h" ++#include "intel_display_params.h" + #include "intel_display_power.h" + #include "intel_display_types.h" + #include "intel_display_wa.h" +@@ -215,9 +216,11 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915) intel_bios_init(i915); - ret = intel_vga_register(i915); - if (ret) - goto cleanup_bios; -+ if (!i915_modparams.enable_hd_vgaarb || !HAS_PCH_SPLIT(i915)) { ++ if (!i915->display.params.enable_hd_vgaarb || !HAS_PCH_SPLIT(i915)) { + ret = intel_vga_register(i915); + if (ret) + goto cleanup_bios; @@ -31,7 +39,7 @@ index 8f144d4d3..915a5ec47 100644 /* FIXME: completely on the wrong abstraction layer */ ret = intel_power_domains_init(i915); -@@ -366,6 +368,12 @@ int intel_display_driver_probe(struct drm_i915_private *i915) +@@ -372,6 +375,12 @@ int intel_display_driver_probe(struct drm_i915_private *i915) if (ret) return ret; @@ -44,7 +52,7 @@ index 8f144d4d3..915a5ec47 100644 /* Only enable hotplug handling once the fbdev is fully set up. */ intel_hpd_init(i915); intel_hpd_poll_disable(i915); -@@ -412,6 +420,7 @@ void intel_display_driver_remove(struct drm_i915_private *i915) +@@ -423,6 +432,7 @@ void intel_display_driver_remove(struct drm_i915_private *i915) if (!HAS_DISPLAY(i915)) return; @@ -52,7 +60,7 @@ index 8f144d4d3..915a5ec47 100644 flush_workqueue(i915->display.wq.flip); flush_workqueue(i915->display.wq.modeset); -@@ -444,6 +453,7 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915) +@@ -452,6 +462,7 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915) intel_unregister_dsm_handler(); /* flush any delayed tasks or pending work */ @@ -72,11 +80,45 @@ index c276a58ee..54b752a93 100644 bool intel_display_driver_probe_defer(struct pci_dev *pdev); void intel_display_driver_init_hw(struct drm_i915_private *i915); void intel_display_driver_early_probe(struct drm_i915_private *i915); +diff --git a/drivers/gpu/drm/i915/display/intel_display_params.c b/drivers/gpu/drm/i915/display/intel_display_params.c +index 11e03cfb7..8895be132 100644 +--- a/drivers/gpu/drm/i915/display/intel_display_params.c ++++ b/drivers/gpu/drm/i915/display/intel_display_params.c +@@ -87,6 +87,9 @@ intel_display_param_named_unsafe(force_reset_modeset_test, bool, 0400, + intel_display_param_named(disable_display, bool, 0400, + "Disable display (default: false)"); + ++intel_display_param_named(enable_hd_vgaarb, bool, 0444, ++ "Enable support for VGA arbitration on Intel HD IGD. (default: false)"); ++ + intel_display_param_named(verbose_state_checks, bool, 0400, + "Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions."); + +diff --git a/drivers/gpu/drm/i915/display/intel_display_params.h b/drivers/gpu/drm/i915/display/intel_display_params.h +index 6206cc51d..bfbc49c53 100644 +--- a/drivers/gpu/drm/i915/display/intel_display_params.h ++++ b/drivers/gpu/drm/i915/display/intel_display_params.h +@@ -39,6 +39,7 @@ struct drm_i915_private; + param(bool, load_detect_test, false, 0600) \ + param(bool, force_reset_modeset_test, false, 0600) \ + param(bool, disable_display, false, 0400) \ ++ param(bool, enable_hd_vgaarb, false, 0600) \ + param(bool, verbose_state_checks, true, 0400) \ + param(bool, nuclear_pageflip, false, 0400) \ + param(bool, enable_dp_mst, true, 0600) \ diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c -index 286a0bdd2..18d30ee84 100644 +index 4b98833bf..25a729c95 100644 --- a/drivers/gpu/drm/i915/display/intel_vga.c +++ b/drivers/gpu/drm/i915/display/intel_vga.c -@@ -47,6 +47,36 @@ void intel_vga_disable(struct drm_i915_private *dev_priv) +@@ -11,6 +11,7 @@ + #include "i915_drv.h" + #include "i915_reg.h" + #include "intel_de.h" ++#include "intel_display_params.h" + #include "intel_vga.h" + + static i915_reg_t intel_vga_cntrl_reg(struct drm_i915_private *i915) +@@ -45,6 +46,36 @@ void intel_vga_disable(struct drm_i915_private *dev_priv) intel_de_posting_read(dev_priv, vga_reg); } @@ -85,7 +127,7 @@ index 286a0bdd2..18d30ee84 100644 + struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev); + + /* Enable VGA memory on Intel HD */ -+ if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) { ++ if (dev_priv->display.params.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) { + vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO); + outb(inb(VGA_MIS_R) | (1 << 1), VGA_MIS_W); + vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO | @@ -100,7 +142,7 @@ index 286a0bdd2..18d30ee84 100644 +{ + struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev); + /* Disable VGA memory on Intel HD */ -+ if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) { ++ if (dev_priv->display.params.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) { + vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO); + outb(inb(VGA_MIS_R) & ~(1 << 1), VGA_MIS_W); + vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO | @@ -113,7 +155,7 @@ index 286a0bdd2..18d30ee84 100644 void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv) { i915_reg_t vga_reg = intel_vga_cntrl_reg(dev_priv); -@@ -55,6 +85,7 @@ void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv) +@@ -53,6 +84,7 @@ void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv) drm_dbg_kms(&dev_priv->drm, "Something enabled VGA plane, disabling it\n"); intel_vga_disable(dev_priv); @@ -134,32 +176,6 @@ index ba5b55b91..7e2af7924 100644 +void intel_vga_disable_mem(struct drm_i915_private *i915); + #endif /* __INTEL_VGA_H__ */ -diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c -index 0a171b57f..739d31067 100644 ---- a/drivers/gpu/drm/i915/i915_params.c -+++ b/drivers/gpu/drm/i915/i915_params.c -@@ -160,6 +160,9 @@ i915_param_named_unsafe(invert_brightness, int, 0400, - i915_param_named(disable_display, bool, 0400, - "Disable display (default: false)"); - -+i915_param_named(enable_hd_vgaarb, bool, 0444, -+ "Enable support for VGA arbitration on Intel HD IGD. (default: false)"); -+ - i915_param_named(memtest, bool, 0400, - "Perform a read/write test of all device memory on module load (default: off)"); - -diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h -index 68abf0ad6..507d29c52 100644 ---- a/drivers/gpu/drm/i915/i915_params.h -+++ b/drivers/gpu/drm/i915/i915_params.h -@@ -79,6 +79,7 @@ struct drm_printer; - param(unsigned int, lmem_size, 0, 0400) \ - param(unsigned int, lmem_bar_size, 0, 0400) \ - /* leave bools at the end to not create holes */ \ -+ param(bool, enable_hd_vgaarb, false, 0600) \ - param(bool, enable_hangcheck, true, 0600) \ - param(bool, load_detect_test, false, 0600) \ - param(bool, force_reset_modeset_test, false, 0600) \ -- -2.43.0 +2.44.0 diff --git a/PKGBUILD b/PKGBUILD index 64e4b07..5033f52 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -24,12 +24,13 @@ unset _pkgtype _gitname="linux" _pkgname="$_gitname${_pkgtype:-}" pkgbase="$_pkgname" -pkgver=6.8 +pkgver=6.8.1 pkgrel=1 pkgdesc='Linux' url='https://www.kernel.org' -arch=(x86_64) -license=(GPL-2.0-or-later) +license=('GPL-2.0-or-later') +arch=('x86_64') + makedepends=( bc cpio @@ -45,6 +46,7 @@ makedepends=( graphviz imagemagick python-sphinx + python-yaml texlive-latexextra ) options=('!strip') @@ -54,7 +56,7 @@ source+=( "config-$pkgver"::https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/main/config ) sha256sums+=( - 'c969dea4e8bb6be991bbf7c010ba0e0a5643a3a8d8fb0a2aaa053406f1e965f3' + '8d0c8936e3140a0fbdf511ad7a9f21121598f3656743898f47bb9052d37cff68' 'SKIP' 'SKIP' ) @@ -66,12 +68,12 @@ validpgpkeys=( if [[ ${_build_vfio::1} == "t" ]] ; then source+=( - 1001-6.6.7-add-acs-overrides.patch # updated from https://lkml.org/lkml/2013/5/30/513 - 1002-6.6.7-i915-vga-arbiter.patch # updated from https://lkml.org/lkml/2014/5/9/517 + 1001-6.8.0-add-acs-overrides.patch # updated from https://lkml.org/lkml/2013/5/30/513 + 1002-6.8.0-i915-vga-arbiter.patch # updated from https://lkml.org/lkml/2014/5/9/517 ) sha256sums+=( - 'f342986bd27980c96c952b0dd8103d3e21a942d87f18df1308fab370e20010fb' - '2a3c732d4d61a631c98b2a3e4afb1fa5dbf8be5c43519b2a59d0e65170c9d8db' + 'b35c26d5dc31fb9cfac68292de7b1ee8ca93b4647e4958efc77e2c77f586f1f2' + '966c15da4044a9a3b5f9d362c2cf08303f1265ad4489c9835c95973b71255d07' ) fi @@ -96,30 +98,14 @@ fi if [[ ${_build_clang::1} == "t" ]] ; then makedepends+=(clang llvm lld) - export CC=clang - export LD=ld.lld - export AR=llvm-ar - export NM=llvm-nm - export STRIP=llvm-strip - export OBJCOPY=llvm-objcopy - export OBJDUMP=llvm-objdump - export READELF=llvm-readelf - export HOSTCC=clang - export HOSTCXX=clang++ - export HOSTAR=llvm-ar - export HOSTLD=ld.lld export LLVM=1 export LLVM_IAS=1 - - export CXX=clang++ - export LDFLAGS+=" -fuse-ld=lld" fi if [[ "${_build_v3::1}" == "t" ]] ; then - export CFLAGS="$(echo "$CFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3" - export CXXFLAGS="$(echo "$CXXFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"} - - export RUSTFLAGS+=" -Ctarget-cpu=x86-64-v3" + export KCFLAGS="-march=x86-64-v3 -mtune=generic -O3" + export HOSTCFLAGS="-march=x86-64-v3 -mtune=generic -O3" + export HOSTCXXFLAGS="-march=x86-64-v3 -mtune=generic -O3" fi export KBUILD_BUILD_HOST=archlinux @@ -183,6 +169,7 @@ prepare() { build() { cd $_srcname make all + make -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1 #make htmldocs }