All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Li, ZhenHua" <zhen-hual@hp.com>
To: Baoquan He <bhe@redhat.com>
Cc: dwmw2@infradead.org, indou.takao@jp.fujitsu.com, joro@8bytes.org,
	vgoyal@redhat.com, dyoung@redhat.com,
	iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org, kexec@lists.infradead.org,
	alex.williamson@redhat.com, ddutile@redhat.com,
	ishii.hironobu@jp.fujitsu.com, bhelgaas@google.com,
	doug.hatch@hp.com, jerry.hoemann@hp.com, tom.vaden@hp.com,
	li.zhang6@hp.com, lisa.mitchell@hp.com,
	billsumnerlinux@gmail.com, rwright@hp.com
Subject: Re: [PATCH v10 04/10] iommu/vt-d: functions to copy data from old mem
Date: Thu, 07 May 2015 16:33:22 +0800	[thread overview]
Message-ID: <554B2352.4080906@hp.com> (raw)
In-Reply-To: <20150507074916.GA16815@dhcp-16-116.nay.redhat.com>

It is called in
static int copy_root_entry_table(struct intel_iommu *iommu);


On 05/07/2015 03:49 PM, Baoquan He wrote:
> On 04/10/15 at 04:42pm, Li, Zhen-Hua wrote:
>> Add some functions to copy the data from old kernel.
>> These functions are used to copy context tables and page tables.
>>
>> To avoid calling iounmap between spin_lock_irqsave and spin_unlock_irqrestore,
>> use a link here, store the pointers , and then use iounmap to free them in
>> another place.
>>
>> Li, Zhen-hua:
>>      The functions and logics.
>>
>> Takao Indoh:
>>      Check if pfn is ram:
>>          if (page_is_ram(pfn))
>>
>> Signed-off-by: Li, Zhen-Hua <zhen-hual@hp.com>
>> Signed-off-by: Takao Indoh <indou.takao@jp.fujitsu.com>
>> ---
>>   drivers/iommu/intel-iommu.c | 102 ++++++++++++++++++++++++++++++++++++++++++++
>>   include/linux/intel-iommu.h |   6 +++
>>   2 files changed, 108 insertions(+)
>>
>> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
>> index ff5ac04..5ba403a 100644
>> --- a/drivers/iommu/intel-iommu.c
>> +++ b/drivers/iommu/intel-iommu.c
>> @@ -373,6 +373,17 @@ static struct context_entry *device_to_existing_context_entry(
>>   				struct intel_iommu *iommu,
>>   				u8 bus, u8 devfn);
>>
>> +/*
>> + * A structure used to store the address allocated by ioremap();
>> + * The we need to call iounmap() to free them out of spin_lock_irqsave/unlock;
>> + */
>> +struct iommu_remapped_entry {
>> +	struct list_head list;
>> +	void __iomem *mem;
>> +};
>> +static LIST_HEAD(__iommu_remapped_mem);
>> +static DEFINE_MUTEX(__iommu_mem_list_lock);
>> +
>>
>>   /*
>>    * This domain is a statically identity mapping domain.
>> @@ -4817,3 +4828,94 @@ static struct context_entry *device_to_existing_context_entry(
>>   	return ret;
>>   }
>>
>> +/*
>> + * Copy memory from a physically-addressed area into a virtually-addressed area
>> + */
>
> I don't find where __iommu_load_from_oldmem is called. Obsolete code of
> this patch?
>
>> +int __iommu_load_from_oldmem(void *to, unsigned long from, unsigned long size)
>> +{
>> +	unsigned long pfn;		/* Page Frame Number */
>> +	size_t csize = (size_t)size;	/* Num(bytes to copy) */
>> +	unsigned long offset;		/* Lower 12 bits of to */
>> +	void __iomem *virt_mem;
>> +	struct iommu_remapped_entry *mapped;
>> +
>> +	pfn = from >> VTD_PAGE_SHIFT;
>> +	offset = from & (~VTD_PAGE_MASK);
>> +
>> +	if (page_is_ram(pfn)) {
>> +		memcpy(to, pfn_to_kaddr(pfn) + offset, csize);
>> +	} else{
>> +
>> +		mapped = kzalloc(sizeof(struct iommu_remapped_entry),
>> +				GFP_KERNEL);
>> +		if (!mapped)
>> +			return -ENOMEM;
>> +
>> +		virt_mem = ioremap_cache((unsigned long)from, size);
>> +		if (!virt_mem) {
>> +			kfree(mapped);
>> +			return -ENOMEM;
>> +		}
>> +		memcpy(to, virt_mem, size);
>> +
>> +		mutex_lock(&__iommu_mem_list_lock);
>> +		mapped->mem = virt_mem;
>> +		list_add_tail(&mapped->list, &__iommu_remapped_mem);
>> +		mutex_unlock(&__iommu_mem_list_lock);
>> +	}
>> +	return size;
>> +}
>> +
>> +/*
>> + * Copy memory from a virtually-addressed area into a physically-addressed area
>> + */
>> +int __iommu_save_to_oldmem(unsigned long to, void *from, unsigned long size)
>> +{
>> +	unsigned long pfn;		/* Page Frame Number */
>> +	size_t csize = (size_t)size;	/* Num(bytes to copy) */
>> +	unsigned long offset;		/* Lower 12 bits of to */
>> +	void __iomem *virt_mem;
>> +	struct iommu_remapped_entry *mapped;
>> +
>> +	pfn = to >> VTD_PAGE_SHIFT;
>> +	offset = to & (~VTD_PAGE_MASK);
>> +
>> +	if (page_is_ram(pfn)) {
>> +		memcpy(pfn_to_kaddr(pfn) + offset, from, csize);
>> +	} else{
>> +		mapped = kzalloc(sizeof(struct iommu_remapped_entry),
>> +				GFP_KERNEL);
>> +		if (!mapped)
>> +			return -ENOMEM;
>> +
>> +		virt_mem = ioremap_cache((unsigned long)to, size);
>> +		if (!virt_mem) {
>> +			kfree(mapped);
>> +			return -ENOMEM;
>> +		}
>> +		memcpy(virt_mem, from, size);
>> +		mutex_lock(&__iommu_mem_list_lock);
>> +		mapped->mem = virt_mem;
>> +		list_add_tail(&mapped->list, &__iommu_remapped_mem);
>> +		mutex_unlock(&__iommu_mem_list_lock);
>> +	}
>> +	return size;
>> +}
>> +
>> +/*
>> + * Free the mapped memory for ioremap;
>> + */
>> +int __iommu_free_mapped_mem(void)
>> +{
>> +	struct iommu_remapped_entry *mem_entry, *tmp;
>> +
>> +	mutex_lock(&__iommu_mem_list_lock);
>> +	list_for_each_entry_safe(mem_entry, tmp, &__iommu_remapped_mem, list) {
>> +		iounmap(mem_entry->mem);
>> +		list_del(&mem_entry->list);
>> +		kfree(mem_entry);
>> +	}
>> +	mutex_unlock(&__iommu_mem_list_lock);
>> +	return 0;
>> +}
>> +
>> diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
>> index a65208a..4bca7b5 100644
>> --- a/include/linux/intel-iommu.h
>> +++ b/include/linux/intel-iommu.h
>> @@ -368,4 +368,10 @@ extern int dmar_ir_support(void);
>>
>>   extern const struct attribute_group *intel_iommu_groups[];
>>
>> +extern int __iommu_load_from_oldmem(void *to, unsigned long from,
>> +					unsigned long size);
>> +extern int __iommu_save_to_oldmem(unsigned long to, void *from,
>> +					unsigned long size);
>> +extern int __iommu_free_mapped_mem(void);
>> +
>>   #endif
>> --
>> 2.0.0-rc0
>>


