haiku/headers/private/system/arch/arm/arch_config.h
Ithamar R. Adema 501b24c63b ARM: kernel: Make 32/64-bit atomics work for ARMv5/6
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.
2013-09-18 05:03:18 +02:00

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 */