summaryrefslogtreecommitdiffstats
path: root/arch/x86/mm/pat_rbtree.c
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-10-21 11:00:46 +0100
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-10-22 12:57:36 -0700
commit375b2a9ada6d105483aab22f1af1d727bc3c418d (patch)
tree121f008f81d8424bdae575b8c2cad06c0dfd1a1f /arch/x86/mm/pat_rbtree.c
parentcb52e6d9ed9bb9cf74f8396a603ecf12b64c1ec1 (diff)
downloadblackbird-obmc-linux-375b2a9ada6d105483aab22f1af1d727bc3c418d.tar.gz
blackbird-obmc-linux-375b2a9ada6d105483aab22f1af1d727bc3c418d.zip
xen: correctly rebuild mfn list list after migration.
Otherwise the second migration attempt fails because the mfn_list_list still refers to all the old mfns. We need to update the entires in both p2m_top_mfn and the mid_mfn pages which p2m_top_mfn refers to. In order to do this we need to keep track of the virtual addresses mapping the p2m_mid_mfn pages since we cannot rely on mfn_to_virt(p2m_top_mfn[idx]) since p2m_top_mfn[idx] will still contain the old MFN after a migration, which may now belong to another domain and hence have a different mapping in the m2p. Therefore add and maintain a third top level page, p2m_top_mfn_p[], which tracks the virtual addresses of the mfns contained in p2m_top_mfn[]. We also need to update the content of the p2m_mid_missing_mfn page on resume to refer to the page's new mfn. p2m_missing does not need updating since the migration process takes care of the leaf p2m pages for us. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/mm/pat_rbtree.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud