diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2010-10-21 11:00:46 +0100 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2010-10-22 12:57:36 -0700 |
commit | 375b2a9ada6d105483aab22f1af1d727bc3c418d (patch) | |
tree | 121f008f81d8424bdae575b8c2cad06c0dfd1a1f /arch/x86/mm/pat_rbtree.c | |
parent | cb52e6d9ed9bb9cf74f8396a603ecf12b64c1ec1 (diff) | |
download | blackbird-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