WARNING: multiple messages have this Message-ID (diff)
From: "Li, ZhenHua" <zhen-hual-VXdhtT5mjnY@public.gmane.org>
To: Baoquan He <bhe-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: tom.vaden-VXdhtT5mjnY@public.gmane.org,
	rwright-VXdhtT5mjnY@public.gmane.org,
	dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org,
	kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	lisa.mitchell-VXdhtT5mjnY@public.gmane.org,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	doug.hatch-VXdhtT5mjnY@public.gmane.org,
	ishii.hironobu-+CUm20s59erQFUHtdCDX3A@public.gmane.org,
	linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org,
	billsumnerlinux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	li.zhang6-VXdhtT5mjnY@public.gmane.org,
	dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH v10 04/10] iommu/vt-d: functions to copy data from old mem
Date: Thu, 07 May 2015 16:33:22 +0800	[thread overview]
Message-ID: <554B2352.4080906@hp.com> (raw)
In-Reply-To: <20150507074916.GA16815-je1gSBvt1Tcx0jIIkfS+Ph/sF2h8X+2i0E9HWUfgJXw@public.gmane.org>

It is called in
static int copy_root_entry_table(struct intel_iommu *iommu);


On 05/07/2015 03:49 PM, Baoquan He wrote:
> On 04/10/15 at 04:42pm, Li, Zhen-Hua wrote:
>> Add some functions to copy the data from old kernel.
>> These functions are used to copy context tables and page tables.
>>
>> To avoid calling iounmap between spin_lock_irqsave and spin_unlock_irqrestore,
>> use a link here, store the pointers , and then use iounmap to free them in
>> another place.
>>
>> Li, Zhen-hua:
>>      The functions and logics.
>>
>> Takao Indoh:
>>      Check if pfn is ram:
>>          if (page_is_ram(pfn))
>>
>> Signed-off-by: Li, Zhen-Hua <zhen-hual-VXdhtT5mjnY@public.gmane.org>
>> Signed-off-by: Takao Indoh <indou.takao-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
>> ---
>>   drivers/iommu/intel-iommu.c | 102 ++++++++++++++++++++++++++++++++++++++++++++
>>   include/linux/intel-iommu.h |   6 +++
>>   2 files changed, 108 insertions(+)
>>
>> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
>> index ff5ac04..5ba403a 100644
>> --- a/drivers/iommu/intel-iommu.c
>> +++ b/drivers/iommu/intel-iommu.c
>> @@ -373,6 +373,17 @@ static struct context_entry *device_to_existing_context_entry(
>>   				struct intel_iommu *iommu,
>>   				u8 bus, u8 devfn);
>>
>> +/*
>> + * A structure used to store the address allocated by ioremap();
>> + * The we need to call iounmap() to free them out of spin_lock_irqsave/unlock;
>> + */
>> +struct iommu_remapped_entry {
>> +	struct list_head list;
>> +	void __iomem *mem;
>> +};
>> +static LIST_HEAD(__iommu_remapped_mem);
>> +static DEFINE_MUTEX(__iommu_mem_list_lock);
>> +
>>
>>   /*
>>    * This domain is a statically identity mapping domain.
>> @@ -4817,3 +4828,94 @@ static struct context_entry *device_to_existing_context_entry(
>>   	return ret;
>>   }
>>
>> +/*
>> + * Copy memory from a physically-addressed area into a virtually-addressed area
>> + */
>
> I don't find where __iommu_load_from_oldmem is called. Obsolete code of
> this patch?
>
>> +int __iommu_load_from_oldmem(void *to, unsigned long from, unsigned long size)
>> +{
>> +	unsigned long pfn;		/* Page Frame Number */
>> +	size_t csize = (size_t)size;	/* Num(bytes to copy) */
>> +	unsigned long offset;		/* Lower 12 bits of to */
>> +	void __iomem *virt_mem;
>> +	struct iommu_remapped_entry *mapped;
>> +
>> +	pfn = from >> VTD_PAGE_SHIFT;
>> +	offset = from & (~VTD_PAGE_MASK);
>> +
>> +	if (page_is_ram(pfn)) {
>> +		memcpy(to, pfn_to_kaddr(pfn) + offset, csize);
>> +	} else{
>> +
>> +		mapped = kzalloc(sizeof(struct iommu_remapped_entry),
>> +				GFP_KERNEL);
>> +		if (!mapped)
>> +			return -ENOMEM;
>> +
>> +		virt_mem = ioremap_cache((unsigned long)from, size);
>> +		if (!virt_mem) {
>> +			kfree(mapped);
>> +			return -ENOMEM;
>> +		}
>> +		memcpy(to, virt_mem, size);
>> +
>> +		mutex_lock(&__iommu_mem_list_lock);
>> +		mapped->mem = virt_mem;
>> +		list_add_tail(&mapped->list, &__iommu_remapped_mem);
>> +		mutex_unlock(&__iommu_mem_list_lock);
>> +	}
>> +	return size;
>> +}
>> +
>> +/*
>> + * Copy memory from a virtually-addressed area into a physically-addressed area
>> + */
>> +int __iommu_save_to_oldmem(unsigned long to, void *from, unsigned long size)
>> +{
>> +	unsigned long pfn;		/* Page Frame Number */
>> +	size_t csize = (size_t)size;	/* Num(bytes to copy) */
>> +	unsigned long offset;		/* Lower 12 bits of to */
>> +	void __iomem *virt_mem;
>> +	struct iommu_remapped_entry *mapped;
>> +
>> +	pfn = to >> VTD_PAGE_SHIFT;
>> +	offset = to & (~VTD_PAGE_MASK);
>> +
>> +	if (page_is_ram(pfn)) {
>> +		memcpy(pfn_to_kaddr(pfn) + offset, from, csize);
>> +	} else{
>> +		mapped = kzalloc(sizeof(struct iommu_remapped_entry),
>> +				GFP_KERNEL);
>> +		if (!mapped)
>> +			return -ENOMEM;
>> +
>> +		virt_mem = ioremap_cache((unsigned long)to, size);
>> +		if (!virt_mem) {
>> +			kfree(mapped);
>> +			return -ENOMEM;
>> +		}
>> +		memcpy(virt_mem, from, size);
>> +		mutex_lock(&__iommu_mem_list_lock);
>> +		mapped->mem = virt_mem;
>> +		list_add_tail(&mapped->list, &__iommu_remapped_mem);
>> +		mutex_unlock(&__iommu_mem_list_lock);
>> +	}
>> +	return size;
>> +}
>> +
>> +/*
>> + * Free the mapped memory for ioremap;
>> + */
>> +int __iommu_free_mapped_mem(void)
>> +{
>> +	struct iommu_remapped_entry *mem_entry, *tmp;
>> +
>> +	mutex_lock(&__iommu_mem_list_lock);
>> +	list_for_each_entry_safe(mem_entry, tmp, &__iommu_remapped_mem, list) {
>> +		iounmap(mem_entry->mem);
>> +		list_del(&mem_entry->list);
>> +		kfree(mem_entry);
>> +	}
>> +	mutex_unlock(&__iommu_mem_list_lock);
>> +	return 0;
>> +}
>> +
>> diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
>> index a65208a..4bca7b5 100644
>> --- a/include/linux/intel-iommu.h
>> +++ b/include/linux/intel-iommu.h
>> @@ -368,4 +368,10 @@ extern int dmar_ir_support(void);
>>
>>   extern const struct attribute_group *intel_iommu_groups[];
>>
>> +extern int __iommu_load_from_oldmem(void *to, unsigned long from,
>> +					unsigned long size);
>> +extern int __iommu_save_to_oldmem(unsigned long to, void *from,
>> +					unsigned long size);
>> +extern int __iommu_free_mapped_mem(void);
>> +
>>   #endif
>> --
>> 2.0.0-rc0
>>

