From 62070aa3a9222dd5d82048ba65e0301e3f4e6460 Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Sat, 3 Sep 2011 13:25:49 -0700 Subject: [PATCH] add the support of (explicit) write through caching --- arch/x86/mm/page.c | 3 +++ include/metalsvm/stdlib.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/x86/mm/page.c b/arch/x86/mm/page.c index cc767a43..b2cfaad4 100644 --- a/arch/x86/mm/page.c +++ b/arch/x86/mm/page.c @@ -367,6 +367,9 @@ size_t map_region(size_t viraddr, size_t phyaddr, uint32_t npages, uint32_t flag if (flags & MAP_NO_ACCESS) pgt->entries[index] &= ~PG_PRESENT; + if (flags & MAP_WT) + pgt->entries[index] |= PG_PWT; + if (flags & MAP_USER_SPACE) atomic_int32_inc(&task->user_usage); diff --git a/include/metalsvm/stdlib.h b/include/metalsvm/stdlib.h index 15d0961e..0a568204 100644 --- a/include/metalsvm/stdlib.h +++ b/include/metalsvm/stdlib.h @@ -41,7 +41,7 @@ extern "C" { #define MAP_USER_SPACE (1 << 1) #define MAP_PAGE_TABLE (1 << 2) #define MAP_NO_CACHE (1 << 3) -//#define MAP_STACK (1 << 4) +#define MAP_WT (1 << 5) //#define MAP_HEAP (1 << 5) #define MAP_CODE (1 << 6) #define MAP_READONLY (1 << 7)