common/vcpu: Switch v->vcpu_info_mfn to mfn_t

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Andrew Cooper committed 2017-02-16 14:15:25 +00:00
1 parent e0f6e6f614
commit 3044a2a819
2 files changed
+7 -10

No files matched your search

+6 -9
View File
@@ -116,7 +116,7 @@ static void vcpu_info_reset(struct vcpu *v)
v->vcpu_info = ((v->vcpu_id < XEN_LEGACY_MAX_VCPUS)
? (vcpu_info_t *)&shared_info(d, vcpu_info[v->vcpu_id])
: &dummy_vcpu_info);
v->vcpu_info_mfn = mfn_x(INVALID_MFN);
v->vcpu_info_mfn = INVALID_MFN;
}
struct vcpu *alloc_vcpu(
@@ -1149,7 +1149,7 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
if ( offset > (PAGE_SIZE - sizeof(vcpu_info_t)) )
return -EINVAL;
if ( v->vcpu_info_mfn != mfn_x(INVALID_MFN) )
if ( !mfn_eq(v->vcpu_info_mfn, INVALID_MFN) )
return -EINVAL;
/* Run this command on yourself or on other offline VCPUS. */
@@ -1188,7 +1188,7 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
}
v->vcpu_info = new_info;
v->vcpu_info_mfn = page_to_mfn(page);
v->vcpu_info_mfn = _mfn(page_to_mfn(page));
/* Set new vcpu_info pointer /before/ setting pending flags. */
smp_wmb();
@@ -1207,22 +1207,19 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
/*
* Unmap the vcpu info page if the guest decided to place it somewhere
* else. This is used from arch_domain_destroy and domain_soft_reset.
* else. This is used from domain_kill() and domain_soft_reset().
*/
void unmap_vcpu_info(struct vcpu *v)
{
unsigned long mfn;
if ( v->vcpu_info_mfn == mfn_x(INVALID_MFN) )
if ( mfn_eq(v->vcpu_info_mfn, INVALID_MFN) )
return;
mfn = v->vcpu_info_mfn;
unmap_domain_page_global((void *)
((unsigned long)v->vcpu_info & PAGE_MASK));
vcpu_info_reset(v);
put_page_and_type(mfn_to_page(mfn));
put_page_and_type(mfn_to_page(mfn_x(v->vcpu_info_mfn)));
}
int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
+1 -1
View File
@@ -252,7 +252,7 @@ struct vcpu
struct waitqueue_vcpu *waitqueue_vcpu;
/* Guest-specified relocation of vcpu_info. */
unsigned long vcpu_info_mfn;
mfn_t vcpu_info_mfn;
struct evtchn_fifo_vcpu *evtchn_fifo;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.