WARNING: multiple messages have this Message-ID (diff)
From: "Li, ZhenHua" <zhen-hual@hp.com>
To: Baoquan He <bhe@redhat.com>
Cc: alex.williamson@redhat.com, indou.takao@jp.fujitsu.com,
	tom.vaden@hp.com, rwright@hp.com, dwmw2@infradead.org,
	joro@8bytes.org, kexec@lists.infradead.org,
	linux-kernel@vger.kernel.org, lisa.mitchell@hp.com,
	jerry.hoemann@hp.com, iommu@lists.linux-foundation.org,
	ddutile@redhat.com, doug.hatch@hp.com,
	ishii.hironobu@jp.fujitsu.com, linux-pci@vger.kernel.org,
	bhelgaas@google.com, billsumnerlinux@gmail.com, li.zhang6@hp.com,
	dyoung@redhat.com, vgoyal@redhat.com
Subject: Re: [PATCH v10 04/10] iommu/vt-d: functions to copy data from old mem
Date: Thu, 07 May 2015 16:33:22 +0800	[thread overview]
Message-ID: <554B2352.4080906@hp.com> (raw)
In-Reply-To: <20150507074916.GA16815@dhcp-16-116.nay.redhat.com>

It is called in
static int copy_root_entry_table(struct intel_iommu *iommu);


