Merge request https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/95 was 
reviewed by Joel Sherrill

--
  
Joel Sherrill started a new discussion on 
bsps/x86_64/amd64/interrupts/isr_handler.S: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/95#note_108070

 > +  fxsave64 (rsp)
 > +  /* Reset to a clean state */
 > +  fninit

I am assuming the formatting looks better in the source code. Please make sure 
this looks reasonably formatted.

--
  
Joel Sherrill started a new discussion on 
bsps/x86_64/amd64/interrupts/isr_handler.S: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/95#note_108071

 >  
 > +  /* Save x87 FPU, MMX and SSE state */
 > +.set FXSAVE_SIZE, 512

This alone implies that the ISR Stack size for x86_64 must be at least 512 
bytes. Plus some more context saved and a little bit left for calling a driver, 
I would expect that anything less than 1K is very bad. Make sure there is a 
check for minimum ISR stack size. There likely is a check in confdefs about 
this.

--
  
Joel Sherrill started a new discussion on 
bsps/x86_64/amd64/interrupts/isr_handler.S: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/95#note_108072

 > +.set FXSAVE_SIZE, 512
 > +  /* Make space for FXSAVE */
 > +  subq $FXSAVE_SIZE, rsp

Is this guaranteed to be 16 byte aligned as required?

--
  
Joel Sherrill started a new discussion on 
bsps/x86_64/amd64/interrupts/isr_handler.S: 
https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/95#note_108073

 > +  subq $FXSAVE_SIZE, rsp
 > +  fwait
 > +  fxsave64 (rsp)

I am not finding the number of cycles this save and the later restore can take. 
Is this a constant number of cycles or variable like the mc68881/2 were? It 
would be good to know this for some common CPU cores and document it.




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


_______________________________________________
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to