summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/i386/include/rtems/score
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bsps/arm/imxrt/boards/saltshaker/clock_config.h (renamed from cpukit/score/cpu/i386/include/rtems/score/cpuatomic.h)12
-rw-r--r--cpukit/score/cpu/i386/include/rtems/score/cpu.h13
-rw-r--r--cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h11
3 files changed, 27 insertions, 9 deletions
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpuatomic.h b/bsps/arm/imxrt/boards/saltshaker/clock_config.h
index 01bb99cda3..f918d969b3 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpuatomic.h
+++ b/bsps/arm/imxrt/boards/saltshaker/clock_config.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/*
- * COPYRIGHT (c) 2012-2013 Deng Hengyi.
+ * Copyright (C) 2023 embedded brains GmbH & Co. KG
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -25,9 +25,11 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
-#define _RTEMS_SCORE_ATOMIC_CPU_H
+#ifndef BOARD_CLOCK_CONFIG_H
+#define BOARD_CLOCK_CONFIG_H
-#include <rtems/score/cpustdatomic.h>
+#include <bspopts.h>
+#include <fsl_clock_config.h>
+#define FLEXSPI_IN_USE
-#endif /* _RTEMS_SCORE_ATOMIC_CPU_H */
+#endif /* BOARD_CLOCK_CONFIG_H */
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpu.h b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
index 6aa97d309e..a12b0f2b92 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
@@ -2,9 +2,9 @@
/**
* @file
- *
+ *
* @brief Intel I386 CPU Dependent Source
- *
+ *
* This include file contains information pertaining to the Intel
* i386 processor.
*/
@@ -51,7 +51,7 @@ extern "C" {
#include <rtems/score/paravirt.h>
#endif
#include <rtems/score/i386.h>
-
+
/**
* @defgroup RTEMSScoreCPUi386 i386 Specific Support
*
@@ -163,7 +163,7 @@ typedef struct {
} Context_Control;
#define _CPU_Context_Get_SP( _context ) \
- (_context)->esp
+ (uintptr_t) (_context)->esp
#ifdef RTEMS_SMP
static inline bool _CPU_Context_Get_is_executing(
@@ -572,6 +572,11 @@ void _CPU_Context_switch(
Context_Control *heir
);
+RTEMS_NO_RETURN void _CPU_Context_switch_no_return(
+ Context_Control *executing,
+ Context_Control *heir
+);
+
/*
* _CPU_Context_restore
*
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
index f0e4088218..da38ecacf7 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/cpuimpl.h
@@ -62,11 +62,15 @@ RTEMS_NO_RETURN void _CPU_Fatal_halt( uint32_t source, CPU_Uint32ptr error );
static inline void _CPU_Context_volatile_clobber( uintptr_t pattern )
{
+ (void) pattern;
+
/* TODO */
}
static inline void _CPU_Context_validate( uintptr_t pattern )
{
+ (void) pattern;
+
while (1) {
/* TODO */
}
@@ -108,6 +112,13 @@ static inline void _CPU_Use_thread_local_storage(
);
}
+static inline void *_CPU_Get_TLS_thread_pointer(
+ const Context_Control *context
+)
+{
+ return (void *) &context->gs;
+}
+
#ifdef __cplusplus
}
#endif