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