|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86/shadow: Alter shadow_{pro, de}mote() to take a domain
commit 9ca6d3727d70991985f4554303d8fc7626ba060b
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Thu Aug 21 19:55:48 2014 +0100
Commit: Tim Deegan <tim@xxxxxxx>
CommitDate: Fri Feb 20 14:47:30 2015 +0000
x86/shadow: Alter shadow_{pro,de}mote() to take a domain
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Tim Deegan <tim@xxxxxxx>
---
xen/arch/x86/mm/shadow/common.c | 6 ++----
xen/arch/x86/mm/shadow/multi.c | 10 +++++-----
xen/arch/x86/mm/shadow/private.h | 4 ++--
3 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 6945dfe..c6b8e6f 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -990,9 +990,8 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn)
* involves making sure there are no writable mappings available to the guest
* for this page.
*/
-void shadow_promote(struct vcpu *v, mfn_t gmfn, unsigned int type)
+void shadow_promote(struct domain *d, mfn_t gmfn, unsigned int type)
{
- struct domain *d = v->domain;
struct page_info *page = mfn_to_page(gmfn);
ASSERT(mfn_valid(gmfn));
@@ -1017,9 +1016,8 @@ void shadow_promote(struct vcpu *v, mfn_t gmfn, unsigned
int type)
TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_PROMOTE);
}
-void shadow_demote(struct vcpu *v, mfn_t gmfn, u32 type)
+void shadow_demote(struct domain *d, mfn_t gmfn, u32 type)
{
- struct domain *d = v->domain;
struct page_info *page = mfn_to_page(gmfn);
ASSERT(test_bit(_PGC_page_table, &page->count_info));
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 82759a6..f2dea16 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -1563,7 +1563,7 @@ sh_make_shadow(struct vcpu *v, mfn_t gmfn, u32
shadow_type)
}
}
- shadow_promote(v, gmfn, shadow_type);
+ shadow_promote(d, gmfn, shadow_type);
set_shadow_status(d, gmfn, shadow_type, smfn);
return smfn;
@@ -1898,7 +1898,7 @@ void sh_destroy_l4_shadow(struct vcpu *v, mfn_t smfn)
/* Record that the guest page isn't shadowed any more (in this type) */
gmfn = backpointer(sp);
delete_shadow_status(d, gmfn, t, smfn);
- shadow_demote(v, gmfn, t);
+ shadow_demote(d, gmfn, t);
/* Decrement refcounts of all the old entries */
sl4mfn = smfn;
SHADOW_FOREACH_L4E(sl4mfn, sl4e, 0, 0, d, {
@@ -1930,7 +1930,7 @@ void sh_destroy_l3_shadow(struct vcpu *v, mfn_t smfn)
/* Record that the guest page isn't shadowed any more (in this type) */
gmfn = backpointer(sp);
delete_shadow_status(d, gmfn, t, smfn);
- shadow_demote(v, gmfn, t);
+ shadow_demote(d, gmfn, t);
/* Decrement refcounts of all the old entries */
sl3mfn = smfn;
@@ -1968,7 +1968,7 @@ void sh_destroy_l2_shadow(struct vcpu *v, mfn_t smfn)
/* Record that the guest page isn't shadowed any more (in this type) */
gmfn = backpointer(sp);
delete_shadow_status(d, gmfn, t, smfn);
- shadow_demote(v, gmfn, t);
+ shadow_demote(d, gmfn, t);
/* Decrement refcounts of all the old entries */
sl2mfn = smfn;
@@ -2005,7 +2005,7 @@ void sh_destroy_l1_shadow(struct vcpu *v, mfn_t smfn)
{
mfn_t gmfn = backpointer(sp);
delete_shadow_status(d, gmfn, t, smfn);
- shadow_demote(v, gmfn, t);
+ shadow_demote(d, gmfn, t);
}
if ( shadow_mode_refcounts(d) )
diff --git a/xen/arch/x86/mm/shadow/private.h b/xen/arch/x86/mm/shadow/private.h
index 7abb0e0..3820d9e 100644
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -350,8 +350,8 @@ void shadow_hash_delete(struct domain *d,
unsigned long n, unsigned int t, mfn_t smfn);
/* shadow promotion */
-void shadow_promote(struct vcpu *v, mfn_t gmfn, u32 type);
-void shadow_demote(struct vcpu *v, mfn_t gmfn, u32 type);
+void shadow_promote(struct domain *d, mfn_t gmfn, u32 type);
+void shadow_demote(struct domain *d, mfn_t gmfn, u32 type);
/* Shadow page allocation functions */
void shadow_prealloc(struct domain *d, u32 shadow_type, unsigned int count);
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |