genode/base/include/arm/cpu/consts.h
Sebastian Sumpf 433a216919 base: Fix stack pointer alignment for ARM
After some research we found that the stack pointer on ARM platforms must be
at least double word aligned (See: "Procedure Call Standard for the ARM
Architecture" - 5.2.1.1). Since a 'call' on ARM will not result in a stack pointer
change (like on x86), the current behavior resulted in a 4 Byte aligned stack
only.

Follow up to #1043
2014-02-25 14:58:07 +01:00

28 lines
650 B
C++

/*
* \brief Constants definitions for the ARM architecture.
* \author Sebastian Sumpf
* \date 2014-02-20
*/
/*
* Copyright (C) 2011-2013 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#ifndef _INCLUDE__ARM__CPU__CONSTS_H_
#define _INCLUDE__ARM__CPU__CONSTS_H_
#include <base/stdint.h>
namespace Abi {
/**
* On ARM a call (or branch) will not change the stack pointer, so we do not
* need stack adjustment
*/
static constexpr Genode::size_t stack_adjustment() { return 0; }
}
#endif /* _INCLUDE__ARM__CPU__CONSTS_H_ */