:: commit 05ca955d2c635813889174f28ab4d7d8c4ee2659

Mintsuki <mintsuki@protonmail.com> — 2026-02-08 03:55

parents: ce71456f4b

mm/vmm: Preserve WC/FB cache attribute in x86 PT_TO_VMM_FLAGS during page splits

diff --git a/common/mm/vmm.c b/common/mm/vmm.c
index 1dec9e99..eec9fdd5 100644
--- a/common/mm/vmm.c
+++ b/common/mm/vmm.c
@@ -57,7 +57,7 @@ void map_pages(pagemap_t pagemap, uint64_t virt, uint64_t phys, uint64_t flags,
 #define PT_TABLE_FLAGS   (PT_FLAG_VALID | PT_FLAG_WRITE | PT_FLAG_USER)
 #define PT_IS_TABLE(x) (((x) & (PT_FLAG_VALID | PT_FLAG_LARGE)) == PT_FLAG_VALID)
 #define PT_IS_LARGE(x) (((x) & (PT_FLAG_VALID | PT_FLAG_LARGE)) == (PT_FLAG_VALID | PT_FLAG_LARGE))
-#define PT_TO_VMM_FLAGS(x) ((x) & (PT_FLAG_WRITE | PT_FLAG_NX))
+#define PT_TO_VMM_FLAGS(x) ((x) & (PT_FLAG_WRITE | PT_FLAG_NX | VMM_FLAG_FB))
 
 #define pte_new(addr, flags)    ((pt_entry_t)(addr) | (flags))
 #define pte_addr(pte)           ((pte) & PT_PADDR_MASK)
tab: 248 wrap: offon