2014-02-20 10:27:26 +00:00
|
|
|
/*
|
|
|
|
* \brief Constants definitions for the ARM architecture.
|
|
|
|
* \author Sebastian Sumpf
|
|
|
|
* \date 2014-02-20
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2017-02-20 12:23:52 +00:00
|
|
|
* Copyright (C) 2011-2017 Genode Labs GmbH
|
2014-02-20 10:27:26 +00:00
|
|
|
*
|
|
|
|
* This file is part of the Genode OS framework, which is distributed
|
2017-02-20 12:23:52 +00:00
|
|
|
* under the terms of the GNU Affero General Public License version 3.
|
2014-02-20 10:27:26 +00:00
|
|
|
*/
|
|
|
|
|
2015-09-03 12:55:05 +00:00
|
|
|
#ifndef _INCLUDE__SPEC__ARM__CPU__CONSTS_H_
|
|
|
|
#define _INCLUDE__SPEC__ARM__CPU__CONSTS_H_
|
2014-02-20 10:27:26 +00:00
|
|
|
|
|
|
|
#include <base/stdint.h>
|
|
|
|
|
|
|
|
namespace Abi {
|
2014-02-21 09:59:39 +00:00
|
|
|
|
2016-01-15 14:48:20 +00:00
|
|
|
/*
|
|
|
|
* On ARM we align the stack top to 16-byte. As a call (or branch) will not
|
|
|
|
* change the stack pointer, we need no further stack adjustment.
|
2014-02-20 10:27:26 +00:00
|
|
|
*/
|
2016-04-21 07:10:44 +00:00
|
|
|
inline Genode::addr_t stack_align(Genode::addr_t addr) {
|
2021-12-18 21:49:54 +00:00
|
|
|
return (addr & ~0xfUL); }
|
2014-02-21 09:59:39 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Do ABI specific initialization to a freshly created stack
|
|
|
|
*/
|
|
|
|
inline void init_stack(Genode::addr_t) { }
|
2014-02-20 10:27:26 +00:00
|
|
|
}
|
|
|
|
|
2015-09-03 12:55:05 +00:00
|
|
|
#endif /* _INCLUDE__SPEC__ARM__CPU__CONSTS_H_ */
|