Allow mm-Support-soft-dirty-flag patches on all kernels as long as the patches are available.
Effectively allows 5.11 and up, while it was bound to 5.11 and 5.12 before. Also fix the first patch on 5.14, thanks to @Tatsh - Fixes https://github.com/Frogging-Family/linux-tkg/issues/298
This commit is contained in:
2
PKGBUILD
2
PKGBUILD
@@ -587,7 +587,7 @@ case $_basever in
|
||||
'a557b342111849a5f920bbe1c129f3ff1fc1eff62c6bd6685e0972fc88e39911'
|
||||
'92e5f35da18fcabfa87a4543b0d1daafff56f3c523a4c516e2600df9de231fd0'
|
||||
'7fb1104c167edb79ec8fbdcde97940ed0f806aa978bdd14d0c665a1d76d25c24'
|
||||
'b1c6599d0e1ac9b66898d652ed99dae3fb8676d840a43ffa920a78d96e0521be'
|
||||
'1b656ad96004f27e9dc63d7f430b50d5c48510d6d4cd595a81c24b21adb70313'
|
||||
'b0319a7dff9c48b2f3e3d3597ee154bf92223149a633a8b7ce4026252db86da6')
|
||||
;;
|
||||
esac
|
||||
|
@@ -420,11 +420,9 @@ _tkg_srcprep() {
|
||||
_msg="Applying misc additions patch" && _tkg_patcher
|
||||
fi
|
||||
|
||||
if [ "$_basever" = "511" ] || [ "$_basever" = "512" ]; then
|
||||
_msg="Applying patches for WRITE_WATCH support in Wine"
|
||||
tkgpatch="$srcdir/0001-mm-Support-soft-dirty-flag-reset-for-VA-range.patch" && _tkg_patcher
|
||||
tkgpatch="$srcdir/0002-mm-Support-soft-dirty-flag-read-with-reset.patch" && _tkg_patcher
|
||||
fi
|
||||
|
||||
# prjc/bmq patch rev
|
||||
if [ "$_basever" = "58" ] || [ "$_basever" = "57" ]; then
|
||||
|
@@ -204,41 +204,42 @@ index 3cec6fbef725..7c7865028f10 100644
|
||||
#define PM_SOFT_DIRTY BIT_ULL(55)
|
||||
#define PM_MMAP_EXCLUSIVE BIT_ULL(56)
|
||||
+#define PM_SOFT_DIRTY_PAGE BIT_ULL(57)
|
||||
#define PM_UFFD_WP BIT_ULL(57)
|
||||
#define PM_FILE BIT_ULL(61)
|
||||
#define PM_SWAP BIT_ULL(62)
|
||||
#define PM_PRESENT BIT_ULL(63)
|
||||
@@ -1373,11 +1450,11 @@ static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm,
|
||||
@@ -1373,13 +1450,13 @@ static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm,
|
||||
flags |= PM_PRESENT;
|
||||
page = vm_normal_page(vma, addr, pte);
|
||||
if (pte_soft_dirty(pte))
|
||||
- flags |= PM_SOFT_DIRTY;
|
||||
+ flags |= PM_SOFT_DIRTY | PM_SOFT_DIRTY_PAGE;
|
||||
if (pte_uffd_wp(pte))
|
||||
flags |= PM_UFFD_WP;
|
||||
} else if (is_swap_pte(pte)) {
|
||||
swp_entry_t entry;
|
||||
if (pte_swp_soft_dirty(pte))
|
||||
- flags |= PM_SOFT_DIRTY;
|
||||
+ flags |= PM_SOFT_DIRTY | PM_SOFT_DIRTY_PAGE;
|
||||
if (pte_swp_uffd_wp(pte))
|
||||
flags |= PM_UFFD_WP;
|
||||
entry = pte_to_swp_entry(pte);
|
||||
if (pm->show_pfn)
|
||||
frame = swp_type(entry) |
|
||||
@@ -1424,7 +1501,7 @@ static int pagemap_pmd_range(pmd_t *pmdp, unsigned long addr, unsigned long end,
|
||||
@@ -1500,7 +1500,7 @@
|
||||
|
||||
flags |= PM_PRESENT;
|
||||
if (pmd_soft_dirty(pmd))
|
||||
- flags |= PM_SOFT_DIRTY;
|
||||
+ flags |= PM_SOFT_DIRTY | PM_SOFT_DIRTY_PAGE;
|
||||
if (pmd_uffd_wp(pmd))
|
||||
flags |= PM_UFFD_WP;
|
||||
if (pm->show_pfn)
|
||||
frame = pmd_pfn(pmd) +
|
||||
((addr & ~PMD_MASK) >> PAGE_SHIFT);
|
||||
@@ -1442,7 +1519,7 @@ static int pagemap_pmd_range(pmd_t *pmdp, unsigned long addr, unsigned long end,
|
||||
}
|
||||
flags |= PM_SWAP;
|
||||
if (pmd_swp_soft_dirty(pmd))
|
||||
- flags |= PM_SOFT_DIRTY;
|
||||
+ flags |= PM_SOFT_DIRTY | PM_SOFT_DIRTY_PAGE;
|
||||
if (pmd_swp_uffd_wp(pmd))
|
||||
flags |= PM_UFFD_WP;
|
||||
VM_BUG_ON(!is_pmd_migration_entry(pmd));
|
||||
page = migration_entry_to_page(entry);
|
||||
}
|
||||
--
|
||||
2.30.2
|
||||
|
||||
|
Reference in New Issue
Block a user