diff options
Diffstat (limited to 'debian/patches/features/x86')
3 files changed, 21 insertions, 23 deletions
diff --git a/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch b/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch index a4576e75f4..fedbab5d78 100644 --- a/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch +++ b/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch @@ -15,7 +15,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- --- a/drivers/iommu/intel/Kconfig +++ b/drivers/iommu/intel/Kconfig -@@ -56,14 +56,25 @@ config INTEL_IOMMU_SVM +@@ -57,13 +57,24 @@ config INTEL_IOMMU_SVM to access DMA resources through process address space by means of a Process Address Space ID (PASID). @@ -41,15 +41,14 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> + +config INTEL_IOMMU_DEFAULT_OFF + bool "Disable" - ++ +endchoice -+ - config INTEL_IOMMU_BROKEN_GFX_WA - bool "Workaround broken graphics drivers (going away soon)" - depends on BROKEN && X86 + + config INTEL_IOMMU_FLOPPY_WA + def_bool y --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c -@@ -284,14 +284,14 @@ static LIST_HEAD(dmar_satc_units); +@@ -218,13 +218,13 @@ static LIST_HEAD(dmar_satc_units); static void intel_iommu_domain_free(struct iommu_domain *domain); @@ -60,13 +59,12 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> int intel_iommu_enabled = 0; EXPORT_SYMBOL_GPL(intel_iommu_enabled); - static int dmar_map_gfx = 1; -static int dmar_map_intgpu = 1; +static int dmar_map_intgpu = IS_ENABLED(CONFIG_INTEL_IOMMU_DEFAULT_ON); static int intel_iommu_superpage = 1; static int iommu_identity_mapping; static int iommu_skip_te_disable; -@@ -333,6 +333,7 @@ static int __init intel_iommu_setup(char +@@ -263,6 +263,7 @@ static int __init intel_iommu_setup(char while (*str) { if (!strncmp(str, "on", 2)) { dmar_disabled = 0; diff --git a/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch b/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch index 6950c937d5..8c82cce244 100644 --- a/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch +++ b/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch @@ -22,7 +22,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -2122,6 +2122,8 @@ +@@ -2174,6 +2174,8 @@ bypassed by not enabling DMAR with this option. In this case, gfx device will use physical address for DMA. @@ -33,7 +33,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> sp_off [Default Off] --- a/drivers/iommu/intel/iommu.c +++ b/drivers/iommu/intel/iommu.c -@@ -36,6 +36,9 @@ +@@ -35,6 +35,9 @@ #define CONTEXT_SIZE VTD_PAGE_SIZE #define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY) @@ -43,24 +43,24 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> #define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB) #define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA) #define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e) -@@ -291,12 +294,14 @@ int intel_iommu_enabled = 0; +@@ -221,12 +224,14 @@ int intel_iommu_sm = IS_ENABLED(CONFIG_I + int intel_iommu_enabled = 0; EXPORT_SYMBOL_GPL(intel_iommu_enabled); - static int dmar_map_gfx = 1; +static int dmar_map_intgpu = 1; static int intel_iommu_superpage = 1; static int iommu_identity_mapping; static int iommu_skip_te_disable; + static int disable_igfx_iommu; - #define IDENTMAP_GFX 2 #define IDENTMAP_AZALIA 4 +#define IDENTMAP_INTGPU 8 const struct iommu_ops intel_iommu_ops; static const struct iommu_dirty_ops intel_dirty_ops; -@@ -336,6 +341,9 @@ static int __init intel_iommu_setup(char +@@ -266,6 +271,9 @@ static int __init intel_iommu_setup(char } else if (!strncmp(str, "igfx_off", 8)) { - dmar_map_gfx = 0; + disable_igfx_iommu = 1; pr_info("Disable GFX device mapping\n"); + } else if (!strncmp(str, "intgpu_off", 10)) { + dmar_map_intgpu = 0; @@ -68,9 +68,9 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> } else if (!strncmp(str, "forcedac", 8)) { pr_warn("intel_iommu=forcedac deprecated; use iommu.forcedac instead\n"); iommu_dma_forcedac = true; -@@ -2548,6 +2556,9 @@ static int device_def_domain_type(struct +@@ -2401,6 +2409,9 @@ static int device_def_domain_type(struct - if ((iommu_identity_mapping & IDENTMAP_GFX) && IS_GFX_DEVICE(pdev)) + if ((iommu_identity_mapping & IDENTMAP_AZALIA) && IS_AZALIA(pdev)) return IOMMU_DOMAIN_IDENTITY; + + if ((iommu_identity_mapping & IDENTMAP_INTGPU) && IS_INTGPU_DEVICE(pdev)) @@ -78,9 +78,9 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> } return 0; -@@ -2855,6 +2866,9 @@ static int __init init_dmars(void) - if (!dmar_map_gfx) - iommu_identity_mapping |= IDENTMAP_GFX; +@@ -2701,6 +2712,9 @@ static int __init init_dmars(void) + iommu_set_root_entry(iommu); + } + if (!dmar_map_intgpu) + iommu_identity_mapping |= IDENTMAP_INTGPU; diff --git a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch index 55f43dcd32..b4dd9b9102 100644 --- a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch +++ b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch @@ -29,7 +29,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -6468,6 +6468,10 @@ +@@ -6498,6 +6498,10 @@ later by a loaded module cannot be set this way. Example: sysctl.vm.swappiness=40 @@ -42,7 +42,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Ignore sysrq setting - this boot parameter will --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -3052,6 +3052,14 @@ config COMPAT_32 +@@ -3058,6 +3058,14 @@ config COMPAT_32 select HAVE_UID16 select OLD_SIGSUSPEND3 |