Commit e44a3e798a18e872d52d1d860201971095e31047

Authored by aurel32
1 parent fe2b269a

TARGET_MAP_xx macros: clean and alpha specific values

- Clean TARGET_MAP_xx macros to avoid nested #if #endif
- Add alpha specific values

Based on a patch by Tristan Gingold

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5356 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 24 additions and 5 deletions
linux-user/syscall_defs.h
@@ -860,11 +860,14 @@ struct target_winsize { @@ -860,11 +860,14 @@ struct target_winsize {
860 860
861 #include "termbits.h" 861 #include "termbits.h"
862 862
  863 +/* Common */
863 #define TARGET_MAP_SHARED 0x01 /* Share changes */ 864 #define TARGET_MAP_SHARED 0x01 /* Share changes */
864 #define TARGET_MAP_PRIVATE 0x02 /* Changes are private */ 865 #define TARGET_MAP_PRIVATE 0x02 /* Changes are private */
865 -#define TARGET_MAP_TYPE 0x0f /* Mask for type of mapping */  
866 -#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */ 866 +#define TARGET_MAP_TYPE 0x0f /* Mask for type of mapping */
  867 +
  868 +/* Target specific */
867 #if defined(TARGET_MIPS) 869 #if defined(TARGET_MIPS)
  870 +#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
868 #define TARGET_MAP_ANONYMOUS 0x0800 /* don't use a file */ 871 #define TARGET_MAP_ANONYMOUS 0x0800 /* don't use a file */
869 #define TARGET_MAP_GROWSDOWN 0x1000 /* stack-like segment */ 872 #define TARGET_MAP_GROWSDOWN 0x1000 /* stack-like segment */
870 #define TARGET_MAP_DENYWRITE 0x2000 /* ETXTBSY */ 873 #define TARGET_MAP_DENYWRITE 0x2000 /* ETXTBSY */
@@ -873,18 +876,34 @@ struct target_winsize { @@ -873,18 +876,34 @@ struct target_winsize {
873 #define TARGET_MAP_NORESERVE 0x0400 /* don't check for reservations */ 876 #define TARGET_MAP_NORESERVE 0x0400 /* don't check for reservations */
874 #define TARGET_MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ 877 #define TARGET_MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
875 #define TARGET_MAP_NONBLOCK 0x20000 /* do not block on IO */ 878 #define TARGET_MAP_NONBLOCK 0x20000 /* do not block on IO */
876 -#else 879 +#elif defined(TARGET_PPC)
  880 +#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
877 #define TARGET_MAP_ANONYMOUS 0x20 /* don't use a file */ 881 #define TARGET_MAP_ANONYMOUS 0x20 /* don't use a file */
878 #define TARGET_MAP_GROWSDOWN 0x0100 /* stack-like segment */ 882 #define TARGET_MAP_GROWSDOWN 0x0100 /* stack-like segment */
879 #define TARGET_MAP_DENYWRITE 0x0800 /* ETXTBSY */ 883 #define TARGET_MAP_DENYWRITE 0x0800 /* ETXTBSY */
880 #define TARGET_MAP_EXECUTABLE 0x1000 /* mark it as an executable */ 884 #define TARGET_MAP_EXECUTABLE 0x1000 /* mark it as an executable */
881 -#if defined(TARGET_PPC)  
882 #define TARGET_MAP_LOCKED 0x0080 /* pages are locked */ 885 #define TARGET_MAP_LOCKED 0x0080 /* pages are locked */
883 #define TARGET_MAP_NORESERVE 0x0040 /* don't check for reservations */ 886 #define TARGET_MAP_NORESERVE 0x0040 /* don't check for reservations */
  887 +#define TARGET_MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
  888 +#define TARGET_MAP_NONBLOCK 0x10000 /* do not block on IO */
  889 +#elif defined(TARGET_ALPHA)
  890 +#define TARGET_MAP_ANONYMOUS 0x10 /* don't use a file */
  891 +#define TARGET_MAP_FIXED 0x100 /* Interpret addr exactly */
  892 +#define TARGET_MAP_GROWSDOWN 0x01000 /* stack-like segment */
  893 +#define TARGET_MAP_DENYWRITE 0x02000 /* ETXTBSY */
  894 +#define TARGET_MAP_EXECUTABLE 0x04000 /* mark it as an executable */
  895 +#define TARGET_MAP_LOCKED 0x08000 /* lock the mapping */
  896 +#define TARGET_MAP_NORESERVE 0x10000 /* no check for reservations */
  897 +#define TARGET_MAP_POPULATE 0x20000 /* pop (prefault) pagetables */
  898 +#define TARGET_MAP_NONBLOCK 0x40000 /* do not block on IO */
884 #else 899 #else
  900 +#define TARGET_MAP_FIXED 0x10 /* Interpret addr exactly */
  901 +#define TARGET_MAP_ANONYMOUS 0x20 /* don't use a file */
  902 +#define TARGET_MAP_GROWSDOWN 0x0100 /* stack-like segment */
  903 +#define TARGET_MAP_DENYWRITE 0x0800 /* ETXTBSY */
  904 +#define TARGET_MAP_EXECUTABLE 0x1000 /* mark it as an executable */
885 #define TARGET_MAP_LOCKED 0x2000 /* pages are locked */ 905 #define TARGET_MAP_LOCKED 0x2000 /* pages are locked */
886 #define TARGET_MAP_NORESERVE 0x4000 /* don't check for reservations */ 906 #define TARGET_MAP_NORESERVE 0x4000 /* don't check for reservations */
887 -#endif  
888 #define TARGET_MAP_POPULATE 0x8000 /* populate (prefault) pagetables */ 907 #define TARGET_MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
889 #define TARGET_MAP_NONBLOCK 0x10000 /* do not block on IO */ 908 #define TARGET_MAP_NONBLOCK 0x10000 /* do not block on IO */
890 #endif 909 #endif