There is no register in the FSL FIFO that the MicroBlaze processor can read to determine the status. To avoid blockage, the non-blocking version of the FSL get/put call can be used. Read the MSR[carry] bit to verify if the data was valid or not.
Valid and error status can be checked by these macros:
fsl_isinvalid(invalid)
fsl_iserror(error)
For more info about FSL macros, please refer to oslib_rm.pdf.
In addition, the FSL bus portsFSL_Full,FSL_Has_Data andFSL_Control_IRQ can be configured as interrupt source for interrupt controller so that MicroBlaze can be notified the status of FSL bus..