[PATCH 2/8] Consolidate all .h lines at front of intel-iommu.c file

Baoquan He bhe at redhat.com
Sat Apr 19 07:05:27 PDT 2014


Hi Bill,

Could you rebase on latest linus's kernel tree, since there are several
changes in intel-iommu.c. This patch can't be applied because of below
commits. I think patch need be reabsed on latest linus's tree before
post, people will apply your patch without conflict.

commit b94e4117f8c4ffb591b1e462364d725e3a1c63c4
Author: Jiang Liu <jiang.liu at linux.intel.com>
Date:   Wed Feb 19 14:07:25 2014 +0800

    iommu/vt-d: Move private structures and variables into intel-iommu.c
    
    Move private structures and variables into intel-iommu.c, which will
    help to simplify locking policy for hotplug. Also delete redundant
    declarations.
    
    Signed-off-by: Jiang Liu <jiang.liu at linux.intel.com>
    Signed-off-by: Joerg Roedel <joro at 8bytes.org>


Thanks
Baoquan

On 04/15/14 at 05:09pm, Bill Sumner wrote:
>  In intel-iommu.c, move downward the few lines near the
>  front that should not move to an intel-iommu-private.h
>  file (mostly data-item definitions) This leaves a
>  consolidated block of the lines that would move to an
>  intel-iommu-private.h file at the front of the file.
> 
> 
> Signed-off-by: Bill Sumner <bill.sumner at hp.com>
> ---
>  drivers/iommu/intel-iommu.c | 74 +++++++++++++++++++++++----------------------
>  1 file changed, 38 insertions(+), 36 deletions(-)
> 
> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
> index 8abcb6c..22298e9 100644
> --- a/drivers/iommu/intel-iommu.c
> +++ b/drivers/iommu/intel-iommu.c
> @@ -165,17 +165,6 @@ static inline unsigned long virt_to_dma_pfn(void *p)
>  	return page_to_dma_pfn(virt_to_page(p));
>  }
>  
> -/* global iommu list, set NULL for ignored DMAR units */
> -static struct intel_iommu **g_iommus;
> -
> -static void __init check_tylersburg_isoch(void);
> -static int rwbf_quirk;
> -
> -/*
> - * set to 1 to panic kernel if can't successfully enable VT-d
> - * (used when kernel is launched w/ TXT)
> - */
> -static int force_on;
>  
>  /*
>   * 0: Present
> @@ -314,15 +303,6 @@ static inline int first_pte_in_page(struct dma_pte *pte)
>  	return !((unsigned long)pte & ~VTD_PAGE_MASK);
>  }
>  
> -/*
> - * This domain is a statically identity mapping domain.
> - *	1. This domain creats a static 1:1 mapping to all usable memory.
> - *	2. It maps to each iommu if successful.
> - *	3. Each iommu mapps to this domain if successful.
> - */
> -static struct dmar_domain *si_domain;
> -static int hw_pass_through = 1;
> -
>  /* devices under the same p2p bridge are owned in one domain */
>  #define DOMAIN_FLAG_P2P_MULTIPLE_DEVICES (1 << 0)
>  
> @@ -380,6 +360,44 @@ struct device_domain_info {
>  	struct dmar_domain *domain; /* pointer to domain */
>  };
>  
> +static inline void *alloc_pgtable_page(int node)
> +{
> +	struct page *page;
> +	void *vaddr = NULL;
> +
> +	page = alloc_pages_node(node, GFP_ATOMIC | __GFP_ZERO, 0);
> +	if (page)
> +		vaddr = page_address(page);
> +	return vaddr;
> +}
> +
> +static inline void free_pgtable_page(void *vaddr)
> +{
> +	free_page((unsigned long)vaddr);
> +}
> +
> +
> +static void __init check_tylersburg_isoch(void);
> +
> +/* global iommu list, set NULL for ignored DMAR units */
> +static struct intel_iommu **g_iommus;
> +static int rwbf_quirk;
> +
> +/*
> + * set to 1 to panic kernel if can't successfully enable VT-d
> + * (used when kernel is launched w/ TXT)
> + */
> +static int force_on;
> +
> +/*
> + * This domain is a statically identity mapping domain.
> + *	1. This domain creats a static 1:1 mapping to all usable memory.
> + *	2. It maps to each iommu if successful.
> + *	3. Each iommu mapps to this domain if successful.
> + */
> +static struct dmar_domain *si_domain;
> +static int hw_pass_through = 1;
> +
>  static void flush_unmaps_timeout(unsigned long data);
>  
>  static DEFINE_TIMER(unmap_timer,  flush_unmaps_timeout, 0, 0);
> @@ -468,22 +486,6 @@ static struct kmem_cache *iommu_domain_cache;
>  static struct kmem_cache *iommu_devinfo_cache;
>  static struct kmem_cache *iommu_iova_cache;
>  
> -static inline void *alloc_pgtable_page(int node)
> -{
> -	struct page *page;
> -	void *vaddr = NULL;
> -
> -	page = alloc_pages_node(node, GFP_ATOMIC | __GFP_ZERO, 0);
> -	if (page)
> -		vaddr = page_address(page);
> -	return vaddr;
> -}
> -
> -static inline void free_pgtable_page(void *vaddr)
> -{
> -	free_page((unsigned long)vaddr);
> -}
> -
>  static inline void *alloc_domain_mem(void)
>  {
>  	return kmem_cache_alloc(iommu_domain_cache, GFP_ATOMIC);
> -- 
> Bill Sumner <bill.sumner at hp.com>
> 



More information about the kexec mailing list