mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-02 06:57:24 +08:00
@@ -687,8 +687,6 @@ typedef struct {
|
||||
uint32_t reserved_for_stack_alignment;
|
||||
} CPU_Exception_frame;
|
||||
|
||||
typedef CPU_Exception_frame CPU_Interrupt_frame;
|
||||
|
||||
void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
|
||||
|
||||
void _ARM_Exception_default( CPU_Exception_frame *frame );
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2013 embedded brains GmbH
|
||||
* Copyright (c) 2013, 2016 embedded brains GmbH
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
@@ -19,6 +19,18 @@
|
||||
|
||||
#define CPU_PER_CPU_CONTROL_SIZE 0
|
||||
|
||||
#ifdef ARM_MULTILIB_ARCH_V4
|
||||
|
||||
#if defined(ARM_MULTILIB_VFP_D32)
|
||||
#define CPU_INTERRUPT_FRAME_SIZE 240
|
||||
#elif defined(ARM_MULTILIB_VFP)
|
||||
#define CPU_INTERRUPT_FRAME_SIZE 112
|
||||
#else
|
||||
#define CPU_INTERRUPT_FRAME_SIZE 40
|
||||
#endif
|
||||
|
||||
#endif /* ARM_MULTILIB_ARCH_V4 */
|
||||
|
||||
#ifndef ASM
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -27,6 +39,48 @@ extern "C" {
|
||||
|
||||
#ifdef ARM_MULTILIB_ARCH_V4
|
||||
|
||||
typedef struct {
|
||||
#ifdef ARM_MULTILIB_VFP
|
||||
uint32_t fpscr;
|
||||
#ifdef ARM_MULTILIB_VFP_D32
|
||||
double d16;
|
||||
double d17;
|
||||
double d18;
|
||||
double d19;
|
||||
double d20;
|
||||
double d21;
|
||||
double d22;
|
||||
double d23;
|
||||
double d24;
|
||||
double d25;
|
||||
double d26;
|
||||
double d27;
|
||||
double d28;
|
||||
double d29;
|
||||
double d30;
|
||||
double d31;
|
||||
#endif /* ARM_MULTILIB_VFP_D32 */
|
||||
double d0;
|
||||
double d1;
|
||||
double d2;
|
||||
double d3;
|
||||
double d4;
|
||||
double d5;
|
||||
double d6;
|
||||
double d7;
|
||||
#endif /* ARM_MULTILIB_VFP */
|
||||
uint32_t r9;
|
||||
uint32_t lr;
|
||||
uint32_t r0;
|
||||
uint32_t r1;
|
||||
uint32_t r2;
|
||||
uint32_t r3;
|
||||
uint32_t return_pc;
|
||||
uint32_t return_cpsr;
|
||||
uint32_t r7;
|
||||
uint32_t r12;
|
||||
} CPU_Interrupt_frame;
|
||||
|
||||
#ifdef RTEMS_SMP
|
||||
|
||||
static inline struct Per_CPU_Control *_ARM_Get_current_per_CPU_control( void )
|
||||
|
||||
Reference in New Issue
Block a user