source: rtems/cpukit/score/cpu/lm32/include/rtems/score/cpuimpl.h @ 4c89fbcd

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

score: Add CPU_THREAD_LOCAL_STORAGE_VARIANT

Update #3835.

  • Property mode set to 100644
File size: 1.3 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 RTEMSScoreCPUlm32 LatticeMicro32 (lm32)
22 *
23 * @ingroup RTEMSScoreCPU
24 *
25 * @brief LatticeMicro32 (lm32) Architecture Support
26 */
27/** @{ */
28
29#define CPU_PER_CPU_CONTROL_SIZE 0
30
31#define CPU_THREAD_LOCAL_STORAGE_VARIANT 10
32
33#ifndef ASM
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
40
41static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
42{
43  /* TODO */
44}
45
46static inline void _CPU_Context_validate( uintptr_t pattern )
47{
48  while (1) {
49    /* TODO */
50  }
51}
52
53static inline void _CPU_Instruction_illegal( void )
54{
55  __asm__ volatile ( ".word 0" );
56}
57
58static inline void _CPU_Instruction_no_operation( void )
59{
60  __asm__ volatile ( "nop" );
61}
62
63static inline void _CPU_Use_thread_local_storage(
64  const Context_Control *context
65)
66{
67  (void) context;
68}
69
70#ifdef __cplusplus
71}
72#endif
73
74#endif /* ASM */
75
76#endif /* _RTEMS_SCORE_CPUIMPL_H */
77
78/** @} */
Note: See TracBrowser for help on using the repository browser.