mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-21 04:35:38 +08:00
or1k: Send halt signal to or1k simulators when rtems terminates
This commit is contained in:
committed by
Joel Sherrill
parent
aae6c21810
commit
1c8466165c
@@ -702,6 +702,7 @@ void _CPU_Context_Initialize(
|
||||
|
||||
#define _CPU_Fatal_halt(_source, _error ) \
|
||||
printk("Fatal Error %d.%d Halted\n",_source, _error); \
|
||||
_OR1KSIM_CPU_Halt(); \
|
||||
for(;;)
|
||||
|
||||
/* end of Fatal Error manager macros */
|
||||
|
||||
@@ -362,7 +362,6 @@ static inline void _OR1K_mtspr(uint32_t reg, uint32_t value)
|
||||
#define _OR1K_CPU_Sleep() \
|
||||
_OR1K_mtspr(CPU_OR1K_SPR_PMR, CPU_OR1K_SPR_PMR_SME)
|
||||
|
||||
|
||||
#define _OR1K_CPU_Suspend() \
|
||||
_OR1K_mtspr(CPU_OR1K_SPR_PMR, CPU_OR1K_SPR_PMR_SME)
|
||||
|
||||
@@ -376,6 +375,16 @@ static inline void _OR1K_Sync_pipeline( void )
|
||||
asm volatile("l.psync");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief or1ksim simulator can be sent a halt signal from RTEMS to tell
|
||||
* the running or1ksim process on the host machine to exit. The following
|
||||
* implementation has no effect on QEMU or hardware implementation and will
|
||||
* be treated as normal l.nop.
|
||||
*
|
||||
*/
|
||||
#define _OR1KSIM_CPU_Halt() \
|
||||
asm volatile ("l.nop 0xc")
|
||||
|
||||
#else /* ASM */
|
||||
|
||||
#endif /* ASM */
|
||||
|
||||
Reference in New Issue
Block a user