/*
 * Copyright (c) 2016 Wind River Systems, Inc.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#ifndef _offsets_short_arch__h_
#define _offsets_short_arch__h_

#include <offsets.h>

/* kernel */

/* nothing for now */

/* end - kernel */

/* threads */

#define _thread_offset_to_intlock_key \
	(___thread_t_arch_OFFSET + ___thread_arch_t_intlock_key_OFFSET)

#define _thread_offset_to_relinquish_cause \
	(___thread_t_arch_OFFSET + ___thread_arch_t_relinquish_cause_OFFSET)

#define _thread_offset_to_return_value \
	(___thread_t_arch_OFFSET + ___thread_arch_t_return_value_OFFSET)

#define _thread_offset_to_stack_base \
	(___thread_t_arch_OFFSET + ___thread_arch_t_stack_base_OFFSET)

#define _thread_offset_to_sp \
	(___thread_t_callee_saved_OFFSET + ___callee_saved_t_sp_OFFSET)

#define _thread_offset_to_stack_top \
	(___thread_t_stack_info_OFFSET + ___thread_stack_info_t_start_OFFSET)

/* end - threads */

#endif /* _offsets_short_arch__h_ */
