[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 46/65] x86/p2m: Annotate fnptr targets
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> CC: Wei Liu <wl@xxxxxxx> --- xen/arch/x86/mm/hap/hap.c | 2 +- xen/arch/x86/mm/hap/nested_hap.c | 2 +- xen/arch/x86/mm/p2m-ept.c | 32 +++++++++++++++----------------- xen/arch/x86/mm/p2m-pt.c | 19 +++++++++---------- xen/include/asm-x86/p2m.h | 4 ++-- 5 files changed, 28 insertions(+), 31 deletions(-) diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c index 9d67a47f5fe9..c19e337d6585 100644 --- a/xen/arch/x86/mm/hap/hap.c +++ b/xen/arch/x86/mm/hap/hap.c @@ -778,7 +778,7 @@ static void cf_check hap_update_paging_modes(struct vcpu *v) put_gfn(d, cr3_gfn); } -static void +static void cf_check hap_write_p2m_entry_post(struct p2m_domain *p2m, unsigned int oflags) { struct domain *d = p2m->domain; diff --git a/xen/arch/x86/mm/hap/nested_hap.c b/xen/arch/x86/mm/hap/nested_hap.c index 50fa2dd9f405..aa8495be4510 100644 --- a/xen/arch/x86/mm/hap/nested_hap.c +++ b/xen/arch/x86/mm/hap/nested_hap.c @@ -71,7 +71,7 @@ /* NESTED VIRT P2M FUNCTIONS */ /********************************************/ -void +void cf_check nestedp2m_write_p2m_entry_post(struct p2m_domain *p2m, unsigned int oflags) { if ( oflags & _PAGE_PRESENT ) diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c index ac36afcc1d64..d2c540b81fdf 100644 --- a/xen/arch/x86/mm/p2m-ept.c +++ b/xen/arch/x86/mm/p2m-ept.c @@ -625,7 +625,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn, * - zero if no adjustment was done, * - a positive value if at least one adjustment was done. */ -static int resolve_misconfig(struct p2m_domain *p2m, unsigned long gfn) +static int cf_check resolve_misconfig(struct p2m_domain *p2m, unsigned long gfn) { struct ept_data *ept = &p2m->ept; unsigned int level = ept->wl; @@ -794,7 +794,7 @@ bool_t ept_handle_misconfig(uint64_t gpa) * * Returns: 0 for success, -errno for failure */ -static int +static int cf_check ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn, unsigned int order, p2m_type_t p2mt, p2m_access_t p2ma, int sve) @@ -1003,10 +1003,9 @@ ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn, } /* Read ept p2m entries */ -static mfn_t ept_get_entry(struct p2m_domain *p2m, - gfn_t gfn_, p2m_type_t *t, p2m_access_t* a, - p2m_query_t q, unsigned int *page_order, - bool_t *sve) +static mfn_t cf_check ept_get_entry( + struct p2m_domain *p2m, gfn_t gfn_, p2m_type_t *t, p2m_access_t* a, + p2m_query_t q, unsigned int *page_order, bool_t *sve) { ept_entry_t *table = map_domain_page(pagetable_get_mfn(p2m_get_pagetable(p2m))); @@ -1166,8 +1165,8 @@ void ept_walk_table(struct domain *d, unsigned long gfn) return; } -static void ept_change_entry_type_global(struct p2m_domain *p2m, - p2m_type_t ot, p2m_type_t nt) +static void cf_check ept_change_entry_type_global( + struct p2m_domain *p2m, p2m_type_t ot, p2m_type_t nt) { unsigned long mfn = p2m->ept.mfn; @@ -1178,10 +1177,9 @@ static void ept_change_entry_type_global(struct p2m_domain *p2m, ept_sync_domain(p2m); } -static int ept_change_entry_type_range(struct p2m_domain *p2m, - p2m_type_t ot, p2m_type_t nt, - unsigned long first_gfn, - unsigned long last_gfn) +static int cf_check ept_change_entry_type_range( + struct p2m_domain *p2m, p2m_type_t ot, p2m_type_t nt, + unsigned long first_gfn, unsigned long last_gfn) { unsigned int i, wl = p2m->ept.wl; unsigned long mask = (1 << EPT_TABLE_ORDER) - 1; @@ -1225,7 +1223,7 @@ static int ept_change_entry_type_range(struct p2m_domain *p2m, return rc < 0 ? rc : 0; } -static void ept_memory_type_changed(struct p2m_domain *p2m) +static void cf_check ept_memory_type_changed(struct p2m_domain *p2m) { unsigned long mfn = p2m->ept.mfn; @@ -1284,7 +1282,7 @@ void ept_sync_domain(struct p2m_domain *p2m) ept_sync_domain_mask(p2m, d->dirty_cpumask); } -static void ept_tlb_flush(struct p2m_domain *p2m) +static void cf_check ept_tlb_flush(struct p2m_domain *p2m) { ept_sync_domain_mask(p2m, p2m->domain->dirty_cpumask); } @@ -1347,7 +1345,7 @@ static void ept_disable_pml(struct p2m_domain *p2m) vmx_domain_update_eptp(p2m->domain); } -static void ept_enable_hardware_log_dirty(struct p2m_domain *p2m) +static void cf_check ept_enable_hardware_log_dirty(struct p2m_domain *p2m) { struct p2m_domain *hostp2m = p2m_get_hostp2m(p2m->domain); @@ -1356,7 +1354,7 @@ static void ept_enable_hardware_log_dirty(struct p2m_domain *p2m) p2m_unlock(hostp2m); } -static void ept_disable_hardware_log_dirty(struct p2m_domain *p2m) +static void cf_check ept_disable_hardware_log_dirty(struct p2m_domain *p2m) { struct p2m_domain *hostp2m = p2m_get_hostp2m(p2m->domain); @@ -1365,7 +1363,7 @@ static void ept_disable_hardware_log_dirty(struct p2m_domain *p2m) p2m_unlock(hostp2m); } -static void ept_flush_pml_buffers(struct p2m_domain *p2m) +static void cf_check ept_flush_pml_buffers(struct p2m_domain *p2m) { /* Domain must have been paused */ ASSERT(atomic_read(&p2m->domain->pause_count)); diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c index 09c99d78aa40..0a8f64f7046d 100644 --- a/xen/arch/x86/mm/p2m-pt.c +++ b/xen/arch/x86/mm/p2m-pt.c @@ -399,7 +399,7 @@ static int p2m_pt_set_recalc_range(struct p2m_domain *p2m, * GFN. Propagate the re-calculation flag down to the next page table level * for entries not involved in the translation of the given GFN. */ -static int do_recalc(struct p2m_domain *p2m, unsigned long gfn) +static int cf_check do_recalc(struct p2m_domain *p2m, unsigned long gfn) { void *table; unsigned long gfn_remainder = gfn; @@ -573,7 +573,7 @@ static void check_entry(mfn_t mfn, p2m_type_t new, p2m_type_t old, } /* Returns: 0 for success, -errno for failure */ -static int +static int cf_check p2m_pt_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn, unsigned int page_order, p2m_type_t p2mt, p2m_access_t p2ma, int sve) @@ -774,7 +774,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn, return rc; } -static mfn_t +static mfn_t cf_check p2m_pt_get_entry(struct p2m_domain *p2m, gfn_t gfn_, p2m_type_t *t, p2m_access_t *a, p2m_query_t q, unsigned int *page_order, bool_t *sve) @@ -943,8 +943,8 @@ p2m_pt_get_entry(struct p2m_domain *p2m, gfn_t gfn_, return (p2m_is_valid(*t) || p2m_is_any_ram(*t)) ? mfn : INVALID_MFN; } -static void p2m_pt_change_entry_type_global(struct p2m_domain *p2m, - p2m_type_t ot, p2m_type_t nt) +static void cf_check p2m_pt_change_entry_type_global( + struct p2m_domain *p2m, p2m_type_t ot, p2m_type_t nt) { l1_pgentry_t *tab; unsigned long gfn = 0; @@ -983,10 +983,9 @@ static void p2m_pt_change_entry_type_global(struct p2m_domain *p2m, guest_flush_tlb_mask(d, d->dirty_cpumask); } -static int p2m_pt_change_entry_type_range(struct p2m_domain *p2m, - p2m_type_t ot, p2m_type_t nt, - unsigned long first_gfn, - unsigned long last_gfn) +static int cf_check p2m_pt_change_entry_type_range( + struct p2m_domain *p2m, p2m_type_t ot, p2m_type_t nt, + unsigned long first_gfn, unsigned long last_gfn) { unsigned long mask = (1 << PAGETABLE_ORDER) - 1; unsigned int i; @@ -1025,7 +1024,7 @@ static int p2m_pt_change_entry_type_range(struct p2m_domain *p2m, } #if P2M_AUDIT -static long p2m_pt_audit_p2m(struct p2m_domain *p2m) +static long cf_check p2m_pt_audit_p2m(struct p2m_domain *p2m) { unsigned long entry_count = 0, pmbad = 0; unsigned long mfn, gfn, m2pfn; diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h index 357a8087481e..eaaf0ea0bfec 100644 --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -820,8 +820,8 @@ void np2m_flush_base(struct vcpu *v, unsigned long np2m_base); void hap_p2m_init(struct p2m_domain *p2m); void shadow_p2m_init(struct p2m_domain *p2m); -void nestedp2m_write_p2m_entry_post(struct p2m_domain *p2m, - unsigned int oflags); +void cf_check nestedp2m_write_p2m_entry_post( + struct p2m_domain *p2m, unsigned int oflags); /* * Alternate p2m: shadow p2m tables used for alternate memory views -- 2.11.0
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |