From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH] x86: introduce clear_fixmap() Date: Wed, 4 Mar 2015 09:58:19 +0000 Message-ID: <54F6D73B.1000102@citrix.com> References: <54F6DA0E02000078000660E1@mail.emea.novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8106951634083572117==" Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1YT64Q-0000lb-0U for xen-devel@lists.xenproject.org; Wed, 04 Mar 2015 09:58:26 +0000 In-Reply-To: <54F6DA0E02000078000660E1@mail.emea.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich , xen-devel Cc: Keir Fraser List-Id: xen-devel@lists.xenproject.org --===============8106951634083572117== Content-Type: multipart/alternative; boundary="------------080606020401090201060206" --------------080606020401090201060206 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit On 04/03/15 09:10, Jan Beulich wrote: > ... making more obvious what its so far open coded users intend. > > Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper > > --- 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) > > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel --------------080606020401090201060206 Content-Type: text/html; charset="windows-1252" Content-Transfer-Encoding: 7bit
On 04/03/15 09:10, Jan Beulich wrote:
... making more obvious what its so far open coded users intend.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


--- 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)
 





_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

--------------080606020401090201060206-- --===============8106951634083572117== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --===============8106951634083572117==--