gint/src/dma
Lephe 5ff1662e61
bfile: solve stability issues on fx9860g and fxcg50
This commit improves the stability of gint_switch() in two ways:

1. Wait for hardware availability every time driver contexts are saved
   or reloaded; this solves crashes due to DMA use when gint takes
   control after a BFile call, since BFile_Create() (and possibly
   BFile_Write()) leave the DMA running after returning.

2. Remap the add-in after a switch, as apparently calling BFile
   functions causes some pages to be evicted. This is more noticeable on
   fxcg50 when the size of add-ins nears 220k.

Additionally, dma_transfer_wait() has been updated to not sleep() unless
it is certain that the conditions for wakeup are fulfilled, as this
would sometimes freeze.
2020-05-31 15:52:00 +02:00
..
dma.c bfile: solve stability issues on fx9860g and fxcg50 2020-05-31 15:52:00 +02:00
inth.s interrupts: save caller-saved registers in main handler 2020-05-06 20:45:35 +02:00
memcpy.c dma: finalize dma_memset() and dma_memcpy() 2019-09-15 19:30:57 +02:00
memset.c dma: finalize dma_memset() and dma_memcpy() 2019-09-15 19:30:57 +02:00