diff options
author | Helge Deller <deller@gmx.de> | 2017-09-26 00:21:27 +0200 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2018-03-27 18:52:21 +0200 |
commit | d5b59a71204b0a9a55eda633347b1214642bead3 (patch) | |
tree | b9f7cf5f4212a11892cea9decf2d830c58188fb7 /arch/parisc | |
parent | parisc: Force to various endian types for sparse (diff) | |
download | linux-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.h | 2 |
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 */ |