Wayne Thornton commented on a discussion on 
cpukit/score/cpu/x86_64/include/rtems/score/cpu.h: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1193#note_150621

 >  
 >  typedef uintptr_t CPU_Uint32ptr;
 >  
 > +/**
 > + * @brief Pauses the CPU pipeline to prevent aggressive speculative 
 > execution
 > + * and reduce thermal load during spin-wait loops.
 > + */
 > +static inline void _CPU_Pause_speculation( void )
 > +{
 > +  __asm__ volatile( "pause" ::: "memory" );

We can change the name to `_CPU_Spin_wait()` without too much issue. The 
`pause` and `yield` assembly instructions are easy enough to add to each 
specific `cpu.h` file for whichever architecture DHRL is being ported. There 
is, however, a possibility that DHRL will not work on some architectures due to 
how those architectures handle memory and core assignment. For instance, 
`x86_64` is very straightforward, but some of the `Zynq` processors do not 
allow you to select a specific core. Kinsey and I discussed this a bit when I 
first started this implementation.

-- 
View it on GitLab: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1193#note_150621
You're receiving this email because of your account on gitlab.rtems.org.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to