Thank you very much for this.
zhenhua
From My iPhone
> 在 2015年5月30日,00:22,Joerg Roedel 写道:
>
>> On Mon, May 11, 2015 at 05:52:44PM +0800, Li, Zhen-Hua wrote:
>> Li, Zhen-Hua (10):
>> iommu/vt-d: New function to attach domain with id
>> iommu/vt-d: Items req
causes the DMA to either:
> (1) generate DMAR errors or
> (2) generate PCI SERR errors or
> (3) transfer data to or from incorrect areas of memory. Often this
> causes the dump to fail.
>
> Changelog[v1]:
> The original version.
>
> C
Functions to copy the irte data from the old kernel into the kdump kernel.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 68 +
include/linux/intel-iommu.h | 4 +++
2 files changed, 72 insertions(+)
diff --git a/drivers/iommu
-hua:
The functions and logics.
Takao Indoh:
Check if pfn is ram:
if (page_is_ram(pfn))
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/iommu/intel-iommu.c | 102
include/linux/intel-iommu.h | 6 +++
2 files
sion.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 121
include/linux/intel-iommu.h | 3 ++
2 files changed, 124 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 3a5
ump kernel, its phys address will not be save to RTA register,
but when its data is changed, we will save the new data to old root entry table.
Li, Zhen-hua:
The functions and logics.
Takao Indoh:
Add __iommu_flush_cache.
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/io
interrupt
remapping.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 28
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/drivers/iommu/intel_irq_remapping.c
b/drivers/iommu/intel_irq_remapping.c
index c2a4406..46d80ad 100644
--- a
When a device driver issues the first dma_map command for a device, we
assign a new and empty page-table, thus removing all mappings from the
old kernel for the device.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 58 ++---
1 file changed
ned long" as physical address.
5. Use intel_unmap to unmap the old dma;
Baoquan He helps testing this patchset.
Takao Indoh gives valuable suggestions.
Li, Zhen-Hua (10):
iommu/vt-d: New function to attach domain with id
iommu/vt-d: Items required for kdump
iommu/vt-d: Function to get e
-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 72 +
1 file changed, 72 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index cb9d6cc..1e7ceb5 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu
-enable TE in kdump kernel.
Use the did and gaw from old context entry;
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 95 +++--
1 file changed, 83 insertions(+), 12 deletions(-)
diff --git a/drivers/iommu/intel
Interface for when a new domain in the old kernel needs some
values from the panicked kernel's context entries.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 23 +++
1 file changed, 23 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/
ch_domain();
The caller of this function.
Li, Zhenhua:
New function iommu_attach_domain_with_id(), instead of updating function
iommu_attach_domain();
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 13 -
1 file changed, 12 inser
The hardware will do some verification, but not completely. If people think
the OS should also do this, then it should be another patchset, I think.
Thanks
Zhenhua
> 在 2015年4月3日,17:21,Dave Young 写道:
>
>> On 04/03/15 at 05:01pm, Li, ZhenHua wrote:
>> Hi Dave,
>>
>> There may be some possibil
re-enable TE in kdump kernel.
Use the did and gaw from old context entry;
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 118 ++--
1 file changed, 103 insertions(+), 15 deletions(-)
diff --git a/drivers/iommu
ump kernel, its phys address will not be save to RTA register,
but when its data is changed, we will save the new data to old root entry table.
Li, Zhen-hua:
The functions and logics.
Takao Indoh:
Add __iommu_flush_cache.
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/io
to copy old context entry tables and page tables.
Use "unsigned long" for physical address.
Remove the functions to copy page table in Bill's version.
Remove usage of dve and ppap in Bill's version.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers
Interface for when a new domain in the crashdump kernel needs some
values from the panicked kernel's context entries.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 27 +++
1 file changed, 27 insertions(+)
diff --git a/drivers/iommu/intel-iomm
interrupt
remapping.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 43 +++--
1 file changed, 37 insertions(+), 6 deletions(-)
diff --git a/drivers/iommu/intel_irq_remapping.c
b/drivers/iommu/intel_irq_remapping.c
index 20c060b..4e5a02d 100644
When a device driver issues the first dma_map command for a device, we
assign a new and empty page-table, thus removing all mappings from the
old kernel for the device.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 54 ++---
1 file changed
-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 56 +
1 file changed, 56 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 76674a1..577d5de 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu
Functions to copy the irte data from the old kernel into the kdump kernel.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 62 +
include/linux/intel-iommu.h | 4 +++
2 files changed, 66 insertions(+)
diff --git a/drivers/iommu
ch_domain();
The caller of this function.
Li, Zhenhua:
New function iommu_attach_domain_with_id(), instead of updating funtion
iommu_attach_domain();
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 13 -
1 file changed, 12 inser
-hua:
The functions and logics.
Takao Indoh:
Check if pfn is ram:
if (page_is_ram(pfn))
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/iommu/intel-iommu.c | 102
include/linux/intel-iommu.h | 9
2 files
ion.
Changed in this version:
1. Do not disable and re-enable traslation and interrupt remapping.
2. Use old root entry table.
3. Use old interrupt remapping table.
4. Use "unsigned long" as physical address.
5. Use intel_unmap to unmap the old dma;
Baoquan He helps testing this pat
When a device driver issues the first dma_map command for a
device, we assign a new and empty page-table, thus removing all
mappings from the old kernel for the device.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 56 ++---
1 file changed
interrupt
remapping.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 42 -
1 file changed, 37 insertions(+), 5 deletions(-)
diff --git a/drivers/iommu/intel_irq_remapping.c
b/drivers/iommu/intel_irq_remapping.c
index d37fd62..58356cb 100644
Functions to copy the irte data from the old kernel into the kdump kernel.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 62 +
include/linux/intel-iommu.h | 4 +++
2 files changed, 66 insertions(+)
diff --git a/drivers/iommu
TE in kdump kernel.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 135 +++-
1 file changed, 120 insertions(+), 15 deletions(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 277b294
function to copy old context entry tables and page tables.
Use "unsigned long" for physical address.
Change incorrect aw_shift[4] and a few comments in copy_context_entry().
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iom
: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 70 +
1 file changed, 70 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 8d5c400..a71de3f 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel
-hua:
The functions and logics.
Takao Indoh:
Check if pfn is ram:
if (page_is_ram(pfn))
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/iommu/intel-iommu.c | 97 +
include/linux/intel-iommu.h | 9 +
2 files
ump kernel, its phys address will not be save to RTA register,
but when its data is changed, we will save the new data to old root entry table.
Li, Zhen-hua:
The functions and logics.
Takao Indoh:
Add __iommu_flush_cache.
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/io
om current behaviour -- just enables
a functional change to be made in a later patch.
Bill Sumner:
Original version.
Li, Zhenhua:
Minor change, add change to function __iommu_attach_domain.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iomm
nable kdump support in iommu module
iommu/vt-d: assign new page table for dma_map
iommu/vt-d: Copy functions for irte
iommu/vt-d: Use old irte in kdump kernel
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
Tested-by: Baoquan He
---
drivers/iommu/intel-io
Interfaces for when a new domain in the crashdump kernel needs some
values from the panicked kernel's context entries.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 62 +
1 file changed, 62 inser
to_virt(dma_pte_next),
+ VTD_PAGE_SIZE);
If this does not work, I have no ideas currently, need to dig the code more.
Regards
Zhenhua
-Original Message-
From: Takao Indoh [mailto:indou.ta...@jp.fujitsu.com]
Sent: Thursday, January 08, 2015 9:00 AM
To: Li, Zhen-Hua; b.
ump kernel, its phys address will not be save to RTA register,
but when its data is changed, we will save the new data to old root entry table.
Li, Zhen-hua:
The functions and logics.
Takao Indoh:
Add __iommu_flush_cache.
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/io
Functions to copy the irte data from the old kernel into the kdump kernel.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 62 +
include/linux/intel-iommu.h | 4 +++
2 files changed, 66 insertions(+)
diff --git a/drivers/iommu
TE in kdump kernel.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 135 +++-
1 file changed, 120 insertions(+), 15 deletions(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index d2c19a0
function to copy old context entry tables and page tables.
Use "unsigned long" for physical address.
Change incorrect aw_shift[4] and a few comments in copy_context_entry().
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iom
interrupt
remapping.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 42 -
1 file changed, 37 insertions(+), 5 deletions(-)
diff --git a/drivers/iommu/intel_irq_remapping.c
b/drivers/iommu/intel_irq_remapping.c
index d37fd62..58356cb 100644
-hua:
The functions and logics.
Takao Indoh:
Check if pfn is ram:
if (page_is_ram(pfn))
Signed-off-by: Li, Zhen-Hua
Signed-off-by: Takao Indoh
---
drivers/iommu/intel-iommu.c | 97 +
include/linux/intel-iommu.h | 9 +
2 files
: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 70 +
1 file changed, 70 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 2dc6250..5ce2850 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel
When a device driver issues the first dma_map command for a
device, we assign a new and empty page-table, thus removing all
mappings from the old kernel for the device.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 56 ++---
1 file changed
om current behaviour -- just enables
a functional change to be made in a later patch.
Bill Sumner:
Original version.
Li, Zhenhua:
Minor change, add change to function __iommu_attach_domain.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iomm
Interfaces for when a new domain in the crashdump kernel needs some
values from the panicked kernel's context entries.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 62 +
1 file changed, 62 inser
from old mem
iommu/vt-d: Add functions to load and save old re
iommu/vt-d: datatypes and functions used for kdump
iommu/vt-d: enable kdump support in iommu module
iommu/vt-d: assign new page table for dma_map
iommu/vt-d: Copy functions for irte
iommu/vt-d: Use old irte in kdump kernel
Signe
interrupt
remapping.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 42 -
1 file changed, 37 insertions(+), 5 deletions(-)
diff --git a/drivers/iommu/intel_irq_remapping.c
b/drivers/iommu/intel_irq_remapping.c
index 13f2034..e244186 100644
TE in kdump kernel.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 142 ++--
1 file changed, 125 insertions(+), 17 deletions(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index f9849cb
function to copy old context entry tables and page tables.
Use "unsigned long" for physical address.
Change incorrect aw_shift[4] and a few comments in copy_context_entry().
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iom
-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 97 +
include/linux/intel-iommu.h | 9 +
2 files changed, 106 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index c0bebd6..8a7ad72 100644
--- a/drivers
: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 70 +
1 file changed, 70 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 2dc6250..5ce2850 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel
om current behaviour -- just enables
a functional change to be made in a later patch.
Bill Sumner:
Original version.
Li, Zhenhua:
Minor change, add change to function __iommu_attach_domain.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iomm
When a device driver issues the first dma_map command for a
device, we assign a new and empty page-table, thus removing all
mappings from the old kernel for the device.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 56 ++---
1 file changed
ump kernel, its phys address will not be save to RTA register,
but when its data is changed, we will save the new data to old root entry table.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 49 +
include/linux/intel-iommu.h | 5 +
2 fi
Functions to copy the irte data from the old kernel into the kdump kernel.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 57 +
include/linux/intel-iommu.h | 4 +++
2 files changed, 61 insertions(+)
diff --git a/drivers/iommu
Interfaces for when a new domain in the crashdump kernel needs some
values from the panicked kernel's context entries.
Signed-off-by: Bill Sumner
---
drivers/iommu/intel-iommu.c | 62 +
1 file changed, 62 insertions(+)
diff --git a/drivers/iommu/intel
mmu/vt-d: data types and functions used for kdump
iommu/vt-d: Add domain-id functions
iommu/vt-d: enable kdump support in iommu module
Li, Zhen-Hua (10):
iommu/vt-d: Update iommu_attach_domain() and its callers
iommu/vt-d: Items required for kdump
iommu/vt-d: Add domain-id functions
interrupt
remapping.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 42 -
1 file changed, 37 insertions(+), 5 deletions(-)
diff --git a/drivers/iommu/intel_irq_remapping.c
b/drivers/iommu/intel_irq_remapping.c
index 090ba32..fee7d66 100644
Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 142 ++--
1 file changed, 125 insertions(+), 17 deletions(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 9b2f725..4837ce5 100644
--- a/drivers/iommu/intel
Functions to copy the irte data from the old kernel into the kdump kernel.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel_irq_remapping.c | 57 +
include/linux/intel-iommu.h | 4 +++
2 files changed, 61 insertions(+)
diff --git a/drivers/iommu
.
Use new function to copy old context entry tables and page tables.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 542
1 file changed, 542 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu
When a device driver issues the first dma_map command for a
device, we assign a new and empty page-table, thus removing all
mappings from the old kernel for the device.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 27 ---
1 file changed, 20 insertions
Interfaces for when a new domain in the crashdump kernel needs some
values from the panicked kernel's context entries.
Signed-off-by: Bill Sumner
---
drivers/iommu/intel-iommu.c | 62 +
1 file changed, 62 insertions(+)
diff --git a/drivers/iommu/intel
-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 97 +
include/linux/intel-iommu.h | 9 +
2 files changed, 106 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index c0bebd6..8a7ad72 100644
--- a/drivers
om current behaviour -- just enables
a functional change to be made in a later patch.
Bill Sumner:
Original version.
Li, Zhenhua:
Minor change, add change to function __iommu_attach_domain.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iomm
ump kernel, its phys address will not be save to RTA register,
but when its data is changed, we will save the new data to old root entry table.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 49 +
include/linux/intel-iommu.h | 5 +
2 fi
kdump support in iommu module
Li, Zhen-Hua (10):
iommu/vt-d: Update iommu_attach_domain() and its callers
iommu/vt-d: Items required for kdump
iommu/vt-d: Add domain-id functions
iommu/vt-d: functions to copy data from old mem
iommu/vt-d: Add functions to load and save old re
iommu/vt-d:
: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 70 +
1 file changed, 70 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 2dc6250..5ce2850 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel
After we call context_set_address_root(context, value), expected result is
context->lo == 0x123456789abce111;
But the actual result is:
context->lo == 0x1237577f9bbde111;
So we need to clear bits 12:63 before setting the new value, this will fix
this problem.
Signed-off-by: Li, Zhen-Hua
Hi Baoquan,
I tested it on 3.17, it does not have these faults. There are little
differences between this version and Bill's last version.
I will test it on 3.18.0-rc1+ on my system and let you know the result.
And could you send me the result of "lspci -vvv " on your system?
Thanks
Zhenhua
>
Interfaces for when a new domain in the crashdump kernel needs some
values from the panicked kernel's context entries.
Signed-off-by: Bill Sumner
---
drivers/iommu/intel-iommu.c | 46 +
1 file changed, 46 insertions(+)
diff --git a/drivers/iommu/intel
om current behaviour -- just enables
a functional change to be made in a later patch.
Bill Sumner:
Original version.
Li, Zhenhua:
Minor change, add change to function __iommu_attach_domain.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iomm
, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 69 +
1 file changed, 69 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 1c7350d..99fe408 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
Modify the operation of the following functions when called during crash dump:
device_to_domain_id
get_domain_for_dev
init_dmars
intel_iommu_init
Signed-off-by: Bill Sumner
---
drivers/iommu/intel-iommu.c | 134 +++-
1 file changed, 121 insertions(+),
context_put*,
use context_* and context_set_* for replacement.
Signed-off-by: Bill Sumner
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 562
1 file changed, 562 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu
The following series implements a fix for:
A kdump problem about DMA that has been discussed for a long time.
That is, when a kernel panics and boots into the kdump kernel, DMA that was
started by the panicked kernel is not stopped before the kdump kernel is booted;
and the kdump kernel disables th
.
-Original Message-
From: Li, Zhen-Hua
Sent: Tuesday, August 19, 2014 7:48 AM
To: Li, Zhen-Hua; Joerg Roedel
Cc: David Woodhouse; iommu@lists.linux-foundation.org;
linux-ker...@vger.kernel.org
Subject: RE: [PATCH 1/1] iommu/vt-d : clear old root entry for dump kernel
When the dump kernel boots
-
From: Li, Zhen-Hua
Sent: Tuesday, August 19, 2014 7:27 AM
To: 'Joerg Roedel'
Cc: David Woodhouse; iommu@lists.linux-foundation.org;
linux-ker...@vger.kernel.org
Subject: RE: [PATCH 1/1] iommu/vt-d : clear old root entry for dump kernel
: [fault reason 01] Present bit in root entry i
: [fault reason 01] Present bit in root entry is clear
It appears when iommu initializing in the kdump kernel.
-Original Message-
From: Joerg Roedel [mailto:j...@8bytes.org]
Sent: Tuesday, August 19, 2014 7:23 AM
To: Li, Zhen-Hua
Cc: David Woodhouse; iommu@lists.linux-foundation.org
There is a bug when Linux running on an HP large system:
when kdump kernel runs, the hardware is still using the old
root entry. This causes error message when iommu not finished initialization.
-Original Message-
From: Li, Zhen-Hua
Sent: Monday, August 18, 2014 4:59 PM
To
.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/dmar.c | 31 +++
1 file changed, 31 insertions(+)
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c
index 60ab474..7b4fa90 100644
--- a/drivers/iommu/dmar.c
+++ b/drivers/iommu/dmar.c
@@ -66,6 +66,8 @@ static int
event data register
IEADDR_REG 0xa8Invalidation event address register
IEUADDR_REG 0xacInvalidation event upper address register
Through they are not used in kernel in the latest version, the defination
should be added to kernel as well as other registers.
Signed-off-by: Li,
.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 37 +++--
1 file changed, 27 insertions(+), 10 deletions(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 43b9bfe..65cd480 100644
--- a/drivers/iommu/intel-iommu.c
+++ b
.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 37 +++--
1 file changed, 27 insertions(+), 10 deletions(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 43b9bfe..65cd480 100644
--- a/drivers/iommu/intel-iommu.c
+++ b
Joerg,
Thank you for reviewing this patch.
ZhenHua
On 09/24/2013 07:05 PM, Joerg Roedel wrote:
On Tue, Sep 17, 2013 at 04:38:29PM +0800, ZhenHua wrote:
Hi Guys,
Though DMAR_ICS_REG is not used yet, I think this patch is
necessary. So please take a look at it.
You are right, my Spec
According to Intel Vt-D specs, the offset of Invalidation complete
status register should be 0x9C, not 0x98.
See Intel's VT-d spec, Revision 1.3, Chapter 10.4, Page 98;
Signed-off-by: Li, Zhen-Hua
---
include/linux/intel-iommu.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
In Intel Vt-D specs, Chapter 9.3 Page-Table Entry,
The size of ADDR(address) field is 12:51, but the function dma_pte_addr
treats it as 12:63.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c |4 ++--
include/linux/dma_remapping.h |2 ++
2 files changed, 4 insertions(+), 2
There is a structure named context_entry used by intel iommu, and there
are some bit operations on it. Use bit structure may make these operations
easy.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c | 88 +++
1 file changed, 31 insertions
In Intel Vt-D specs, Chapter 9.3 Page-Table Entry,
The size of ADDR(address) field is 12:51, but the function dma_pte_addr
treats it as 12:63.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/intel-iommu.c |2 +-
include/linux/dma_remapping.h |2 ++
2 files changed, 3 insertions(+), 1
(RMRR) and Root Port
ATS Capability Reporting (ATSR) structures.
These structures are described below.
So, there should be at least one DRHD structure in DMA Remapping
reporting table. If there is no DRHD found, a warning is necessary.
Signed-off-by: Li, Zhen-Hua
---
drivers/iommu/dmar.c |4
92 matches
Mail list logo