
On Tue, Jul 19, 2022 at 02:55:28PM +0000, Dmytro Firsov wrote:
This commit fixes issue with usage of Xen hypervisor shared info page. Previously U-boot did not unmap it at the end of OS boot process. Xen did not prevent guest from this. So, it worked, but caused wierd issues - one memory page, that was returned by memalign in U-boot for Enlighten mapping was not unmaped by Xen (shared_info values was not removed from there) and returned to allocator. During the Linux boot, it uses shared_info page as regular RAM page, which leads to hypervisor shared info corruption.
So, to fix this issue, as discussed on the xen-devel mailing list, the code should:
- Unmap the page
- Populate the area with memory using XENMEM_populate_physmap
This patch adds page unmapping via XENMEM_remove_from_physmap, fills hole in address space where page was mapped via XENMEM_populate_physmap and return this address to memory allocator for freeing.
Signed-off-by: Dmytro Firsov dmytro_firsov@epam.com Reviewed-by: Anastasiia Lukianenko vicooodin@gmail.com
Applied to u-boot/master, thanks!