summaryrefslogtreecommitdiffstats
path: root/arch/parisc
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2017-09-26 00:21:27 +0200
committerHelge Deller <deller@gmx.de>2018-03-27 18:52:21 +0200
commitd5b59a71204b0a9a55eda633347b1214642bead3 (patch)
treeb9f7cf5f4212a11892cea9decf2d830c58188fb7 /arch/parisc
parentparisc: Force to various endian types for sparse (diff)
downloadlinux-d5b59a71204b0a9a55eda633347b1214642bead3.tar.xz
linux-d5b59a71204b0a9a55eda633347b1214642bead3.zip
parisc: Convert MAP_TYPE to cover 4 bits on parisc
On parisc we want to be as much as possible compatible to the major architectures like x86. Those architectures have MAP_TYPE defined as 0x0f which covers MAP_SHARED and MAP_PRIVATE and leaves two more bits unused. In contrast, on parisc we have MAP_TYPE defined to 0x03 which covers MAP_SHARED and MAP_PRIVATE only. But we don't have the 2 bits free as x86. Usually that's not a problem, but during the discussions for pmem+dax support the idea came up to use the two remaining bits of MAP_TYPE (on x86 and others) for the new MAP_DIRECT and MAP_SYNC flags. One requirement is, that an old kernel should correctly handle MAP_DIRECT and MAP_SYNC and fail on those if set. This only works if MAP_TYPE has 4 bits. Even though the pmem+dax people now choosed another solution via MAP_SHARED_VALIDATE, let's still proceed to be more compatible to x86 by adding two more bits for future usage. Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: John David Anglin <dave.anglin@bell.net>
Diffstat (limited to 'arch/parisc')
-rw-r--r--arch/parisc/include/uapi/asm/mman.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/parisc/include/uapi/asm/mman.h b/arch/parisc/include/uapi/asm/mman.h
index 80510ba44c08..a056a642bb31 100644
--- a/arch/parisc/include/uapi/asm/mman.h
+++ b/arch/parisc/include/uapi/asm/mman.h
@@ -13,7 +13,7 @@
#define MAP_SHARED 0x01 /* Share changes */
#define MAP_PRIVATE 0x02 /* Changes are private */
#define MAP_SHARED_VALIDATE 0x03 /* share + validate extension flags */
-#define MAP_TYPE 0x03 /* Mask for type of mapping */
+#define MAP_TYPE 0x2b /* Mask for type of mapping, includes bits 0x08 and 0x20 */
#define MAP_FIXED 0x04 /* Interpret addr exactly */
#define MAP_ANONYMOUS 0x10 /* don't use a file */