19 #ifndef _RTEMS_SCORE_CPU_H 20 #define _RTEMS_SCORE_CPU_H 26 #include <rtems/score/types.h> 31 #if defined(RTEMS_SMP) 53 #define SPARC_USE_SAFE_FP_SUPPORT 64 #define CPU_INLINE_ENABLE_DISPATCH TRUE 75 #define CPU_HAS_SOFTWARE_INTERRUPT_STACK TRUE 87 #define CPU_SIMPLE_VECTORED_INTERRUPTS TRUE 97 #define CPU_HAS_HARDWARE_INTERRUPT_STACK FALSE 110 #define CPU_ALLOCATE_INTERRUPT_STACK TRUE 120 #define CPU_ISR_PASSES_FRAME_POINTER 0 130 #if ( SPARC_HAS_FPU == 1 ) && !defined(SPARC_USE_SAFE_FP_SUPPORT) 131 #define CPU_HARDWARE_FP TRUE 133 #define CPU_HARDWARE_FP FALSE 140 #define CPU_SOFTWARE_FP FALSE 150 #define CPU_ALL_TASKS_ARE_FP FALSE 161 #define CPU_IDLE_TASK_IS_FP FALSE 180 #if defined(SPARC_USE_SAFE_FP_SUPPORT) 181 #define CPU_USE_DEFERRED_FP_SWITCH FALSE 183 #define CPU_USE_DEFERRED_FP_SWITCH TRUE 200 #define CPU_PROVIDES_IDLE_THREAD_BODY FALSE 211 #define CPU_STACK_GROWS_UP FALSE 223 #define CPU_STRUCTURE_ALIGNMENT __attribute__ ((aligned (32))) 225 #define CPU_TIMESTAMP_USE_INT64_INLINE TRUE 233 #define CPU_BIG_ENDIAN TRUE 241 #define CPU_LITTLE_ENDIAN FALSE 250 #define CPU_MODES_INTERRUPT_MASK 0x0000000F 318 #define CPU_STACK_FRAME_L0_OFFSET 0x00 320 #define CPU_STACK_FRAME_L1_OFFSET 0x04 322 #define CPU_STACK_FRAME_L2_OFFSET 0x08 324 #define CPU_STACK_FRAME_L3_OFFSET 0x0c 326 #define CPU_STACK_FRAME_L4_OFFSET 0x10 328 #define CPU_STACK_FRAME_L5_OFFSET 0x14 330 #define CPU_STACK_FRAME_L6_OFFSET 0x18 332 #define CPU_STACK_FRAME_L7_OFFSET 0x1c 334 #define CPU_STACK_FRAME_I0_OFFSET 0x20 336 #define CPU_STACK_FRAME_I1_OFFSET 0x24 338 #define CPU_STACK_FRAME_I2_OFFSET 0x28 340 #define CPU_STACK_FRAME_I3_OFFSET 0x2c 342 #define CPU_STACK_FRAME_I4_OFFSET 0x30 344 #define CPU_STACK_FRAME_I5_OFFSET 0x34 346 #define CPU_STACK_FRAME_I6_FP_OFFSET 0x38 348 #define CPU_STACK_FRAME_I7_OFFSET 0x3c 350 #define CPU_STRUCTURE_RETURN_ADDRESS_OFFSET 0x40 352 #define CPU_STACK_FRAME_SAVED_ARG0_OFFSET 0x44 354 #define CPU_STACK_FRAME_SAVED_ARG1_OFFSET 0x48 356 #define CPU_STACK_FRAME_SAVED_ARG2_OFFSET 0x4c 358 #define CPU_STACK_FRAME_SAVED_ARG3_OFFSET 0x50 360 #define CPU_STACK_FRAME_SAVED_ARG4_OFFSET 0x54 362 #define CPU_STACK_FRAME_SAVED_ARG5_OFFSET 0x58 364 #define CPU_STACK_FRAME_PAD0_OFFSET 0x5c 367 #define CPU_MINIMUM_STACK_FRAME_SIZE 0x60 369 #if ( SPARC_HAS_FPU == 1 ) 370 #define CPU_PER_CPU_CONTROL_SIZE 8 372 #define CPU_PER_CPU_CONTROL_SIZE 4 379 #define SPARC_PER_CPU_ISR_DISPATCH_DISABLE 0 381 #if ( SPARC_HAS_FPU == 1 ) 386 #define SPARC_PER_CPU_FSR_OFFSET 4 421 #if ( SPARC_HAS_FPU == 1 ) 509 #if defined(RTEMS_SMP) 510 volatile uint32_t is_executing;
519 #define _CPU_Context_Get_SP( _context ) \ 523 static inline bool _CPU_Context_Get_is_executing(
527 return context->is_executing;
530 static inline void _CPU_Context_Set_is_executing(
535 context->is_executing = is_executing;
546 #define G5_OFFSET 0x00 548 #define G7_OFFSET 0x04 551 #define L0_OFFSET 0x08 553 #define L1_OFFSET 0x0C 555 #define L2_OFFSET 0x10 557 #define L3_OFFSET 0x14 559 #define L4_OFFSET 0x18 561 #define L5_OFFSET 0x1C 563 #define L6_OFFSET 0x20 565 #define L7_OFFSET 0x24 568 #define I0_OFFSET 0x28 570 #define I1_OFFSET 0x2C 572 #define I2_OFFSET 0x30 574 #define I3_OFFSET 0x34 576 #define I4_OFFSET 0x38 578 #define I5_OFFSET 0x3C 580 #define I6_FP_OFFSET 0x40 582 #define I7_OFFSET 0x44 585 #define O6_SP_OFFSET 0x48 587 #define O7_OFFSET 0x4C 590 #define PSR_OFFSET 0x50 592 #define ISR_DISPATCH_DISABLE_STACK_OFFSET 0x54 594 #if defined(RTEMS_SMP) 595 #define SPARC_CONTEXT_CONTROL_IS_EXECUTING_OFFSET 0x58 648 #define FO_F1_OFFSET 0x00 650 #define F2_F3_OFFSET 0x08 652 #define F4_F5_OFFSET 0x10 654 #define F6_F7_OFFSET 0x18 656 #define F8_F9_OFFSET 0x20 658 #define F1O_F11_OFFSET 0x28 660 #define F12_F13_OFFSET 0x30 662 #define F14_F15_OFFSET 0x38 664 #define F16_F17_OFFSET 0x40 666 #define F18_F19_OFFSET 0x48 668 #define F2O_F21_OFFSET 0x50 670 #define F22_F23_OFFSET 0x58 672 #define F24_F25_OFFSET 0x60 674 #define F26_F27_OFFSET 0x68 676 #define F28_F29_OFFSET 0x70 678 #define F3O_F31_OFFSET 0x78 680 #define FSR_OFFSET 0x80 683 #define CONTEXT_CONTROL_FP_SIZE 0x84 749 #define ISF_PSR_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x00 751 #define ISF_PC_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x04 753 #define ISF_NPC_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x08 755 #define ISF_G1_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x0c 757 #define ISF_G2_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x10 759 #define ISF_G3_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x14 761 #define ISF_G4_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x18 763 #define ISF_G5_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x1c 765 #define ISF_G7_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x24 767 #define ISF_I0_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x28 769 #define ISF_I1_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x2c 771 #define ISF_I2_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x30 773 #define ISF_I3_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x34 775 #define ISF_I4_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x38 777 #define ISF_I5_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x3c 779 #define ISF_I6_FP_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x40 781 #define ISF_I7_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x44 783 #define ISF_Y_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x48 785 #define ISF_TPC_OFFSET CPU_MINIMUM_STACK_FRAME_SIZE + 0x4c 788 #define CONTEXT_CONTROL_INTERRUPT_FRAME_SIZE \ 789 CPU_MINIMUM_STACK_FRAME_SIZE + 0x50 832 #define CPU_CONTEXT_FP_SIZE sizeof( Context_Control_fp ) 841 #define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 1024 866 #define CPU_INTERRUPT_NUMBER_OF_VECTORS 256 872 #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER 511 878 #define SPARC_SYNCHRONOUS_TRAP_BIT_MASK 0x100 883 #define SPARC_ASYNCHRONOUS_TRAP( _trap ) (_trap) 888 #define SPARC_SYNCHRONOUS_TRAP( _trap ) ((_trap) + 256 ) 893 #define SPARC_REAL_TRAP_NUMBER( _trap ) ((_trap) % 256) 899 #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE 909 #define CPU_STACK_MINIMUM_SIZE (1024*4) 914 #define CPU_SIZEOF_POINTER 4 922 #define CPU_ALIGNMENT 8 935 #define CPU_HEAP_ALIGNMENT CPU_ALIGNMENT 948 #define CPU_PARTITION_ALIGNMENT CPU_ALIGNMENT 963 #define CPU_STACK_ALIGNMENT 16 974 #define _CPU_Initialize_vectors() 980 #define _CPU_ISR_Disable( _level ) \ 981 (_level) = sparc_disable_interrupts() 988 #define _CPU_ISR_Enable( _level ) \ 989 sparc_enable_interrupts( _level ) 997 #define _CPU_ISR_Flash( _level ) \ 998 sparc_flash_interrupts( _level ) 1005 #define _CPU_ISR_Set_level( _newlevel ) \ 1006 sparc_enable_interrupts( _newlevel << 8) 1044 uint32_t *stack_base,
1065 #define _CPU_Context_Initialization_at_thread_begin() \ 1067 __asm__ volatile ("set _Thread_Handler,%%i7\n"::); \ 1078 #define _CPU_Context_Restart_self( _the_context ) \ 1079 _CPU_Context_restore( (_the_context) ); 1085 #define _CPU_Context_Fp_start( _base, _offset ) \ 1086 ( (void *) _Addresses_Add_offset( (_base), (_offset) ) ) 1096 #define _CPU_Context_Initialize_fp( _destination ) \ 1098 *(*(_destination)) = _CPU_Null_fp_context; \ 1117 #if ( SPARC_HAS_BITSCAN == 0 ) 1122 #define CPU_USE_GENERIC_BITFIELD_CODE TRUE 1128 #define CPU_USE_GENERIC_BITFIELD_DATA TRUE 1130 #error "scan instruction not currently supported by RTEMS!!" 1207 #define _CPU_Get_current_per_CPU_control() ( _SPARC_Per_CPU_current ) 1209 #if defined(RTEMS_SMP) 1210 uint32_t _CPU_SMP_Initialize(
void );
1212 bool _CPU_SMP_Start_processor( uint32_t cpu_index );
1214 void _CPU_SMP_Finalize_initialization( uint32_t cpu_count );
1216 void _CPU_SMP_Prepare_start_multitasking(
void );
1218 #if defined(__leon__) && !defined(RTEMS_PARAVIRT) 1219 static inline uint32_t _CPU_SMP_Get_current_processor(
void )
1221 return _LEON3_Get_current_processor();
1224 uint32_t _CPU_SMP_Get_current_processor(
void );
1227 void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
1229 static inline void _CPU_SMP_Processor_event_broadcast(
void )
1231 __asm__ volatile (
"" : : :
"memory" );
1234 static inline void _CPU_SMP_Processor_event_receive(
void )
1236 __asm__ volatile (
"" : : :
"memory" );
1293 static inline uint32_t CPU_swap_u32(
1297 uint32_t byte1, byte2, byte3, byte4, swapped;
1299 byte4 = (value >> 24) & 0xff;
1300 byte3 = (value >> 16) & 0xff;
1301 byte2 = (value >> 8) & 0xff;
1302 byte1 = value & 0xff;
1304 swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;
1315 #define CPU_swap_u16( value ) \ 1316 (((value&0xff) << 8) | ((value >> 8)&0xff)) 1321 CPU_Counter_ticks second,
1322 CPU_Counter_ticks first
1333 volatile const CPU_Counter_ticks *counter_register;
1334 SPARC_Counter_difference counter_difference;
1344 CPU_Counter_ticks _SPARC_Counter_difference_default(
1345 CPU_Counter_ticks second,
1346 CPU_Counter_ticks first
1349 static inline bool _SPARC_Counter_is_default(
void )
1351 return _SPARC_Counter.counter_difference
1352 == _SPARC_Counter_difference_default;
1355 static inline void _SPARC_Counter_initialize(
1356 volatile const CPU_Counter_ticks *counter_register,
1357 SPARC_Counter_difference counter_difference
1360 _SPARC_Counter.counter_register = counter_register;
1361 _SPARC_Counter.counter_difference = counter_difference;
1366 return *_SPARC_Counter.counter_register;
1370 CPU_Counter_ticks second,
1371 CPU_Counter_ticks first
1374 return (*_SPARC_Counter.counter_difference)( second, first );
uint32_t g5
This will contain the contents of the g5 register.
Definition: cpu.h:450
This structure represents the organization of the minimum stack frame for the SPARC.
Definition: cpu.h:259
uint32_t l3
This is the offset of the l3 register.
Definition: cpu.h:267
uint32_t g7
This is the offset of the g7 register on an ISF.
Definition: cpu.h:719
void _CPU_ISR_install_vector(uint32_t vector, proc_ptr new_handler, proc_ptr *old_handler)
This routine installs an interrupt vector.
Definition: cpu.c:69
double f0_f1
This will contain the contents of the f0 and f1 register.
Definition: cpu.h:606
void _CPU_Context_validate(uintptr_t pattern)
Initializes and validates the CPU context with values derived from the pattern parameter.
Definition: cpu.h:1109
uint32_t fsr
This will contain the contents of the floating point status register.
Definition: cpu.h:638
uint32_t l7
This is the offset of the l7 register.
Definition: cpu.h:275
uint32_t _CPU_ISR_Get_level(void)
Return the current interrupt disable level for this task in the format used by the interrupt level po...
Definition: cpu.c:39
void _CPU_Context_restore(Context_Control *new_context)
This routine is generally used only to restart self in an efficient manner.
Definition: cpu_asm.c:112
uint32_t i6_fp
This is the offset of the i6 register.
Definition: cpu.h:289
The following type defines an entry in the SPARC's trap table.
Definition: cpu.h:807
uint32_t i0
This will contain the contents of the i0 register.
Definition: cpu.h:476
uint32_t l3
This will contain the contents of the l3 register.
Definition: cpu.h:465
void _CPU_Context_switch(Context_Control *run, Context_Control *heir)
CPU switch context.
Definition: cpu_asm.c:92
uint32_t mov_vector_l3
This will contain a " mov _vector, %l3" instruction.
Definition: cpu.h:815
uint32_t i5
This is the offset of the i5 register on an ISF.
Definition: cpu.h:731
void _CPU_Context_volatile_clobber(uintptr_t pattern)
Clobbers all volatile registers with values derived from the pattern parameter.
Definition: cpu.h:1104
This defines the minimal set of integer and processor state registers that must be saved during a vol...
Definition: cpu.h:248
uint32_t isr_dispatch_disable
This field is used to prevent heavy nesting of calls to _Thread_Dispatch on an interrupted task's sta...
Definition: cpu.h:507
uint32_t isr_dispatch_disable
This flag is context switched with each thread.
Definition: cpu.h:419
void _CPU_Initialize(void)
CPU initialization.
Definition: cpu.c:26
uint32_t l2
This will contain the contents of the l2 register.
Definition: cpu.h:463
uint32_t reserved_for_alignment
This is the offset is reserved for alignment on an ISF.
Definition: cpu.h:717
uint32_t mov_psr_l0
This will contain a "mov %psr, %l0" instruction.
Definition: cpu.h:809
uint32_t saved_arg3
This is the offset of the register for saved argument 3.
Definition: cpu.h:306
double f8_f9
This will contain the contents of the f8 and f9 register.
Definition: cpu.h:614
SCORE_EXTERN Context_Control_fp _CPU_Null_fp_context
This variable is optional.
Definition: cpu.h:494
uint32_t CPU_Counter_ticks
Unsigned integer type for CPU counter values.
Definition: cpu.h:1461
This defines the set of integer and processor state registers that must be saved during an interrupt...
Definition: cpu.h:425
uint32_t saved_arg4
This is the offset of the register for saved argument 4.
Definition: cpu.h:308
CPU_Minimum_stack_frame Stack_frame
On an interrupt, we must save the minimum stack frame.
Definition: cpu.h:699
void _CPU_ISR_install_raw_handler(uint32_t vector, proc_ptr new_handler, proc_ptr *old_handler)
This routine installs a "raw" interrupt handler directly into the processor's vector table...
Definition: cpu.c:57
uint32_t g7
This will contain the contents of the g7 register.
Definition: cpu.h:452
uint32_t i6_fp
This will contain the contents of the i6 (e.g.
Definition: cpu.h:488
uint32_t g3
This is the offset of the g3 register on an ISF.
Definition: cpu.h:711
uint32_t sethi_of_handler_to_l4
This will contain a "sethi %hi(_handler), %l4" instruction.
Definition: cpu.h:811
double f10_f11
This will contain the contents of the f10 and f11 register.
Definition: cpu.h:616
double l0_and_l1
This will contain the contents of the l0 and l1 registers.
Definition: cpu.h:461
uint32_t l6
This will contain the contents of the l6 register.
Definition: cpu.h:471
uint32_t i5
This will contain the contents of the i5 register.
Definition: cpu.h:486
double f22_f23
This will contain the contents of the f22 and f23 register.
Definition: cpu.h:628
uint32_t i7
This is the offset of the i7 register on an ISF.
Definition: cpu.h:735
uint32_t tpc
This is the offset of the tpc register on an ISF.
Definition: cpu.h:739
uint32_t i0
This is the offset of the i0 register on an ISF.
Definition: cpu.h:721
register struct Per_CPU_Control *_SPARC_Per_CPU_current __asm__("g6")
The pointer to the current per-CPU control is available via register g6.
void _CPU_Context_restore_fp(Context_Control_fp **fp_context_ptr)
This routine restores the floating point context passed to it.
Definition: cpu.c:176
uint32_t saved_arg0
This is the offset of the register for saved argument 0.
Definition: cpu.h:300
The CPU specific per-CPU control.
Definition: cpu.h:367
uint32_t i2
This is the offset of the i2 register on an ISF.
Definition: cpu.h:725
double f4_f5
This will contain the contents of the f4 and f5 register.
Definition: cpu.h:610
uint32_t l2
This is the offset of the l2 register.
Definition: cpu.h:265
uint32_t i4
This will contain the contents of the i4 register.
Definition: cpu.h:484
uint32_t g2
This is the offset of the g2 register on an ISF.
Definition: cpu.h:709
uint32_t i1
This is the offset of the i1 register.
Definition: cpu.h:279
uint32_t i2
This will contain the contents of the i2 register.
Definition: cpu.h:480
void _CPU_Context_Initialize(Context_Control *the_context, uint32_t *stack_base, uint32_t size, uint32_t new_level, void *entry_point, bool is_fp, void *tls_area)
Initialize the context to a state suitable for starting a task after a context restore operation...
Definition: cpu.c:183
uint32_t psr
This will contain the contents of the processor status register.
Definition: cpu.h:501
Per CPU Core Structure.
Definition: percpu.h:233
uint32_t l6
This is the offset of the l6 register.
Definition: cpu.h:273
uint32_t i5
This is the offset of the i5 register.
Definition: cpu.h:287
double f2_f3
This will contain the contents of the f2 and f3 register.
Definition: cpu.h:608
CPU_Counter_ticks _CPU_Counter_read(void)
Returns the current CPU counter value.
Definition: cpu.c:96
uint32_t i0
This is the offset of the l0 register.
Definition: cpu.h:277
uint32_t saved_arg5
This is the offset of the register for saved argument 5.
Definition: cpu.h:310
double f26_f27
This will contain the contents of the f26 and f27 register.
Definition: cpu.h:632
CPU_Counter_ticks _CPU_Counter_difference(CPU_Counter_ticks second, CPU_Counter_ticks first)
Returns the difference between the second and first CPU counter value.
Definition: cpu.h:1160
uint32_t l5
This will contain the contents of the l5 registeer.
Definition: cpu.h:469
const CPU_Trap_table_entry _CPU_Trap_slot_template
This is the set of opcodes for the instructions loaded into a trap table entry.
uint32_t npc
This is the offset of the XXX on an ISF.
Definition: cpu.h:705
This defines the complete set of floating point registers that must be saved during any context switc...
Definition: cpu.h:294
uint32_t saved_arg2
This is the offset of the register for saved argument 2.
Definition: cpu.h:304
uint32_t jmp_to_low_of_handler_plus_l4
This will contain a "jmp %l4 + %lo(_handler)" instruction.
Definition: cpu.h:813
double f12_f13
This will contain the contents of the f12 and f13 register.
Definition: cpu.h:618
void * structure_return_address
This is the offset of the register used to return structures.
Definition: cpu.h:293
double f18_f19
This will contain the contents of the f18 and f19 register.
Definition: cpu.h:624
uint32_t i4
This is the offset of the i4 register.
Definition: cpu.h:285
uint32_t l1
This is the offset of the l1 register.
Definition: cpu.h:263
uint32_t saved_arg1
This is the offset of the register for saved argument 1.
Definition: cpu.h:302
double f28_f29
This will contain the contents of the f28 and f29 register.
Definition: cpu.h:634
void _CPU_Fatal_halt(uint32_t source, uint32_t error)
This routine copies _error into a known place – typically a stack location or a register, optionally disables interrupts, and halts/stops the CPU.
Definition: nios2-fatal-halt.c:18
void _CPU_Context_save_fp(Context_Control_fp **fp_context_ptr)
This routine saves the floating point context passed to it.
Definition: cpu.c:167
uint32_t l4
This will contain the contents of the l4 register.
Definition: cpu.h:467
Information Required to Build RTEMS for a Particular Member of the SPARC Family.
double f30_f31
This will contain the contents of the f30 and f31 register.
Definition: cpu.h:636
#define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE
The following macro is a compiler specific way to indicate that the method will NOT return to the cal...
Definition: basedefs.h:162
void _CPU_Exception_frame_print(const CPU_Exception_frame *frame)
Prints the exception frame via printk().
Definition: arm-exception-frame-print.c:46
double f6_f7
This will contain the contents of the f6 and f7 register.
Definition: cpu.h:612
uint32_t g1
This is the offset of the g1 register on an ISF.
Definition: cpu.h:707
uint32_t i1
This is the offset of the i1 register on an ISF.
Definition: cpu.h:723
uint32_t l0
This is the offset of the l0 register.
Definition: cpu.h:261
uint32_t o6_sp
This will contain the contents of the o6 (e.g.
Definition: cpu.h:493
uint32_t psr
This is the offset of the PSR on an ISF.
Definition: cpu.h:701
uint32_t i3
This will contain the contents of the i3 register.
Definition: cpu.h:482
double f20_f21
This will contain the contents of the f20 and f21 register.
Definition: cpu.h:626
double f24_f25
This will contain the contents of the f24 and f25 register.
Definition: cpu.h:630
uint32_t pad0
This field pads the structure so ldd and std instructions can be used.
Definition: cpu.h:312
uint32_t g4
This is the offset of the g4 register on an ISF.
Definition: cpu.h:713
uint32_t g5
This is the offset of the g5 register on an ISF.
Definition: cpu.h:715
double f16_f17
This will contain the contents of the f16 and f17 register.
Definition: cpu.h:622
double f14_f15
This will contain the contents of the f14 and f15 register.
Definition: cpu.h:620
The set of registers that specifies the complete processor state.
Definition: cpu.h:671
#define SCORE_EXTERN
The following ensures that all data is declared in the space of the initialization routine for either...
Definition: basedefs.h:81
uint32_t i6_fp
This is the offset of the i6 register on an ISF.
Definition: cpu.h:733
uint32_t i4
This is the offset of the i4 register on an ISF.
Definition: cpu.h:729
void * proc_ptr
XXX: Eventually proc_ptr needs to disappear!!!
Definition: basedefs.h:329
uint32_t y
This is the offset of the y register on an ISF.
Definition: cpu.h:737
uint32_t i3
This is the offset of the i3 register on an ISF.
Definition: cpu.h:727
uint32_t l7
This will contain the contents of the l7 register.
Definition: cpu.h:473
uint32_t i2
This is the offset of the i2 register.
Definition: cpu.h:281
#define CPU_STRUCTURE_ALIGNMENT
The following is the variable attribute used to force alignment of critical data structures.
Definition: cpu.h:223
uint32_t o7
This will contain the contents of the o7 (e.g.
Definition: cpu.h:498
uint32_t i7
This will contain the contents of the i7 register.
Definition: cpu.h:490
uint32_t i1
This will contain the contents of the i1 register.
Definition: cpu.h:478
uint32_t i7
This is the offset of the i7 register.
Definition: cpu.h:291
uint32_t l4
This is the offset of the l4 register.
Definition: cpu.h:269
uint32_t i3
This is the offset of the i3 register.
Definition: cpu.h:283
uint32_t l5
This is the offset of the l5 register.
Definition: cpu.h:271