Changeset 647 in vbox
- Timestamp:
- Feb 5, 2007 6:33:16 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 18280
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/cdefs.h
r331 r647 1029 1029 * @param ptr 1030 1030 */ 1031 #ifdef IN_RING3 1032 # ifdef __L4__ 1033 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x10000 >= 0x11000 ) 1034 # elif defined(__DARWIN__) 1035 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x200000 >= 0x201000 ) 1036 # else 1037 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x10000 >= 0x20000 ) 1038 # endif 1039 #else 1040 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x1000 >= 0x2000 ) 1031 #if defined(__AMD64__) 1032 # ifdef IN_RING3 1033 # if defined(__DARWIN__) /* first 4GB is reserved for legacy kernel. */ 1034 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) >= _4G \ 1035 && !((uintptr_t)(ptr) & 0xffff800000000000ULL) ) 1036 # else 1037 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x1000U >= 0x2000U \ 1038 && !((uintptr_t)(ptr) & 0xffff800000000000ULL) ) 1039 # endif 1040 # else /* !IN_RING3 */ 1041 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x1000U >= 0x2000U \ 1042 && ( ((uintptr_t)(ptr) & 0xffff800000000000ULL) == 0xffff800000000000ULL \ 1043 || ((uintptr_t)(ptr) & 0xffff800000000000ULL) == 0) ) 1044 # endif /* !IN_RING3 */ 1045 #elif defined(__X86__) 1046 # define VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x1000U >= 0x2000U ) 1047 #else 1048 # error "Architecture identifier missing / not implemented." 1041 1049 #endif 1042 1050
Note:
See TracChangeset
for help on using the changeset viewer.