On 05/07/2015 03:49 PM, Baoquan He wrote:
> On 04/10/15 at 04:42pm, Li, Zhen-Hua wrote:
>> Add some functions to copy the data from old kernel.
>> These functions are used to copy context tables and page tables.
>>
>> To avoid calling iounmap between spin_lock_irqsave and spin_unlock_irqrestore,
>> use a link here, store the pointers , and then use iounmap to free them in
>> another place.
>>
>> Li, Zhen-hua:
>>      The functions and logics.
>>
>> Takao Indoh:
>>      Check if pfn is ram:
>>          if (page_is_ram(pfn))
>>
>> Signed-off-by: Li, Zhen-Hua <zhen-hual@hp.com>
>> Signed-off-by: Takao Indoh <indou.takao@jp.fujitsu.com>
>> ---
>>   drivers/iommu/intel-iommu.c | 102 ++++++++++++++++++++++++++++++++++++++++++++
>>   include/linux/intel-iommu.h |   6 +++
>>   2 files changed, 108 insertions(+)
>>
>> diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
>> index ff5ac04..5ba403a 100644
>> --- a/drivers/iommu/intel-iommu.c
>> +++ b/drivers/iommu/intel-iommu.c
>> @@ -373,6 +373,17 @@ static struct context_entry *device_to_existing_context_entry(
>>   				struct intel_iommu *iommu,
>>   				u8 bus, u8 devfn);
>>
>> +/*
>> + * A structure used to store the address allocated by ioremap();
>> + * The we need to call iounmap() to free them out of spin_lock_irqsave/unlock;
>> + */
>> +struct iommu_remapped_entry {
>> +	struct list_head list;
>> +	void __iomem *mem;
>> +};
>> +static LIST_HEAD(__iommu_remapped_mem);
>> +static DEFINE_MUTEX(__iommu_mem_list_lock);
>> +
>>
>>   /*
>>    * This domain is a statically identity mapping domain.
>> @@ -4817,3 +4828,94 @@ static struct context_entry *device_to_existing_context_entry(
>>   	return ret;
>>   }
>>
>> +/*
>> + * Copy memory from a physically-addressed area into a virtually-addressed area
>> + */
>
> I don't find where __iommu_load_from_oldmem is called. Obsolete code of
> this patch?
>
>> +int __iommu_load_from_oldmem(void *to, unsigned long from, unsigned long size)
>> +{
>> +	unsigned long pfn;		/* Page Frame Number */
>> +	size_t csize = (size_t)size;	/* Num(bytes to copy) */
>> +	unsigned long offset;		/* Lower 12 bits of to */
>> +	void __iomem *virt_mem;
>> +	struct iommu_remapped_entry *mapped;
>> +
>> +	pfn = from >> VTD_PAGE_SHIFT;
>> +	offset = from & (~VTD_PAGE_MASK);
>> +
>> +	if (page_is_ram(pfn)) {
>> +		memcpy(to, pfn_to_kaddr(pfn) + offset, csize);
>> +	} else{
>> +
>> +		mapped = kzalloc(sizeof(struct iommu_remapped_entry),
>> +				GFP_KERNEL);
>> +		if (!mapped)
>> +			return -ENOMEM;
>> +
>> +		virt_mem = ioremap_cache((unsigned long)from, size);
>> +		if (!virt_mem) {
>> +			kfree(mapped);
>> +			return -ENOMEM;
>> +		}
>> +		memcpy(to, virt_mem, size);
>> +
>> +		mutex_lock(&__iommu_mem_list_lock);
>> +		mapped->mem = virt_mem;
>> +		list_add_tail(&mapped->list, &__iommu_remapped_mem);
>> +		mutex_unlock(&__iommu_mem_list_lock);
>> +	}
>> +	return size;
>> +}
>> +
>> +/*
>> + * Copy memory from a virtually-addressed area into a physically-addressed area
>> + */
>> +int __iommu_save_to_oldmem(unsigned long to, void *from, unsigned long size)
>> +{
>> +	unsigned long pfn;		/* Page Frame Number */
>> +	size_t csize = (size_t)size;	/* Num(bytes to copy) */
>> +	unsigned long offset;		/* Lower 12 bits of to */
>> +	void __iomem *virt_mem;
>> +	struct iommu_remapped_entry *mapped;
>> +
>> +	pfn = to >> VTD_PAGE_SHIFT;
>> +	offset = to & (~VTD_PAGE_MASK);
>> +
>> +	if (page_is_ram(pfn)) {
>> +		memcpy(pfn_to_kaddr(pfn) + offset, from, csize);
>> +	} else{
>> +		mapped = kzalloc(sizeof(struct iommu_remapped_entry),
>> +				GFP_KERNEL);
>> +		if (!mapped)
>> +			return -ENOMEM;
>> +
>> +		virt_mem = ioremap_cache((unsigned long)to, size);
>> +		if (!virt_mem) {
>> +			kfree(mapped);
>> +			return -ENOMEM;
>> +		}
>> +		memcpy(virt_mem, from, size);
>> +		mutex_lock(&__iommu_mem_list_lock);
>> +		mapped->mem = virt_mem;
>> +		list_add_tail(&mapped->list, &__iommu_remapped_mem);
>> +		mutex_unlock(&__iommu_mem_list_lock);
>> +	}
>> +	return size;
>> +}
>> +
>> +/*
>> + * Free the mapped memory for ioremap;
>> + */
>> +int __iommu_free_mapped_mem(void)
>> +{
>> +	struct iommu_remapped_entry *mem_entry, *tmp;
>> +
>> +	mutex_lock(&__iommu_mem_list_lock);
>> +	list_for_each_entry_safe(mem_entry, tmp, &__iommu_remapped_mem, list) {
>> +		iounmap(mem_entry->mem);
>> +		list_del(&mem_entry->list);
>> +		kfree(mem_entry);
>> +	}
>> +	mutex_unlock(&__iommu_mem_list_lock);
>> +	return 0;
>> +}
>> +
>> diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h
>> index a65208a..4bca7b5 100644
>> --- a/include/linux/intel-iommu.h
>> +++ b/include/linux/intel-iommu.h
>> @@ -368,4 +368,10 @@ extern int dmar_ir_support(void);
>>
>>   extern const struct attribute_group *intel_iommu_groups[];
>>
>> +extern int __iommu_load_from_oldmem(void *to, unsigned long from,
>> +					unsigned long size);
>> +extern int __iommu_save_to_oldmem(unsigned long to, void *from,
>> +					unsigned long size);
>> +extern int __iommu_free_mapped_mem(void);
>> +
>>   #endif
>> --
>> 2.0.0-rc0
>>


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  reply	other threads:[~2015-05-07  8:34 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-10  8:42 [PATCH v10 0/10] iommu/vt-d: Fix intel vt-d faults in kdump kernel Li, Zhen-Hua
2015-04-10  8:42 ` Li, Zhen-Hua
2015-04-10  8:42 ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 01/10] iommu/vt-d: New function to attach domain with id Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 02/10] iommu/vt-d: Items required for kdump Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 03/10] iommu/vt-d: Function to get old context entry Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 04/10] iommu/vt-d: functions to copy data from old mem Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-05-07  7:49   ` Baoquan He
2015-05-07  7:49     ` Baoquan He
2015-05-07  8:33     ` Li, ZhenHua [this message]
2015-05-07  8:33       ` Li, ZhenHua
2015-05-07  8:33       ` Li, ZhenHua
2015-04-10  8:42 ` [PATCH v10 05/10] iommu/vt-d: Add functions to load and save old re Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 06/10] iommu/vt-d: datatypes and functions used for kdump Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 07/10] iommu/vt-d: enable kdump support in iommu module Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 08/10] iommu/vt-d: assign new page table for dma_map Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 09/10] iommu/vt-d: Copy functions for irte Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42 ` [PATCH v10 10/10] iommu/vt-d: Use old irte in kdump kernel Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-10  8:42   ` Li, Zhen-Hua
2015-04-15  0:57 ` [PATCH v10 0/10] iommu/vt-d: Fix intel vt-d faults " Dave Young
2015-04-15  5:47   ` Li, ZhenHua
2015-04-15  5:47     ` Li, ZhenHua
2015-04-15  5:47     ` Li, ZhenHua
2015-04-15  6:48     ` Dave Young
2015-04-15  6:48       ` Dave Young
2015-04-21  1:39       ` Li, ZhenHua
2015-04-21  1:39         ` Li, ZhenHua
2015-04-21  2:53         ` Dave Young
2015-04-21  2:53           ` Dave Young
2015-04-21  2:53           ` Dave Young
2015-04-24  8:01       ` Baoquan He
2015-04-24  8:01         ` Baoquan He
2015-04-24  8:25         ` Dave Young
2015-04-24  8:25           ` Dave Young
2015-04-24  8:35           ` Baoquan He
2015-04-24  8:35             ` Baoquan He
2015-04-24  8:49             ` Dave Young
2015-04-24  8:49               ` Dave Young
2015-04-28  8:54               ` Baoquan He
2015-04-28  8:54                 ` Baoquan He
2015-04-28  9:00                 ` Li, ZhenHua
2015-04-28  9:00                   ` Li, ZhenHua
2015-05-04 16:23               ` Joerg Roedel
2015-05-04 16:23                 ` Joerg Roedel
2015-05-05  6:14                 ` Dave Young
2015-05-05  6:14                   ` Dave Young
2015-05-05 15:31                   ` Joerg Roedel
2015-05-05 15:31                     ` Joerg Roedel
2015-05-06  1:51                     ` Dave Young
2015-05-06  1:51                       ` Dave Young
2015-05-06  1:51                       ` Dave Young
2015-05-06  2:37                       ` Li, ZhenHua
2015-05-06  2:37                         ` Li, ZhenHua
2015-05-06  2:37                         ` Li, ZhenHua
2015-05-06  8:25                       ` Joerg Roedel
2015-05-06  8:25                         ` Joerg Roedel
2015-04-23  8:35 ` Li, ZhenHua
2015-04-23  8:35   ` Li, ZhenHua
2015-04-23  8:35   ` Li, ZhenHua
2015-04-23  8:38   ` Li, ZhenHua
2015-04-23  8:38     ` Li, ZhenHua
2015-04-23  8:38     ` Li, ZhenHua
2015-04-29 11:20 ` Baoquan He
2015-04-29 11:20   ` Baoquan He
2015-04-29 11:20   ` Baoquan He
2015-05-03  8:55   ` Baoquan He
2015-05-03  8:55     ` Baoquan He
2015-05-03  8:55     ` Baoquan He
2015-05-04  3:06     ` Li, ZhenHua
2015-05-04  3:06       ` Li, ZhenHua
2015-05-04  3:06       ` Li, ZhenHua
2015-05-04  3:17       ` Baoquan He
2015-05-04  3:17         ` Baoquan He
2015-05-07 17:32         ` Joerg Roedel
2015-05-07 17:32           ` Joerg Roedel
2015-05-08  1:00           ` Li, ZhenHua
2015-05-08  1:00             ` Li, ZhenHua
2015-05-08  1:00             ` Li, ZhenHua
2015-06-11 15:40 ` David Woodhouse
2015-06-11 15:40   ` David Woodhouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=554B2352.4080906@hp.com \
    --to=zhen-hual@hp.com \
    --cc=alex.williamson@redhat.com \
    --cc=bhe@redhat.com \
    --cc=bhelgaas@google.com \
    --cc=billsumnerlinux@gmail.com \
    --cc=ddutile@redhat.com \
    --cc=doug.hatch@hp.com \
    --cc=dwmw2@infradead.org \
    --cc=dyoung@redhat.com \
    --cc=indou.takao@jp.fujitsu.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=ishii.hironobu@jp.fujitsu.com \
    --cc=jerry.hoemann@hp.com \
    --cc=joro@8bytes.org \
    --cc=kexec@lists.infradead.org \
    --cc=li.zhang6@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lisa.mitchell@hp.com \
    --cc=rwright@hp.com \
    --cc=tom.vaden@hp.com \
    --cc=vgoyal@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.