Also, eMMC controllers (which are more widely used on mobile platforms as the only available storage controller) use DMA under the OS, which complicates things even further when attempting to share such a controller between the OS and the firmware.
Agree with this. May need other implementations like cache in memory during boot service and write back to partition by OS for this case.
Do you mean, firmware will treat boot media as read-only. And any write to device should be done by OS itself . few questions on this 1/ Interface between OS and firmware 2/ At run time, if there is any update in UEFI variables, how to trigger OS for update