- Timestamp:
- Dec 23, 2020 8:38:51 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142003
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r87094 r87117 319 319 # Select new Xcode based on host OS X version. 320 320 ifeq ($(KBUILD_HOST),darwin) 321 # if !defined(VBOX_WITH_EVEN_NEWER_XCODE) && !defined(VBOX_WITHOUT_EVEN_NEWER_XCODE) && !defined(VBOX_WITH_NEW_XCODE) && $(KBUILD_HOST_VERSION_MAJOR) >= 16 # (OS X 10.12 Sierra) 321 if "$(KBUILD_TARGET_ARCH)" == "arm64" 322 VBOX_WITH_EVEN_NEWER_XCODE := 1 323 # else if !defined(VBOX_WITH_EVEN_NEWER_XCODE) && !defined(VBOX_WITHOUT_EVEN_NEWER_XCODE) && !defined(VBOX_WITH_NEW_XCODE) && $(KBUILD_HOST_VERSION_MAJOR) >= 16 # (OS X 10.12 Sierra) 322 324 #VBOX_WITH_EVEN_NEWER_XCODE := 1 323 # else 324 if !defined(VBOX_WITH_NEW_XCODE) && !defined(VBOX_WITHOUT_NEW_XCODE) && $(KBUILD_HOST_VERSION_MAJOR) >= 13 # (OS X 10.9 Mavericks) 325 else if !defined(VBOX_WITH_NEW_XCODE) && !defined(VBOX_WITHOUT_NEW_XCODE) && $(KBUILD_HOST_VERSION_MAJOR) >= 13 # (OS X 10.9 Mavericks) 325 326 VBOX_WITH_NEW_XCODE := 1 326 327 endif … … 1851 1852 # ARCH_BITS_DEFS. 1852 1853 # 1853 if1of ($(KBUILD_TARGET_ARCH),amd64 sparc64 )1854 if1of ($(KBUILD_TARGET_ARCH),amd64 sparc64 arm64) 1854 1855 VBOX_HC_ARCH_BITS := 64 1855 1856 ARCH_BITS_DEFS := HC_ARCH_BITS=64 … … 2316 2317 else if1of ($(VBOX_GCC_TOOL), VBoxXcode62) 2317 2318 VBOX_DEF_MACOSX_VERSION_MIN := 10.9# Mavericks 2319 else ifeq ($(KBUILD_TARGET_ARCH),arm64) 2320 VBOX_DEF_MACOSX_VERSION_MIN := 11.0# The Jack Kerouac novel. 2318 2321 else 2319 2322 VBOX_DEF_MACOSX_VERSION_MIN := 10.13# High Sierra -
trunk/include/iprt/cdefs.h
r86528 r87117 64 64 # define RT_ARCH_SPARC 65 65 # define RT_ARCH_SPARC64 66 # define RT_ARCH_ARM32 67 # define RT_ARCH_ARM64 66 68 # define IN_RING0 67 69 # define IN_RING3 … … 105 107 * Indicates that we're compiling for the SPARC V9 architecture (64-bit). 106 108 */ 109 110 /** @def RT_ARCH_ARM32 111 * Indicates that we're compiling for the 32-bit ARM architecture. 112 */ 113 114 /** @def RT_ARCH_ARM64 115 * Indicates that we're compiling for the 64-bit ARM architecture. 116 */ 117 107 118 #if !defined(RT_ARCH_X86) \ 108 119 && !defined(RT_ARCH_AMD64) \ 109 120 && !defined(RT_ARCH_SPARC) \ 110 121 && !defined(RT_ARCH_SPARC64) \ 111 && !defined(RT_ARCH_ARM) 122 && !defined(RT_ARCH_ARM32) \ 123 && !defined(RT_ARCH_ARM64) 112 124 # if defined(__amd64__) || defined(__x86_64__) || defined(_M_X64) || defined(__AMD64__) 113 125 # define RT_ARCH_AMD64 … … 118 130 # elif defined(__sparc__) 119 131 # define RT_ARCH_SPARC 132 # elif defined(__arm64__) || defined(__aarch64__) 133 # define RT_ARCH_ARM64 120 134 # elif defined(__arm__) || defined(__arm32__) 121 # define RT_ARCH_ARM 135 # define RT_ARCH_ARM32 122 136 # else /* PORTME: append test for new archs. */ 123 137 # error "Check what predefined macros your compiler uses to indicate architecture." … … 136 150 #elif defined(RT_ARCH_SPARC) && defined(RT_ARCH_SPARC64) 137 151 # error "Both RT_ARCH_SPARC and RT_ARCH_SPARC64 cannot be defined at the same time!" 138 #elif defined(RT_ARCH_ARM) && defined(RT_ARCH_AMD64) 139 # error "Both RT_ARCH_ARM and RT_ARCH_AMD64 cannot be defined at the same time!" 140 #elif defined(RT_ARCH_ARM) && defined(RT_ARCH_X86) 141 # error "Both RT_ARCH_ARM and RT_ARCH_X86 cannot be defined at the same time!" 142 #elif defined(RT_ARCH_ARM) && defined(RT_ARCH_SPARC64) 143 # error "Both RT_ARCH_ARM and RT_ARCH_SPARC64 cannot be defined at the same time!" 144 #elif defined(RT_ARCH_ARM) && defined(RT_ARCH_SPARC) 145 # error "Both RT_ARCH_ARM and RT_ARCH_SPARC cannot be defined at the same time!" 152 #elif defined(RT_ARCH_ARM32) && defined(RT_ARCH_AMD64) 153 # error "Both RT_ARCH_ARM32 and RT_ARCH_AMD64 cannot be defined at the same time!" 154 #elif defined(RT_ARCH_ARM32) && defined(RT_ARCH_X86) 155 # error "Both RT_ARCH_ARM32 and RT_ARCH_X86 cannot be defined at the same time!" 156 #elif defined(RT_ARCH_ARM32) && defined(RT_ARCH_SPARC64) 157 # error "Both RT_ARCH_ARM32 and RT_ARCH_SPARC64 cannot be defined at the same time!" 158 #elif defined(RT_ARCH_ARM32) && defined(RT_ARCH_SPARC) 159 # error "Both RT_ARCH_ARM32 and RT_ARCH_SPARC cannot be defined at the same time!" 160 #elif defined(RT_ARCH_ARM64) && defined(RT_ARCH_AMD64) 161 # error "Both RT_ARCH_ARM64 and RT_ARCH_AMD64 cannot be defined at the same time!" 162 #elif defined(RT_ARCH_ARM64) && defined(RT_ARCH_X86) 163 # error "Both RT_ARCH_ARM64 and RT_ARCH_X86 cannot be defined at the same time!" 164 #elif defined(RT_ARCH_ARM64) && defined(RT_ARCH_SPARC64) 165 # error "Both RT_ARCH_ARM64 and RT_ARCH_SPARC64 cannot be defined at the same time!" 166 #elif defined(RT_ARCH_ARM64) && defined(RT_ARCH_SPARC) 167 # error "Both RT_ARCH_ARM64 and RT_ARCH_SPARC cannot be defined at the same time!" 168 #elif defined(RT_ARCH_ARM64) && defined(RT_ARCH_ARM32) 169 # error "Both RT_ARCH_ARM64 and RT_ARCH_ARM32 cannot be defined at the same time!" 170 #endif 171 #ifdef RT_ARCH_ARM 172 # error "RT_ARCH_ARM is now RT_ARCH_ARM32!" 146 173 #endif 147 174 … … 151 178 + (defined(RT_ARCH_SPARC) != 0) \ 152 179 + (defined(RT_ARCH_SPARC64) != 0) \ 153 + (defined(RT_ARCH_ARM) != 0) \ 180 + (defined(RT_ARCH_ARM32) != 0) \ 181 + (defined(RT_ARCH_ARM64) != 0) \ 154 182 != 1 155 183 # error "Exactly one RT_ARCH_XXX macro shall be defined" … … 295 323 /** @def RT_LITTLE_ENDIAN 296 324 * Defined if the architecture is little endian. */ 297 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86) || defined(RT_ARCH_ARM )325 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_X86) || defined(RT_ARCH_ARM32) || defined(RT_ARCH_ARM64) 298 326 # define RT_LITTLE_ENDIAN 299 327 #elif defined(RT_ARCH_SPARC) || defined(RT_ARCH_SPARC64) … … 335 363 */ 336 364 #if !defined(ARCH_BITS) || defined(DOXYGEN_RUNNING) 337 # if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC64) || defined( DOXYGEN_RUNNING)365 # if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC64) || defined(RT_ARCH_ARM64) || defined(DOXYGEN_RUNNING) 338 366 # define ARCH_BITS 64 339 367 # elif !defined(__I86__) || !defined(__WATCOMC__) … … 346 374 /* ARCH_BITS validation (PORTME). */ 347 375 #if ARCH_BITS == 64 348 #if defined(RT_ARCH_X86) || defined(RT_ARCH_SPARC) || defined(RT_ARCH_ARM )376 #if defined(RT_ARCH_X86) || defined(RT_ARCH_SPARC) || defined(RT_ARCH_ARM32) 349 377 # error "ARCH_BITS=64 but non-64-bit RT_ARCH_XXX defined." 350 378 #endif 351 #if !defined(RT_ARCH_AMD64) && !defined(RT_ARCH_SPARC64) 379 #if !defined(RT_ARCH_AMD64) && !defined(RT_ARCH_SPARC64) && !defined(RT_ARCH_ARM64) 352 380 # error "ARCH_BITS=64 but no 64-bit RT_ARCH_XXX defined." 353 381 #endif 354 382 355 383 #elif ARCH_BITS == 32 356 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC64) 384 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC64) || defined(RT_ARCH_ARM64) 357 385 # error "ARCH_BITS=32 but non-32-bit RT_ARCH_XXX defined." 358 386 #endif 359 #if !defined(RT_ARCH_X86) && !defined(RT_ARCH_SPARC) && !defined(RT_ARCH_ARM )387 #if !defined(RT_ARCH_X86) && !defined(RT_ARCH_SPARC) && !defined(RT_ARCH_ARM32) 360 388 # error "ARCH_BITS=32 but no 32-bit RT_ARCH_XXX defined." 361 389 #endif 362 390 363 391 #elif ARCH_BITS == 16 364 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC) || defined(RT_ARCH_SPARC64) || defined(RT_ARCH_ARM )392 #if defined(RT_ARCH_AMD64) || defined(RT_ARCH_SPARC) || defined(RT_ARCH_SPARC64) || defined(RT_ARCH_ARM32) || defined(RT_ARCH_ARM64) 365 393 # error "ARCH_BITS=16 but non-16-bit RT_ARCH_XX defined." 366 394 #endif … … 3820 3848 # elif defined(RT_ARCH_SPARC) 3821 3849 # define RT_BREAKPOINT() __asm__ __volatile__("unimp 0\n\t") /** @todo Sparc: this is just a wild guess (same as Sparc64, just different name). */ 3850 # elif defined(RT_ARCH_ARM32) || defined(RT_ARCH_ARM64) 3851 # define RT_BREAKPOINT() __asm__ __volatile__("brk #0x1\n\t") 3822 3852 # endif 3823 3853 #endif … … 4301 4331 # endif /* !IN_RING3 */ 4302 4332 4303 #elif defined(RT_ARCH_ARM )4333 #elif defined(RT_ARCH_ARM32) || defined(RT_ARCH_ARM64) 4304 4334 /* ASSUMES that at least the last and first 4K are out of bounds. */ 4305 4335 # define RT_VALID_PTR(ptr) ( (uintptr_t)(ptr) + 0x1000U >= 0x2000U )
Note:
See TracChangeset
for help on using the changeset viewer.