[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