x86: introduce clear_fixmap() ... making more obvious what its so far open coded users intend. Signed-off-by: Jan Beulich --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -310,7 +310,7 @@ void free_vcpu_guest_context(struct vcpu { if ( !per_cpu(vgc_pages[i], cpu) ) continue; - __set_fixmap(idx - i, 0, 0); + clear_fixmap(idx - i); free_domheap_page(per_cpu(vgc_pages[i], cpu)); per_cpu(vgc_pages[i], cpu) = NULL; } --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -2552,7 +2552,7 @@ void __init init_ioapic_mappings(void) if ( bad_ioapic_register(i) ) { - __set_fixmap(idx, 0, 0); + clear_fixmap(idx); continue; } --- a/xen/arch/x86/mpparse.c +++ b/xen/arch/x86/mpparse.c @@ -541,7 +541,7 @@ static inline void __init construct_defa static __init void efi_unmap_mpf(void) { if (efi_enabled) - __set_fixmap(FIX_EFI_MPF, 0, 0); + clear_fixmap(FIX_EFI_MPF); } static struct intel_mp_floating *__initdata mpf_found; --- a/xen/arch/x86/msi.c +++ b/xen/arch/x86/msi.c @@ -112,7 +112,7 @@ static void msix_put_fixmap(struct arch_ if ( --msix->table_refcnt[i] == 0 ) { - __set_fixmap(idx, 0, 0); + clear_fixmap(idx); msix_fixmap_free(idx); msix->table_idx[i] = 0; } --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -138,7 +138,7 @@ void __init tboot_probe(void) TXT_PUB_CONFIG_REGS_BASE + TXTCR_SINIT_BASE); tboot_copy_memory((unsigned char *)&sinit_size, sizeof(sinit_size), TXT_PUB_CONFIG_REGS_BASE + TXTCR_SINIT_SIZE); - __set_fixmap(FIX_TBOOT_MAP_ADDRESS, 0, 0); + clear_fixmap(FIX_TBOOT_MAP_ADDRESS); } /* definitions from xen/drivers/passthrough/vtd/iommu.h @@ -477,7 +477,7 @@ int __init tboot_parse_dmar_table(acpi_t dmar_table_raw = xmalloc_array(unsigned char, dmar_table_length); tboot_copy_memory(dmar_table_raw, dmar_table_length, pa); dmar_table = (struct acpi_table_header *)dmar_table_raw; - __set_fixmap(FIX_TBOOT_MAP_ADDRESS, 0, 0); + clear_fixmap(FIX_TBOOT_MAP_ADDRESS); rc = dmar_handler(dmar_table); xfree(dmar_table_raw); --- a/xen/include/asm-x86/fixmap.h +++ b/xen/include/asm-x86/fixmap.h @@ -78,6 +78,8 @@ extern void __set_fixmap( #define set_fixmap_nocache(idx, phys) \ __set_fixmap(idx, (phys)>>PAGE_SHIFT, PAGE_HYPERVISOR_NOCACHE) +#define clear_fixmap(idx) __set_fixmap(idx, 0, 0) + #define __fix_to_virt(x) (FIXADDR_TOP - ((x) << PAGE_SHIFT)) #define __virt_to_fix(x) ((FIXADDR_TOP - ((x)&PAGE_MASK)) >> PAGE_SHIFT)