501b24c63b
Support for 64-bit atomic operations for ARMv7+ is currently stubbed out in libroot, but our current targets do not use it anyway. We now select atomics-as-syscalls automatically based on the ARM architecture we're building for. The intent is to do away with most of the board specifics (at the very least on the kernel side) and just specify the lowest ARMvX version you want to build for. This will give flexibility in being able to distribute a single image for a wide range of devices, and building a tuned system for one specific core type.
24 lines
594 B
C
24 lines
594 B
C
/*
|
|
* Copyright 2004, Axel Dörfler, axeld@pinc-software.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _KERNEL_ARCH_ARM_CONFIG_H
|
|
#define _KERNEL_ARCH_ARM_CONFIG_H
|
|
|
|
|
|
#define FUNCTION_CALL_PARAMETER_ALIGNMENT_TYPE unsigned int
|
|
|
|
#define STACK_GROWS_DOWNWARDS
|
|
|
|
// If we're building on ARMv5 or older, all our atomics need to be syscalls... :(
|
|
#if _M_ARM <= 5
|
|
#define ATOMIC_FUNCS_ARE_SYSCALLS
|
|
#endif
|
|
|
|
// If we're building on ARMv6 or older, 64-bit atomics need to be syscalls...
|
|
#if _M_ARM < 7
|
|
#define ATOMIC64_FUNCS_ARE_SYSCALLS
|
|
#endif
|
|
|
|
#endif /* _KERNEL_ARCH_ARM_CONFIG_H */
|