source: rtems/cpukit/score/cpu/bfin/include/rtems/score/cpuimpl.h @ a660e9dc

Last change on this file since a660e9dc was a660e9dc, checked in by Sebastian Huber <sebastian.huber@…>, on 09/08/22 at 08:37:05

Do not use RTEMS_INLINE_ROUTINE

Directly use "static inline" which is available in C99 and later. This brings
the RTEMS implementation closer to standard C.

Close #3935.

  • Property mode set to 100644
File size: 1.2 KB
Line 
1/**
2 * @file
3 *
4 * @brief CPU Port Implementation API
5 */
6
7/*
8 * Copyright (c) 2013 embedded brains GmbH
9 *
10 * The license and distribution terms for this file may be
11 * found in the file LICENSE in this distribution or at
12 * http://www.rtems.org/license/LICENSE.
13 */
14
15#ifndef _RTEMS_SCORE_CPUIMPL_H
16#define _RTEMS_SCORE_CPUIMPL_H
17
18#include <rtems/score/cpu.h>
19
20/**
21 * @defgroup RTEMSScoreCPUBfin Blackfin
22 *
23 * @ingroup RTEMSScoreCPU
24 *
25 * @brief Blackfin Architecture Support
26 *
27 * @{
28 */
29
30#define CPU_PER_CPU_CONTROL_SIZE 0
31
32#ifndef ASM
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
39
40static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
41{
42  /* TODO */
43}
44
45static inline void _CPU_Context_validate( uintptr_t pattern )
46{
47  while (1) {
48    /* TODO */
49  }
50}
51
52static inline void _CPU_Instruction_illegal( void )
53{
54  __asm__ volatile ( ".word 0" );
55}
56
57static inline void _CPU_Instruction_no_operation( void )
58{
59  __asm__ volatile ( "nop" );
60}
61
62static inline void _CPU_Use_thread_local_storage(
63  const Context_Control *context
64)
65{
66  (void) context;
67}
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* ASM */
74
75/** @} */
76
77#endif /* _RTEMS_SCORE_CPUIMPL_H */
Note: See TracBrowser for help on using the repository browser.