diff mbox

[0/10] iommu/vt-d: Fix intel vt-d faults in kdump kernel

Message ID 549CEE8F.2090209@jp.fujitsu.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Takao Indoh Dec. 26, 2014, 5:13 a.m. UTC
Hi Zhen-Hua,

I tested your patch and found two problems.

[1]
Kenel panic occurs during 2nd kernel boot.

..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
Kernel panic - not syncing: timer doesn't work through Interrupt-remapped IO-APIC
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.18.0 #25
Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012
 0000000000000002 ffff880036167d08 ffffffff815b1c6a 0000000000000000
 ffffffff817f7670 ffff880036167d88 ffffffff815b19f1 0000000000000008
 ffff880036167d98 ffff880036167d38 ffffffff810a5d2f ffff880036167d98
Call Trace:
 [<ffffffff815b1c6a>] dump_stack+0x48/0x5e
 [<ffffffff815b19f1>] panic+0xbb/0x1fa
 [<ffffffff810a5d2f>] ? vprintk_default+0x1f/0x30
 [<ffffffff814c6a6c>] panic_if_irq_remap+0x1c/0x20
 [<ffffffff81b53985>] check_timer+0x1e7/0x5ed
 [<ffffffff8129bd9d>] ? radix_tree_lookup+0xd/0x10
 [<ffffffff81b5413b>] setup_IO_APIC+0x261/0x292
 [<ffffffff81b50302>] native_smp_prepare_cpus+0x214/0x25d
 [<ffffffff81b41c65>] kernel_init_freeable+0x1dc/0x28c
 [<ffffffff815aaf00>] ? rest_init+0x80/0x80
 [<ffffffff815aaf0e>] kernel_init+0xe/0xf0
 [<ffffffff815b5d2c>] ret_from_fork+0x7c/0xb0
 [<ffffffff815aaf00>] ? rest_init+0x80/0x80
---[ end Kernel panic - not syncing: timer doesn't work through Interrupt-remapped IO-APIC


This panic seems to be related to unflushed cache. I confirmed this
problem was fixed by the following patch.


[2]
Some DMAR error messages are still found in 2nd kernel boot.

dmar: DRHD: handling fault status reg 2
dmar: DMAR:[DMA Write] Request device [01:00.0] fault addr ffded000
DMAR:[fault reason 01] Present bit in root entry is clear

I confiremd your commit 1a2262 was already applied. Any idea?

Thanks,
Takao Indoh


On 2014/12/22 18:15, Li, Zhen-Hua wrote:
> This patchset is an update of Bill Sumner's patchset, implements a fix for:
> If a kernel boots with intel_iommu=on on a system that supports intel vt-d,
> when a panic happens, the kdump kernel will boot with these faults:
> 
>      dmar: DRHD: handling fault status reg 102
>      dmar: DMAR:[DMA Read] Request device [01:00.0] fault addr fff80000
>      DMAR:[fault reason 01] Present bit in root entry is clear
> 
>      dmar: DRHD: handling fault status reg 2
>      dmar: INTR-REMAP: Request device [[61:00.0] fault index 42
>      INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear
> 
> On some system, the interrupt remapping fault will also happen even if the
> intel_iommu is not set to on, because the interrupt remapping will be enabled
> when x2apic is needed by the system.
> 
> The cause of the DMA fault is described in Bill's original version, and the
> INTR-Remap fault is caused by a similar reason. In short, the initialization
> of vt-d drivers causes the in-flight DMA and interrupt requests get wrong
> response.
> 
> To fix this problem, we modifies the behaviors of the intel vt-d in the
> crashdump kernel:
> 
> For DMA Remapping:
> 1. To accept the vt-d hardware in an active state,
> 2. Do not disable and re-enable the translation, keep it enabled.
> 3. Use the old root entry table, do not rewrite the RTA register.
> 4. Malloc and use new context entry table and page table, copy data from the
>     old ones that used by the old kernel.
> 5. to use different portions of the iova address ranges for the device drivers
>     in the crashdump kernel than the iova ranges that were in-use at the time
>     of the panic.
> 6. After device driver is loaded, when it issues the first dma_map command,
>     free the dmar_domain structure for this device, and generate a new one, so
>     that the device can be assigned a new and empty page table.
> 7. When a new context entry table is generated, we also save its address to
>     the old root entry table.
> 
> For Interrupt Remapping:
> 1. To accept the vt-d hardware in an active state,
> 2. Do not disable and re-enable the interrupt remapping, keep it enabled.
> 3. Use the old interrupt remapping table, do not rewrite the IRTA register.
> 4. When ioapic entry is setup, the interrupt remapping table is changed, and
>     the updated data will be stored to the old interrupt remapping table.
> 
> Advantages of this approach:
> 1. All manipulation of the IO-device is done by the Linux device-driver
>     for that device.
> 2. This approach behaves in a manner very similar to operation without an
>     active iommu.
> 3. Any activity between the IO-device and its RMRR areas is handled by the
>     device-driver in the same manner as during a non-kdump boot.
> 4. If an IO-device has no driver in the kdump kernel, it is simply left alone.
>     This supports the practice of creating a special kdump kernel without
>     drivers for any devices that are not required for taking a crashdump.
> 5. Minimal code-changes among the existing mainline intel vt-d code.
> 
> Summary of changes in this patch set:
> 1. Added some useful function for root entry table in code intel-iommu.c
> 2. Added new members to struct root_entry and struct irte;
> 3. Functions to load old root entry table to iommu->root_entry from the memory
>     of old kernel.
> 4. Functions to malloc new context entry table and page table and copy the data
>     from the old ones to the malloced new ones.
> 5. Functions to enable support for DMA remapping in kdump kernel.
> 6. Functions to load old irte data from the old kernel to the kdump kernel.
> 7. Some code changes that support other behaviours that have been listed.
> 8. In the new functions, use physical address as "unsigned long" type, not
>     pointers.
> 
> Original version by Bill Sumner:
>      https://lkml.org/lkml/2014/1/10/518
>      https://lkml.org/lkml/2014/4/15/716
>      https://lkml.org/lkml/2014/4/24/836
> 
> Zhenhua's last of Bill's patchset:
>      https://lkml.org/lkml/2014/10/21/134
>      https://lkml.org/lkml/2014/12/15/121
> 
> 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;
> 
> This patchset should be applied with this one together:
>      https://lkml.org/lkml/2014/11/5/43
>      x86/iommu: fix incorrect bit operations in setting values
> 
> Bill Sumner (5):
>    iommu/vt-d: Update iommu_attach_domain() and its callers
>    iommu/vt-d: Items required for kdump
>    iommu/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
>    iommu/vt-d: functions to copy data 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/vtd: assign new page table for dma_map
>    iommu/vt-d: Copy functions for irte
>    iommu/vt-d: Use old irte in kdump kernel
> 
>   drivers/iommu/intel-iommu.c         | 1050 +++++++++++++++++++++++++++++++++--
>   drivers/iommu/intel_irq_remapping.c |   99 +++-
>   include/linux/intel-iommu.h         |   18 +
>   3 files changed, 1123 insertions(+), 44 deletions(-)
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Li, Zhen-Hua Dec. 26, 2014, 6:46 a.m. UTC | #1
Hi Takao Indoh,

Thank you very much for your testing. I will add your update in next
version.
Also I think a flush for __iommu_update_old_root_entry is also necessary.

Currently I have no idea about your fault, does it happen before or
during its loading? Could you send me your full kernel log as an
attachment?

Regards and Merry Christmas.
Zhenhua

On 12/26/2014 01:13 PM, Takao Indoh wrote:
> Hi Zhen-Hua,
>
> I tested your patch and found two problems.
>
> [1]
> Kenel panic occurs during 2nd kernel boot.
>
> ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
> Kernel panic - not syncing: timer doesn't work through Interrupt-remapped IO-APIC
> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.18.0 #25
> Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012
>  0000000000000002 ffff880036167d08 ffffffff815b1c6a 0000000000000000
>  ffffffff817f7670 ffff880036167d88 ffffffff815b19f1 0000000000000008
>  ffff880036167d98 ffff880036167d38 ffffffff810a5d2f ffff880036167d98
> Call Trace:
>  [<ffffffff815b1c6a>] dump_stack+0x48/0x5e
>  [<ffffffff815b19f1>] panic+0xbb/0x1fa
>  [<ffffffff810a5d2f>] ? vprintk_default+0x1f/0x30
>  [<ffffffff814c6a6c>] panic_if_irq_remap+0x1c/0x20
>  [<ffffffff81b53985>] check_timer+0x1e7/0x5ed
>  [<ffffffff8129bd9d>] ? radix_tree_lookup+0xd/0x10
>  [<ffffffff81b5413b>] setup_IO_APIC+0x261/0x292
>  [<ffffffff81b50302>] native_smp_prepare_cpus+0x214/0x25d
>  [<ffffffff81b41c65>] kernel_init_freeable+0x1dc/0x28c
>  [<ffffffff815aaf00>] ? rest_init+0x80/0x80
>  [<ffffffff815aaf0e>] kernel_init+0xe/0xf0
>  [<ffffffff815b5d2c>] ret_from_fork+0x7c/0xb0
>  [<ffffffff815aaf00>] ? rest_init+0x80/0x80
> ---[ end Kernel panic - not syncing: timer doesn't work through Interrupt-remapped IO-APIC
>
>
> This panic seems to be related to unflushed cache. I confirmed this
> problem was fixed by the following patch.
>
> --- a/drivers/iommu/intel_irq_remapping.c
> +++ b/drivers/iommu/intel_irq_remapping.c
> @@ -200,8 +200,13 @@ static int modify_irte(int irq, struct irte *irte_modified)
>  	set_64bit(&irte->high, irte_modified->high);
>  
>  #ifdef CONFIG_CRASH_DUMP
> -	if (is_kdump_kernel())
> +	if (is_kdump_kernel()) {
>  		__iommu_update_old_irte(iommu, index);
> +		__iommu_flush_cache(iommu,
> +			iommu->ir_table->base_old_virt +
> +			index * sizeof(struct irte),
> +			sizeof(struct irte));
> +	}
>  #endif
>  	__iommu_flush_cache(iommu, irte, sizeof(*irte));
>  
>
> [2]
> Some DMAR error messages are still found in 2nd kernel boot.
>
> dmar: DRHD: handling fault status reg 2
> dmar: DMAR:[DMA Write] Request device [01:00.0] fault addr ffded000
> DMAR:[fault reason 01] Present bit in root entry is clear
>
> I confiremd your commit 1a2262 was already applied. Any idea?
>
> Thanks,
> Takao Indoh
>
>
> On 2014/12/22 18:15, Li, Zhen-Hua wrote:
>> This patchset is an update of Bill Sumner's patchset, implements a fix for:
>> If a kernel boots with intel_iommu=on on a system that supports intel vt-d,
>> when a panic happens, the kdump kernel will boot with these faults:
>>
>>      dmar: DRHD: handling fault status reg 102
>>      dmar: DMAR:[DMA Read] Request device [01:00.0] fault addr fff80000
>>      DMAR:[fault reason 01] Present bit in root entry is clear
>>
>>      dmar: DRHD: handling fault status reg 2
>>      dmar: INTR-REMAP: Request device [[61:00.0] fault index 42
>>      INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear
>>
>> On some system, the interrupt remapping fault will also happen even if the
>> intel_iommu is not set to on, because the interrupt remapping will be enabled
>> when x2apic is needed by the system.
>>
>> The cause of the DMA fault is described in Bill's original version, and the
>> INTR-Remap fault is caused by a similar reason. In short, the initialization
>> of vt-d drivers causes the in-flight DMA and interrupt requests get wrong
>> response.
>>
>> To fix this problem, we modifies the behaviors of the intel vt-d in the
>> crashdump kernel:
>>
>> For DMA Remapping:
>> 1. To accept the vt-d hardware in an active state,
>> 2. Do not disable and re-enable the translation, keep it enabled.
>> 3. Use the old root entry table, do not rewrite the RTA register.
>> 4. Malloc and use new context entry table and page table, copy data from the
>>     old ones that used by the old kernel.
>> 5. to use different portions of the iova address ranges for the device drivers
>>     in the crashdump kernel than the iova ranges that were in-use at the time
>>     of the panic.
>> 6. After device driver is loaded, when it issues the first dma_map command,
>>     free the dmar_domain structure for this device, and generate a new one, so
>>     that the device can be assigned a new and empty page table.
>> 7. When a new context entry table is generated, we also save its address to
>>     the old root entry table.
>>
>> For Interrupt Remapping:
>> 1. To accept the vt-d hardware in an active state,
>> 2. Do not disable and re-enable the interrupt remapping, keep it enabled.
>> 3. Use the old interrupt remapping table, do not rewrite the IRTA register.
>> 4. When ioapic entry is setup, the interrupt remapping table is changed, and
>>     the updated data will be stored to the old interrupt remapping table.
>>
>> Advantages of this approach:
>> 1. All manipulation of the IO-device is done by the Linux device-driver
>>     for that device.
>> 2. This approach behaves in a manner very similar to operation without an
>>     active iommu.
>> 3. Any activity between the IO-device and its RMRR areas is handled by the
>>     device-driver in the same manner as during a non-kdump boot.
>> 4. If an IO-device has no driver in the kdump kernel, it is simply left alone.
>>     This supports the practice of creating a special kdump kernel without
>>     drivers for any devices that are not required for taking a crashdump.
>> 5. Minimal code-changes among the existing mainline intel vt-d code.
>>
>> Summary of changes in this patch set:
>> 1. Added some useful function for root entry table in code intel-iommu.c
>> 2. Added new members to struct root_entry and struct irte;
>> 3. Functions to load old root entry table to iommu->root_entry from the memory
>>     of old kernel.
>> 4. Functions to malloc new context entry table and page table and copy the data
>>     from the old ones to the malloced new ones.
>> 5. Functions to enable support for DMA remapping in kdump kernel.
>> 6. Functions to load old irte data from the old kernel to the kdump kernel.
>> 7. Some code changes that support other behaviours that have been listed.
>> 8. In the new functions, use physical address as "unsigned long" type, not
>>     pointers.
>>
>> Original version by Bill Sumner:
>>      https://lkml.org/lkml/2014/1/10/518
>>      https://lkml.org/lkml/2014/4/15/716
>>      https://lkml.org/lkml/2014/4/24/836
>>
>> Zhenhua's last of Bill's patchset:
>>      https://lkml.org/lkml/2014/10/21/134
>>      https://lkml.org/lkml/2014/12/15/121
>>
>> 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;
>>
>> This patchset should be applied with this one together:
>>      https://lkml.org/lkml/2014/11/5/43
>>      x86/iommu: fix incorrect bit operations in setting values
>>
>> Bill Sumner (5):
>>    iommu/vt-d: Update iommu_attach_domain() and its callers
>>    iommu/vt-d: Items required for kdump
>>    iommu/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
>>    iommu/vt-d: functions to copy data 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/vtd: assign new page table for dma_map
>>    iommu/vt-d: Copy functions for irte
>>    iommu/vt-d: Use old irte in kdump kernel
>>
>>   drivers/iommu/intel-iommu.c         | 1050 +++++++++++++++++++++++++++++++++--
>>   drivers/iommu/intel_irq_remapping.c |   99 +++-
>>   include/linux/intel-iommu.h         |   18 +
>>   3 files changed, 1123 insertions(+), 44 deletions(-)
>>
>

--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Takao Indoh Dec. 26, 2014, 7:27 a.m. UTC | #2
On 2014/12/26 15:46, Li, ZhenHua wrote:
> Hi Takao Indoh,
> 
> Thank you very much for your testing. I will add your update in next
> version.
> Also I think a flush for __iommu_update_old_root_entry is also necessary.
> 
> Currently I have no idea about your fault, does it happen before or
> during its loading? Could you send me your full kernel log as an
> attachment?

Sure, see attached file.

I removed 9/10 and 10/10 patches from my kernel to avoid panic problem I
reported in previous mail, and then tested kdump. So please ignore
intr-remap fault message in log file. Also please ignore stack trace
starting with the following message, it's a problem of my box.

  Flags mismatch irq 0. 00000080 (i801_smbus) vs. 00015a00 (timer)

Thanks,
Takao Indoh

> 
> Regards and Merry Christmas.
> Zhenhua
> 
> On 12/26/2014 01:13 PM, Takao Indoh wrote:
>> Hi Zhen-Hua,
>>
>> I tested your patch and found two problems.
>>
>> [1]
>> Kenel panic occurs during 2nd kernel boot.
>>
>> ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
>> Kernel panic - not syncing: timer doesn't work through Interrupt-remapped IO-APIC
>> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.18.0 #25
>> Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012
>>   0000000000000002 ffff880036167d08 ffffffff815b1c6a 0000000000000000
>>   ffffffff817f7670 ffff880036167d88 ffffffff815b19f1 0000000000000008
>>   ffff880036167d98 ffff880036167d38 ffffffff810a5d2f ffff880036167d98
>> Call Trace:
>>   [<ffffffff815b1c6a>] dump_stack+0x48/0x5e
>>   [<ffffffff815b19f1>] panic+0xbb/0x1fa
>>   [<ffffffff810a5d2f>] ? vprintk_default+0x1f/0x30
>>   [<ffffffff814c6a6c>] panic_if_irq_remap+0x1c/0x20
>>   [<ffffffff81b53985>] check_timer+0x1e7/0x5ed
>>   [<ffffffff8129bd9d>] ? radix_tree_lookup+0xd/0x10
>>   [<ffffffff81b5413b>] setup_IO_APIC+0x261/0x292
>>   [<ffffffff81b50302>] native_smp_prepare_cpus+0x214/0x25d
>>   [<ffffffff81b41c65>] kernel_init_freeable+0x1dc/0x28c
>>   [<ffffffff815aaf00>] ? rest_init+0x80/0x80
>>   [<ffffffff815aaf0e>] kernel_init+0xe/0xf0
>>   [<ffffffff815b5d2c>] ret_from_fork+0x7c/0xb0
>>   [<ffffffff815aaf00>] ? rest_init+0x80/0x80
>> ---[ end Kernel panic - not syncing: timer doesn't work through Interrupt-remapped IO-APIC
>>
>>
>> This panic seems to be related to unflushed cache. I confirmed this
>> problem was fixed by the following patch.
>>
>> --- a/drivers/iommu/intel_irq_remapping.c
>> +++ b/drivers/iommu/intel_irq_remapping.c
>> @@ -200,8 +200,13 @@ static int modify_irte(int irq, struct irte *irte_modified)
>>   	set_64bit(&irte->high, irte_modified->high);
>>   
>>   #ifdef CONFIG_CRASH_DUMP
>> -	if (is_kdump_kernel())
>> +	if (is_kdump_kernel()) {
>>   		__iommu_update_old_irte(iommu, index);
>> +		__iommu_flush_cache(iommu,
>> +			iommu->ir_table->base_old_virt +
>> +			index * sizeof(struct irte),
>> +			sizeof(struct irte));
>> +	}
>>   #endif
>>   	__iommu_flush_cache(iommu, irte, sizeof(*irte));
>>   
>>
>> [2]
>> Some DMAR error messages are still found in 2nd kernel boot.
>>
>> dmar: DRHD: handling fault status reg 2
>> dmar: DMAR:[DMA Write] Request device [01:00.0] fault addr ffded000
>> DMAR:[fault reason 01] Present bit in root entry is clear
>>
>> I confiremd your commit 1a2262 was already applied. Any idea?
>>
>> Thanks,
>> Takao Indoh
>>
>>
>> On 2014/12/22 18:15, Li, Zhen-Hua wrote:
>>> This patchset is an update of Bill Sumner's patchset, implements a fix for:
>>> If a kernel boots with intel_iommu=on on a system that supports intel vt-d,
>>> when a panic happens, the kdump kernel will boot with these faults:
>>>
>>>       dmar: DRHD: handling fault status reg 102
>>>       dmar: DMAR:[DMA Read] Request device [01:00.0] fault addr fff80000
>>>       DMAR:[fault reason 01] Present bit in root entry is clear
>>>
>>>       dmar: DRHD: handling fault status reg 2
>>>       dmar: INTR-REMAP: Request device [[61:00.0] fault index 42
>>>       INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear
>>>
>>> On some system, the interrupt remapping fault will also happen even if the
>>> intel_iommu is not set to on, because the interrupt remapping will be enabled
>>> when x2apic is needed by the system.
>>>
>>> The cause of the DMA fault is described in Bill's original version, and the
>>> INTR-Remap fault is caused by a similar reason. In short, the initialization
>>> of vt-d drivers causes the in-flight DMA and interrupt requests get wrong
>>> response.
>>>
>>> To fix this problem, we modifies the behaviors of the intel vt-d in the
>>> crashdump kernel:
>>>
>>> For DMA Remapping:
>>> 1. To accept the vt-d hardware in an active state,
>>> 2. Do not disable and re-enable the translation, keep it enabled.
>>> 3. Use the old root entry table, do not rewrite the RTA register.
>>> 4. Malloc and use new context entry table and page table, copy data from the
>>>      old ones that used by the old kernel.
>>> 5. to use different portions of the iova address ranges for the device drivers
>>>      in the crashdump kernel than the iova ranges that were in-use at the time
>>>      of the panic.
>>> 6. After device driver is loaded, when it issues the first dma_map command,
>>>      free the dmar_domain structure for this device, and generate a new one, so
>>>      that the device can be assigned a new and empty page table.
>>> 7. When a new context entry table is generated, we also save its address to
>>>      the old root entry table.
>>>
>>> For Interrupt Remapping:
>>> 1. To accept the vt-d hardware in an active state,
>>> 2. Do not disable and re-enable the interrupt remapping, keep it enabled.
>>> 3. Use the old interrupt remapping table, do not rewrite the IRTA register.
>>> 4. When ioapic entry is setup, the interrupt remapping table is changed, and
>>>      the updated data will be stored to the old interrupt remapping table.
>>>
>>> Advantages of this approach:
>>> 1. All manipulation of the IO-device is done by the Linux device-driver
>>>      for that device.
>>> 2. This approach behaves in a manner very similar to operation without an
>>>      active iommu.
>>> 3. Any activity between the IO-device and its RMRR areas is handled by the
>>>      device-driver in the same manner as during a non-kdump boot.
>>> 4. If an IO-device has no driver in the kdump kernel, it is simply left alone.
>>>      This supports the practice of creating a special kdump kernel without
>>>      drivers for any devices that are not required for taking a crashdump.
>>> 5. Minimal code-changes among the existing mainline intel vt-d code.
>>>
>>> Summary of changes in this patch set:
>>> 1. Added some useful function for root entry table in code intel-iommu.c
>>> 2. Added new members to struct root_entry and struct irte;
>>> 3. Functions to load old root entry table to iommu->root_entry from the memory
>>>      of old kernel.
>>> 4. Functions to malloc new context entry table and page table and copy the data
>>>      from the old ones to the malloced new ones.
>>> 5. Functions to enable support for DMA remapping in kdump kernel.
>>> 6. Functions to load old irte data from the old kernel to the kdump kernel.
>>> 7. Some code changes that support other behaviours that have been listed.
>>> 8. In the new functions, use physical address as "unsigned long" type, not
>>>      pointers.
>>>
>>> Original version by Bill Sumner:
>>>       https://lkml.org/lkml/2014/1/10/518
>>>       https://lkml.org/lkml/2014/4/15/716
>>>       https://lkml.org/lkml/2014/4/24/836
>>>
>>> Zhenhua's last of Bill's patchset:
>>>       https://lkml.org/lkml/2014/10/21/134
>>>       https://lkml.org/lkml/2014/12/15/121
>>>
>>> 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;
>>>
>>> This patchset should be applied with this one together:
>>>       https://lkml.org/lkml/2014/11/5/43
>>>       x86/iommu: fix incorrect bit operations in setting values
>>>
>>> Bill Sumner (5):
>>>     iommu/vt-d: Update iommu_attach_domain() and its callers
>>>     iommu/vt-d: Items required for kdump
>>>     iommu/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
>>>     iommu/vt-d: functions to copy data 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/vtd: assign new page table for dma_map
>>>     iommu/vt-d: Copy functions for irte
>>>     iommu/vt-d: Use old irte in kdump kernel
>>>
>>>    drivers/iommu/intel-iommu.c         | 1050 +++++++++++++++++++++++++++++++++--
>>>    drivers/iommu/intel_irq_remapping.c |   99 +++-
>>>    include/linux/intel-iommu.h         |   18 +
>>>    3 files changed, 1123 insertions(+), 44 deletions(-)
>>>
>>
> 
> 
>
SysRq : Trigger a crash
BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [<ffffffff8135ef66>] sysrq_handle_crash+0x16/0x20
PGD 238ce6067 PUD 23b268067 PMD 0 
Oops: 0002 [#1] SMP 
Modules linked in: ebtable_nat ebtables xt_CHECKSUM iptable_mangle bridge autofs4 8021q garp stp llc cpufreq_ondemand ipt_REJECT nf_reject_ipv4 nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 vhost_net macvtap macvlan vhost tun kvm_intel kvm uinput iTCO_wdt iTCO_vendor_support microcode serio_raw pcspkr ipmi_si ipmi_msghandler tpm_infineon i2c_i801 lpc_ich mfd_core ioatdma i7core_edac edac_core sg igb dca i2c_algo_bit ptp pps_core acpi_cpufreq ext4 jbd2 mbcache mptsas mptscsih mptbase scsi_transport_sas lpfc scsi_transport_fc megaraid_sas dm_mirror dm_region_hash dm_log dm_mod
CPU: 5 PID: 8458 Comm: bash Not tainted 3.18.0 #32
Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012
task: ffff88023a934e90 ti: ffff880238dfc000 task.ti: ffff880238dfc000
RIP: 0010:[<ffffffff8135ef66>]  [<ffffffff8135ef66>] sysrq_handle_crash+0x16/0x20
RSP: 0018:ffff880238dffe88  EFLAGS: 00010296
RAX: 000000000000000f RBX: 0000000000000063 RCX: 0000000000000000
RDX: ffff88023fc2ea38 RSI: ffff88023fc2d238 RDI: 0000000000000063
RBP: ffff880238dffe88 R08: 000000000001b78c R09: 0000000000000511
R10: 0000000000000003 R11: 0000000000000510 R12: ffffffff81ac4c20
R13: 0000000000000008 R14: 0000000000000000 R15: 0000000000000001
FS:  00007f1c3fa4b700(0000) GS:ffff88023fc20000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000023b2a8000 CR4: 00000000000007e0
Stack:
 ffff880238dffeb8 ffffffff8135f8e1 0000000000000002 fffffffffffffffb
 00007f1c3fa5c000 ffff880238dfff50 ffff880238dffed8 ffffffff8135f97d
 ffff880238dffef8 ffff8800bf004040 ffff880238dffef8 ffffffff81201513
Call Trace:
 [<ffffffff8135f8e1>] __handle_sysrq+0x121/0x180
 [<ffffffff8135f97d>] write_sysrq_trigger+0x3d/0x40
 [<ffffffff81201513>] proc_reg_write+0x43/0x70
 [<ffffffff8119dd2e>] vfs_write+0xce/0x180
 [<ffffffff8119e496>] SyS_write+0x56/0xd0
 [<ffffffff810ecbfc>] ? __audit_syscall_entry+0xac/0x110
 [<ffffffff815b5d12>] system_call_fastpath+0x12/0x17
Code: d1 65 25 00 31 c0 eb ae 90 90 90 90 90 90 90 90 90 90 90 90 90 55 48 89 e5 66 66 66 66 90 c7 05 bd 11 a0 00 01 00 00 00 0f ae f8 <c6> 04 25 00 00 00 00 01 c9 c3 55 48 89 e5 66 66 66 66 90 8d 47 
RIP  [<ffffffff8135ef66>] sysrq_handle_crash+0x16/0x20
 RSP <ffff880238dffe88>
CR2: 0000000000000000
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Initializing cgroup subsys cpuacct
Linux version 3.18.0 (root@indowsXP) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #32 SMP Fri Dec 26 16:13:58 JST 2014
Command line: ro root=UUID=bfc88f62-f080-492f-a9f5-17f0c7c6215a rd_NO_LUKS console=ttyS0,115200n8 rd_NO_MD KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM intel_iommu=on irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off  memmap=exactmap memmap=627K@4K memmap=130425K@770675K elfcorehdr=901100K memmap=4K$0K memmap=9K$631K memmap=100K$924K memmap=8K$3137080K memmap=52K#3137088K memmap=204K#3137140K memmap=64K$3137344K memmap=8268K$3137460K memmap=262144K$3670016K memmap=4K$4175872K memmap=2048K$4192256K
e820: BIOS-provided physical RAM map:
BIOS-e820: [mem 0x0000000000000100-0x000000000009dbff] usable
BIOS-e820: [mem 0x000000000009dc00-0x000000000009ffff] reserved
BIOS-e820: [mem 0x00000000000e7000-0x00000000000fffff] reserved
BIOS-e820: [mem 0x0000000000100000-0x00000000bf77ffff] usable
BIOS-e820: [mem 0x00000000bf78e000-0x00000000bf78ffff] reserved
BIOS-e820: [mem 0x00000000bf790000-0x00000000bf79cfff] ACPI data
BIOS-e820: [mem 0x00000000bf79d000-0x00000000bf7cffff] ACPI NVS
BIOS-e820: [mem 0x00000000bf7d0000-0x00000000bf7dffff] reserved
BIOS-e820: [mem 0x00000000bf7ed000-0x00000000bfffffff] reserved
BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
BIOS-e820: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved
BIOS-e820: [mem 0x0000000100000000-0x000000023fffffff] usable
e820: last_pfn = 0x240000 max_arch_pfn = 0x400000000
NX (Execute Disable) protection: active
e820: user-defined physical RAM map:
user: [mem 0x0000000000000000-0x0000000000000fff] reserved
user: [mem 0x0000000000001000-0x000000000009dbff] usable
user: [mem 0x000000000009dc00-0x000000000009ffff] reserved
user: [mem 0x00000000000e7000-0x00000000000fffff] reserved
user: [mem 0x000000002f09cc00-0x0000000036ffafff] usable
user: [mem 0x00000000bf78e000-0x00000000bf78ffff] reserved
user: [mem 0x00000000bf790000-0x00000000bf7cffff] ACPI data
user: [mem 0x00000000bf7d0000-0x00000000bf7dffff] reserved
user: [mem 0x00000000bf7ed000-0x00000000bfffffff] reserved
user: [mem 0x00000000e0000000-0x00000000efffffff] reserved
user: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
user: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved
SMBIOS 2.5 present.
AGP: No AGP bridge found
e820: last_pfn = 0x36ffb max_arch_pfn = 0x400000000
PAT configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- UC  
total RAM covered: 8184M
Found optimal setting for mtrr clean up
 gran_size: 64K 	chunk_size: 16M 	num_reg: 5  	lose cover RAM: 0G
found SMP MP-table at [mem 0x000ff780-0x000ff78f] mapped at [ffff8800000ff780]
Using GB pages for direct mapping
init_memory_mapping: [mem 0x00000000-0x000fffff]
init_memory_mapping: [mem 0x36800000-0x369fffff]
init_memory_mapping: [mem 0x34000000-0x367fffff]
init_memory_mapping: [mem 0x2f09d000-0x33ffffff]
init_memory_mapping: [mem 0x36a00000-0x36ffafff]
RAMDISK: [mem 0x36ab6000-0x36feefff]
ACPI: Early table checksum verification disabled
ACPI: RSDP 0x00000000000FAA50 000024 (v02 ACPIAM)
ACPI: XSDT 0x00000000BF790100 000094 (v01 AAA             20120210 MSFT 00000097)
ACPI: FACP 0x00000000BF790290 0000F4 (v04 021012 FACP1717 20120210 MSFT 00000097)
ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Gpe0Block: 128/64 (20141107/tbfadt-618)
ACPI: DSDT 0x00000000BF7906F0 00712B (v02 TU1O   TU1O3D81 00003D81 INTL 20051117)
ACPI: FACS 0x00000000BF79D000 000040
ACPI: APIC 0x00000000BF790390 00011E (v02 021012 APIC1717 20120210 MSFT 00000097)
ACPI: SPCR 0x00000000BF7904B0 000050 (v01 021012 SPCR1717 20120210 MSFT 00000097)
ACPI: MCFG 0x00000000BF790500 00003C (v01 021012 OEMMCFG  20120210 MSFT 00000097)
ACPI: SLIT 0x00000000BF790540 000030 (v01 021012 OEMSLIT  20120210 MSFT 00000097)
ACPI: SLIC 0x00000000BF790570 000176 (v01 AAA             20120210 MSFT 00000097)
ACPI: SRAT 0x00000000BF79A6F0 0001D0 (v02 021012 OEMSRAT  00000001 INTL 00000001)
ACPI: HPET 0x00000000BF79A8C0 000038 (v01 021012 OEMHPET  20120210 MSFT 00000097)
ACPI: DMAR 0x00000000BF79D0E0 000140 (v01 AMI    OEMDMAR  00000001 MSFT 00000097)
ACPI: SSDT 0x00000000BF79F9A0 000363 (v01 DpgPmm CpuPm    00000012 INTL 20051117)
ACPI: EINJ 0x00000000BF79A900 000130 (v01 AMIER  AMI_EINJ 20120210 MSFT 00000097)
ACPI: BERT 0x00000000BF79AA90 000030 (v01 AMIER  AMI_BERT 20120210 MSFT 00000097)
ACPI: ERST 0x00000000BF79AAC0 0001B0 (v01 AMIER  AMI_ERST 20120210 MSFT 00000097)
ACPI: HEST 0x00000000BF79AC70 0000A8 (v01 AMIER  ABC_HEST 20120210 MSFT 00000097)
SRAT: PXM 0 -> APIC 0x00 -> Node 0
SRAT: PXM 0 -> APIC 0x02 -> Node 0
SRAT: PXM 0 -> APIC 0x12 -> Node 0
SRAT: PXM 0 -> APIC 0x14 -> Node 0
SRAT: PXM 0 -> APIC 0x01 -> Node 0
SRAT: PXM 0 -> APIC 0x03 -> Node 0
SRAT: PXM 0 -> APIC 0x13 -> Node 0
SRAT: PXM 0 -> APIC 0x15 -> Node 0
SRAT: PXM 1 -> APIC 0x20 -> Node 1
SRAT: PXM 1 -> APIC 0x22 -> Node 1
SRAT: PXM 1 -> APIC 0x32 -> Node 1
SRAT: PXM 1 -> APIC 0x34 -> Node 1
SRAT: PXM 1 -> APIC 0x21 -> Node 1
SRAT: PXM 1 -> APIC 0x23 -> Node 1
SRAT: PXM 1 -> APIC 0x33 -> Node 1
SRAT: PXM 1 -> APIC 0x35 -> Node 1
SRAT: Node 0 PXM 0 [mem 0x00000000-0x0009ffff]
SRAT: Node 0 PXM 0 [mem 0x00100000-0xbfffffff]
SRAT: Node 0 PXM 0 [mem 0x100000000-0x13fffffff]
SRAT: Node 1 PXM 1 [mem 0x140000000-0x23fffffff]
NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0x36ffafff] -> [mem 0x00000000-0x36ffafff]
NODE_DATA(0) allocated [mem 0x36a90000-0x36ab5fff]
Zone ranges:
  DMA      [mem 0x00001000-0x00ffffff]
  DMA32    [mem 0x01000000-0x36ffafff]
  Normal   empty
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x00001000-0x0009cfff]
  node   0: [mem 0x2f09d000-0x36ffafff]
Initmem setup node 0 [mem 0x00001000-0x36ffafff]
ACPI: PM-Timer IO Port: 0x808
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 almost reached. Keeping one slot for boot cpu.  Processor 0/0x0 ignored.
ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 almost reached. Keeping one slot for boot cpu.  Processor 1/0x2 ignored.
ACPI: LAPIC (acpi_id[0x03] lapic_id[0x12] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 almost reached. Keeping one slot for boot cpu.  Processor 2/0x12 ignored.
ACPI: LAPIC (acpi_id[0x04] lapic_id[0x14] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 almost reached. Keeping one slot for boot cpu.  Processor 3/0x14 ignored.
ACPI: LAPIC (acpi_id[0x05] lapic_id[0x20] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 almost reached. Keeping one slot for boot cpu.  Processor 4/0x20 ignored.
ACPI: LAPIC (acpi_id[0x06] lapic_id[0x22] enabled)
ACPI: LAPIC (acpi_id[0x07] lapic_id[0x32] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 6/0x32 ignored.
ACPI: LAPIC (acpi_id[0x08] lapic_id[0x34] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 7/0x34 ignored.
ACPI: LAPIC (acpi_id[0x09] lapic_id[0x01] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 8/0x1 ignored.
ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x03] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 9/0x3 ignored.
ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x13] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 10/0x13 ignored.
ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x15] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 11/0x15 ignored.
ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x21] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 12/0x21 ignored.
ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x23] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 13/0x23 ignored.
ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x33] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 14/0x33 ignored.
ACPI: LAPIC (acpi_id[0x10] lapic_id[0x35] enabled)
ACPI: NR_CPUS/possible_cpus limit of 1 reached.  Processor 15/0x35 ignored.
ACPI: LAPIC (acpi_id[0x11] lapic_id[0x90] disabled)
ACPI: LAPIC (acpi_id[0x12] lapic_id[0x91] disabled)
ACPI: LAPIC (acpi_id[0x13] lapic_id[0x92] disabled)
ACPI: LAPIC (acpi_id[0x14] lapic_id[0x93] disabled)
ACPI: LAPIC (acpi_id[0x15] lapic_id[0x94] disabled)
ACPI: LAPIC (acpi_id[0x16] lapic_id[0x95] disabled)
ACPI: LAPIC (acpi_id[0x17] lapic_id[0x96] disabled)
ACPI: LAPIC (acpi_id[0x18] lapic_id[0x97] disabled)
ACPI: LAPIC_NMI (acpi_id[0xff] high dfl lint[0x1])
ACPI: IOAPIC (id[0x06] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 6, version 32, address 0xfec00000, GSI 0-23
ACPI: IOAPIC (id[0x07] address[0xfec8a000] gsi_base[24])
IOAPIC[1]: apic_id 7, version 32, address 0xfec8a000, GSI 24-47
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8086a301 base: 0xfed00000
smpboot: 24 Processors exceeds NR_CPUS limit of 1
smpboot: Allowing 1 CPUs, 0 hotplug CPUs
PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
PM: Registered nosave memory: [mem 0x0009d000-0x0009dfff]
PM: Registered nosave memory: [mem 0x0009e000-0x0009ffff]
PM: Registered nosave memory: [mem 0x000a0000-0x000e6fff]
PM: Registered nosave memory: [mem 0x000e7000-0x000fffff]
PM: Registered nosave memory: [mem 0x00100000-0x2f09cfff]
e820: [mem 0x36ffb000-0xbf78dfff] available for PCI devices
setup_percpu: NR_CPUS:8192 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:2
PERCPU: Embedded 29 pages/cpu @ffff880036600000 s80640 r8192 d29952 u2097152
Built 1 zonelists in Node order, mobility grouping on.  Total pages: 32291
Policy zone: DMA32
Kernel command line: ro root=UUID=bfc88f62-f080-492f-a9f5-17f0c7c6215a rd_NO_LUKS console=ttyS0,115200n8 rd_NO_MD KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM intel_iommu=on irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off  memmap=exactmap memmap=627K@4K memmap=130425K@770675K elfcorehdr=901100K memmap=4K$0K memmap=9K$631K memmap=100K$924K memmap=8K$3137080K memmap=52K#3137088K memmap=204K#3137140K memmap=64K$3137344K memmap=8268K$3137460K memmap=262144K$3670016K memmap=4K$4175872K memmap=2048K$4192256K
Intel-IOMMU: enabled
Misrouted IRQ fixup and polling support enabled
This may significantly impact system performance
PID hash table entries: 512 (order: 0, 4096 bytes)
AGP: Checking aperture...
AGP: No AGP bridge found
Memory: 101572K/131048K available (5866K kernel code, 1198K rwdata, 2844K rodata, 1748K init, 2104K bss, 29476K reserved)
Hierarchical RCU implementation.
	RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:524544 nr_irqs:256 0
Spurious LAPIC timer interrupt on cpu 0
Console: colour dummy device 80x25
console [ttyS0] enabled
tsc: Fast TSC calibration using PIT
tsc: Detected 2133.444 MHz processor
Calibrating delay loop (skipped), value calculated using timer frequency.. 4266.88 BogoMIPS (lpj=2133444)
pid_max: default: 32768 minimum: 301
ACPI: Core revision 20141107
ACPI: All ACPI Tables successfully acquired
Security Framework initialized
SELinux:  Initializing.
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes)
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys net_cls
Initializing cgroup subsys blkio
Initializing cgroup subsys perf_event
CPU: Physical Processor ID: 1
CPU: Processor Core ID: 1
Last level iTLB entries: 4KB 512, 2MB 7, 4MB 7
Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32, 1GB 0
Freeing SMP alternatives memory: 20K (ffffffff81ce2000 - ffffffff81ce7000)
ftrace: allocating 23897 entries in 94 pages
dmar: Host address width 40
dmar: DRHD base: 0x000000fbffe000 flags: 0x1
dmar: IOMMU 0: reg_base_addr fbffe000 ver 1:0 cap c90780106f0462 ecap f0207e
dmar: RMRR base: 0x000000000e7000 end: 0x000000000e9fff
dmar: RMRR base: 0x000000bf7ed000 end: 0x000000bf7fffff
dmar: ATSR flags: 0x0
IOAPIC id 6 under DRHD base  0xfbffe000 IOMMU 0
IOAPIC id 7 under DRHD base  0xfbffe000 IOMMU 0
Enabled IRQ remapping in xapic mode
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
smpboot: CPU0: Intel(R) Xeon(R) CPU           L5630  @ 2.13GHz (fam: 06, model: 2c, stepping: 02)
Performance Events: PEBS fmt1+, 16-deep LBR, Westmere events, Broken BIOS detected, complain to your hardware vendor.
[Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is b0)
Intel PMU driver.
perf_event_intel: CPUID marked event: 'bus cycles' unavailable
... version:                3
... bit width:              48
... generic registers:      4
... value mask:             0000ffffffffffff
... max period:             000000007fffffff
... fixed-purpose events:   3
... event mask:             000000070000000f
x86: Booted up 1 node, 1 CPUs
smpboot: Total of 1 processors activated (4266.88 BogoMIPS)
NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
devtmpfs: initialized
NET: Registered protocol family 16
cpuidle: using governor ladder
cpuidle: using governor menu
ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
ACPI: bus type PCI registered
acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
PCI: Using configuration type 1 for base access
ACPI: Added _OSI(Module Device)
ACPI: Added _OSI(Processor Device)
ACPI: Added _OSI(3.0 _SCP Extensions)
ACPI: Added _OSI(Processor Aggregator Device)
ACPI: Executed 1 blocks of module-level executable AML code
dmar: DRHD: handling fault status reg 2
dmar: INTR-REMAP: Request device [[01:00.0] fault index 34
INTR-REMAP:[fault reason 34] Present field in the IRTE entry is clear
ACPI: Interpreter enabled
ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20141107/hwxface-580)
ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S3_] (20141107/hwxface-580)
ACPI: (supports S0 S1 S4 S5)
ACPI: Using IOAPIC for interrupt routing
HEST: Table parsing has been initialized.
PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
acpi PNP0A08:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
acpi PNP0A08:00: ignoring host bridge window [mem 0x000d0000-0x000dffff] (conflicts with Adapter ROM [mem 0x000ce800-0x000d4fff])
PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [bus 00-ff]
pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
pci_bus 0000:00: root bus resource [mem 0xc0000000-0xdfffffff]
pci_bus 0000:00: root bus resource [mem 0xf0000000-0xfed8ffff]
pci 0000:00:01.0: System wakeup disabled by ACPI
pci 0000:00:02.0: System wakeup disabled by ACPI
pci 0000:00:03.0: System wakeup disabled by ACPI
pci 0000:00:07.0: System wakeup disabled by ACPI
pci 0000:00:08.0: System wakeup disabled by ACPI
pci 0000:00:09.0: System wakeup disabled by ACPI
pci 0000:00:0a.0: System wakeup disabled by ACPI
pci 0000:00:1a.0: System wakeup disabled by ACPI
pci 0000:00:1a.1: System wakeup disabled by ACPI
pci 0000:00:1a.2: System wakeup disabled by ACPI
pci 0000:00:1a.7: System wakeup disabled by ACPI
pci 0000:00:1c.0: System wakeup disabled by ACPI
pci 0000:00:1d.0: System wakeup disabled by ACPI
pci 0000:00:1d.1: System wakeup disabled by ACPI
pci 0000:00:1d.2: System wakeup disabled by ACPI
pci 0000:00:1d.7: System wakeup disabled by ACPI
pci 0000:00:1e.0: System wakeup disabled by ACPI
pci 0000:01:00.0: System wakeup disabled by ACPI
pci 0000:01:00.1: System wakeup disabled by ACPI
pci 0000:00:01.0: PCI bridge to [bus 01]
pci 0000:02:00.0: System wakeup disabled by ACPI
pci 0000:02:00.1: System wakeup disabled by ACPI
pci 0000:00:02.0: PCI bridge to [bus 02]
pci 0000:00:03.0: PCI bridge to [bus 03]
pci 0000:00:07.0: PCI bridge to [bus 10]
pci 0000:00:08.0: PCI bridge to [bus 20]
pci 0000:00:09.0: PCI bridge to [bus 30]
pci 0000:00:0a.0: PCI bridge to [bus 40]
pci 0000:00:1c.0: PCI bridge to [bus 50]
pci 0000:00:1c.4: PCI bridge to [bus 60]
pci 0000:00:1e.0: PCI bridge to [bus 61] (subtractive decode)
ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 6 7 *10 11 12 14 15), disabled.
ACPI: PCI Interrupt Link [LNKB] (IRQs *5), disabled.
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 6 7 10 *11 12 14 15), disabled.
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 6 7 10 11 12 14 *15), disabled.
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 6 7 10 11 12 *14 15), disabled.
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 6 7 10 11 12 14 15) *0, disabled.
ACPI: PCI Interrupt Link [LNKH] (IRQs *3 4 6 7 10 11 12 14 15), disabled.
ACPI: Enabled 2 GPEs in block 00 to 3F
vgaarb: setting as boot device: PCI:0000:60:00.0
vgaarb: device added: PCI:0000:60:00.0,decodes=io+mem,owns=io+mem,locks=none
vgaarb: loaded
vgaarb: bridge control possible 0000:60:00.0
SCSI subsystem initialized
ACPI: bus type USB registered
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
PCI: Discovered peer bus fe
PCI host bridge to bus 0000:fe
pci_bus 0000:fe: root bus resource [io  0x0000-0xffff]
pci_bus 0000:fe: root bus resource [mem 0x00000000-0xffffffffff]
pci_bus 0000:fe: No busn resource found for root bus, will use [bus fe-ff]
PCI: Discovered peer bus ff
PCI host bridge to bus 0000:ff
pci_bus 0000:ff: root bus resource [io  0x0000-0xffff]
pci_bus 0000:ff: root bus resource [mem 0x00000000-0xffffffffff]
pci_bus 0000:ff: No busn resource found for root bus, will use [bus ff-ff]
NetLabel: Initializing
NetLabel:  domain hash size = 128
NetLabel:  protocols = UNLABELED CIPSOv4
NetLabel:  unlabeled traffic allowed by default
hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0
hpet0: 4 comparators, 64-bit 14.318180 MHz counter
Switched to clocksource hpet
pnp: PnP ACPI init
system 00:00: [mem 0xfbf00000-0xfbffffff] could not be reserved
system 00:00: [mem 0xfc000000-0xfcffffff] has been reserved
system 00:00: [mem 0xfd000000-0xfdffffff] has been reserved
system 00:00: [mem 0xfe000000-0xfebfffff] has been reserved
system 00:00: [mem 0xfec8a000-0xfec8afff] could not be reserved
system 00:00: [mem 0xfed10000-0xfed10fff] has been reserved
system 00:04: [io  0x0ca0-0x0ca1] has been reserved
system 00:04: [io  0x0ca4-0x0ca7] has been reserved
system 00:04: [io  0x0caa-0x0caf] has been reserved
system 00:04: [io  0x04d0-0x04d1] has been reserved
system 00:04: [io  0x0800-0x087f] has been reserved
system 00:04: [io  0x0500-0x057f] has been reserved
system 00:04: [mem 0xfed1c000-0xfed1ffff] has been reserved
system 00:04: [mem 0xfed20000-0xfed3ffff] has been reserved
system 00:04: [mem 0xfed40000-0xfed8ffff] has been reserved
system 00:05: [mem 0xfec00000-0xfec00fff] could not be reserved
system 00:05: [mem 0xfee00000-0xfee00fff] has been reserved
system 00:07: [mem 0xe0000000-0xefffffff] has been reserved
system 00:08: [mem 0x00000000-0x0009ffff] could not be reserved
system 00:08: [mem 0x000e0000-0x000fffff] could not be reserved
system 00:08: [mem 0x00100000-0xbfffffff] could not be reserved
system 00:08: [mem 0xfed90000-0xffffffff] could not be reserved
pnp: PnP ACPI: found 9 devices
pci 0000:00:01.0: PCI bridge to [bus 01]
pci 0000:00:01.0:   bridge window [io  0xa000-0xafff]
pci 0000:00:01.0:   bridge window [mem 0xfa800000-0xfa8fffff]
pci 0000:00:02.0: PCI bridge to [bus 02]
pci 0000:00:02.0:   bridge window [io  0xb000-0xbfff]
pci 0000:00:02.0:   bridge window [mem 0xfa900000-0xfa9fffff]
pci 0000:00:03.0: PCI bridge to [bus 03]
pci 0000:00:03.0:   bridge window [io  0xc000-0xcfff]
pci 0000:00:03.0:   bridge window [mem 0xfaa00000-0xfaafffff]
pci 0000:00:03.0:   bridge window [mem 0xc0000000-0xc01fffff 64bit pref]
pci 0000:00:07.0: PCI bridge to [bus 10]
pci 0000:00:08.0: PCI bridge to [bus 20]
pci 0000:00:09.0: PCI bridge to [bus 30]
pci 0000:00:09.0:   bridge window [io  0xd000-0xdfff]
pci 0000:00:09.0:   bridge window [mem 0xfab00000-0xfabfffff]
pci 0000:00:0a.0: PCI bridge to [bus 40]
pci 0000:00:1c.0: PCI bridge to [bus 50]
pci 0000:00:1c.0:   bridge window [io  0xe000-0xefff]
pci 0000:00:1c.0:   bridge window [mem 0xfac00000-0xfaffffff]
pci 0000:00:1c.0:   bridge window [mem 0xc0200000-0xc03fffff 64bit pref]
pci 0000:60:00.0: BAR 6: assigned [mem 0xfb800000-0xfb80ffff pref]
pci 0000:00:1c.4: PCI bridge to [bus 60]
pci 0000:00:1c.4:   bridge window [io  0x1000-0x1fff]
pci 0000:00:1c.4:   bridge window [mem 0xfb000000-0xfbefffff]
pci 0000:00:1c.4:   bridge window [mem 0xf9000000-0xf9ffffff 64bit pref]
pci 0000:00:1e.0: PCI bridge to [bus 61]
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP: reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
pci 0000:01:00.0: Disabling L0s
pci 0000:01:00.0: can't disable ASPM; OS doesn't have ASPM control
pci 0000:01:00.1: Disabling L0s
pci 0000:01:00.1: can't disable ASPM; OS doesn't have ASPM control
pci 0000:02:00.0: Disabling L0s
pci 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
pci 0000:02:00.1: Disabling L0s
pci 0000:02:00.1: can't disable ASPM; OS doesn't have ASPM control
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 5348K (ffff880036ab6000 - ffff880036fef000)
IOMMU Skip disabling iommu hardware translations
IOMMU Copying translate tables from panicked kernel
IOMMU: root_cache:0xffff880033ed5000 phys:0x0000b9d9e000
IOMMU:0 Domain ids from panicked kernel:
DID did:12(0x000c)
DID did:11(0x000b)
DID did:10(0x000a)
DID did:9(0x0009)
DID did:24(0x0018)
DID did:23(0x0017)
DID did:22(0x0016)
DID did:21(0x0015)
DID did:8(0x0008)
DID did:7(0x0007)
DID did:6(0x0006)
DID did:5(0x0005)
DID did:4(0x0004)
DID did:3(0x0003)
DID did:2(0x0002)
DID did:1(0x0001)
DID did:0(0x0000)
DID did:20(0x0014)
DID did:19(0x0013)
DID did:18(0x0012)
DID did:17(0x0011)
DID did:16(0x0010)
DID did:15(0x000f)
DID did:14(0x000e)
DID did:13(0x000d)
----------------------------------------
IOMMU: dmar0 using Queued invalidation
PCI-DMA: Intel(R) Virtualization Technology for Directed I/O
futex hash table entries: 256 (order: 2, 16384 bytes)
audit: initializing netlink subsys (disabled)
audit: type=2000 audit(1419578424.288:1): initialized
HugeTLB registered 2 MB page size, pre-allocated 0 pages
VFS: Disk quotas dquot_6.5.2
VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
bounce: pool size: 64 pages
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
ioapic: probe of 0000:00:13.0 failed with error -22
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
pciehp: PCI Express Hot Plug Controller Driver version: 0.4
input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
ACPI: Power Button [PWRB]
input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
ACPI: Power Button [PWRF]
APEI: Can not request [mem 0xbf7b3d3a-0xbf7b3d3b] for APEI ERST registers
[Firmware Warn]: GHES: Poll interval is 0 for generic hardware error source: 1, disabled.
GHES: APEI firmware first mode is enabled by WHEA _OSC.
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial 00:02: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
Non-volatile memory driver v1.3
Linux agpgart interface v0.103
brd: module loaded
loop: module loaded
libphy: Fixed MDIO Bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ehci-pci 0000:00:1a.7: EHCI Host Controller
ehci-pci 0000:00:1a.7: new USB bus registered, assigned bus number 1
ehci-pci 0000:00:1a.7: debug port 1
ehci-pci 0000:00:1a.7: irq 18, io mem 0xfa7de000
ehci-pci 0000:00:1a.7: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 3.18.0 ehci_hcd
usb usb1: SerialNumber: 0000:00:1a.7
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 6 ports detected
ehci-pci 0000:00:1d.7: EHCI Host Controller
ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 2
ehci-pci 0000:00:1d.7: debug port 1
ehci-pci 0000:00:1d.7: irq 23, io mem 0xfa7dc000
ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 3.18.0 ehci_hcd
usb usb2: SerialNumber: 0000:00:1d.7
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 6 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci-pci: OHCI PCI platform driver
uhci_hcd: USB Universal Host Controller Interface driver
uhci_hcd 0000:00:1a.0: UHCI Host Controller
uhci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1a.0: detected 2 ports
uhci_hcd 0000:00:1a.0: irq 16, io base 0x00009c00
dmar: DRHD: handling fault status reg 102
dmar: DMAR:[DMA Read] Request device [00:1a.0] fault addr fffff000 
DMAR:[fault reason 01] Present bit in root entry is clear
uhci_hcd 0000:00:1a.0: host system error, PCI problems?
uhci_hcd 0000:00:1a.0: host controller halted, very bad!
uhci_hcd 0000:00:1a.0: HC died; cleaning up
uhci_hcd 0000:00:1a.0: USB bus 3 deregistered
uhci_hcd 0000:00:1a.0: init 0000:00:1a.0 fail, -108
uhci_hcd: probe of 0000:00:1a.0 failed with error -108
uhci_hcd 0000:00:1a.1: UHCI Host Controller
uhci_hcd 0000:00:1a.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1a.1: detected 2 ports
uhci_hcd 0000:00:1a.1: irq 21, io base 0x00009880
dmar: DRHD: handling fault status reg 202
dmar: DMAR:[DMA Read] Request device [00:1a.1] fault addr fffff000 
DMAR:[fault reason 01] Present bit in root entry is clear
uhci_hcd 0000:00:1a.1: host system error, PCI problems?
uhci_hcd 0000:00:1a.1: host controller halted, very bad!
uhci_hcd 0000:00:1a.1: HC died; cleaning up
uhci_hcd 0000:00:1a.1: USB bus 3 deregistered
uhci_hcd 0000:00:1a.1: init 0000:00:1a.1 fail, -108
uhci_hcd: probe of 0000:00:1a.1 failed with error -108
uhci_hcd 0000:00:1a.2: UHCI Host Controller
uhci_hcd 0000:00:1a.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1a.2: detected 2 ports
uhci_hcd 0000:00:1a.2: irq 19, io base 0x00009800
dmar: DRHD: handling fault status reg 302
dmar: DMAR:[DMA Read] Request device [00:1a.2] fault addr fffff000 
DMAR:[fault reason 01] Present bit in root entry is clear
uhci_hcd 0000:00:1a.2: host system error, PCI problems?
uhci_hcd 0000:00:1a.2: host controller halted, very bad!
uhci_hcd 0000:00:1a.2: HC died; cleaning up
uhci_hcd 0000:00:1a.2: USB bus 3 deregistered
uhci_hcd 0000:00:1a.2: init 0000:00:1a.2 fail, -108
uhci_hcd: probe of 0000:00:1a.2 failed with error -108
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.0: detected 2 ports
uhci_hcd 0000:00:1d.0: irq 23, io base 0x00009480
dmar: DRHD: handling fault status reg 402
dmar: DMAR:[DMA Read] Request device [00:1d.0] fault addr fffff000 
DMAR:[fault reason 01] Present bit in root entry is clear
uhci_hcd 0000:00:1d.0: host system error, PCI problems?
uhci_hcd 0000:00:1d.0: host controller halted, very bad!
uhci_hcd 0000:00:1d.0: HC died; cleaning up
usb 1-2: new high-speed USB device number 2 using ehci-pci
uhci_hcd 0000:00:1d.0: USB bus 3 deregistered
dmar: DRHD: handling fault status reg 502
dmar: DMAR:[DMA Read] Request device [00:1a.7] fault addr fffff000 
DMAR:[fault reason 01] Present bit in root entry is clear
ehci-pci 0000:00:1a.7: fatal error
ehci-pci 0000:00:1a.7: HC died; cleaning up
uhci_hcd 0000:00:1d.0: init 0000:00:1d.0 fail, -108
uhci_hcd: probe of 0000:00:1d.0 failed with error -108
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.1: detected 2 ports
uhci_hcd 0000:00:1d.1: irq 19, io base 0x00009400
dmar: DRHD: handling fault status reg 602
dmar: DMAR:[DMA Read] Request device [00:1d.1] fault addr fffff000 
DMAR:[fault reason 01] Present bit in root entry is clear
uhci_hcd 0000:00:1d.1: host system error, PCI problems?
uhci_hcd 0000:00:1d.1: host controller halted, very bad!
uhci_hcd 0000:00:1d.1: HC died; cleaning up
uhci_hcd 0000:00:1d.1: USB bus 3 deregistered
uhci_hcd 0000:00:1d.1: init 0000:00:1d.1 fail, -108
uhci_hcd: probe of 0000:00:1d.1 failed with error -108
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.2: detected 2 ports
uhci_hcd 0000:00:1d.2: irq 18, io base 0x00009080
dmar: DRHD: handling fault status reg 702
dmar: DMAR:[DMA Read] Request device [00:1d.2] fault addr fffff000 
DMAR:[fault reason 01] Present bit in root entry is clear
uhci_hcd 0000:00:1d.2: host system error, PCI problems?
uhci_hcd 0000:00:1d.2: host controller halted, very bad!
uhci_hcd 0000:00:1d.2: HC died; cleaning up
uhci_hcd 0000:00:1d.2: USB bus 3 deregistered
uhci_hcd 0000:00:1d.2: init 0000:00:1d.2 fail, -108
uhci_hcd: probe of 0000:00:1d.2 failed with error -108
i8042: PNP: No PS/2 controller found. Probing ports directly.
dmar: DRHD: handling fault status reg 2
dmar: DMAR:[DMA Write] Request device [01:00.0] fault addr ffcd3000 
DMAR:[fault reason 01] Present bit in root entry is clear
i8042: Failed to disable AUX port, but continuing anyway... Is this a SiS?
i8042: If AUX port is really absent please use the 'i8042.noaux' option
dmar: DRHD: handling fault status reg 102
dmar: DMAR:[DMA Write] Request device [01:00.0] fault addr fffe4000 
DMAR:[fault reason 01] Present bit in root entry is clear
sched: RT throttling activated
serio: i8042 KBD port at 0x60,0x64 irq 1
mousedev: PS/2 mouse device common for all mice
rtc_cmos 00:01: RTC can wake from S4
rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0
rtc_cmos 00:01: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
drop_monitor: Initializing network drop monitor service
TCP: cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 17
mce: Unable to init device /dev/mcelog (rc: -5)
registered taskstats version 1
ima: No TPM chip found, activating TPM-bypass!
rtc_cmos 00:01: setting system clock to 2014-12-26 07:20:33 UTC (1419578433)
Freeing unused kernel memory: 1748K (ffffffff81b2d000 - ffffffff81ce2000)
Write protecting the kernel read-only data: 10240k
Freeing unused kernel memory: 264K (ffff8800305be000 - ffff880030600000)
Freeing unused kernel memory: 1252K (ffff8800308c7000 - ffff880030a00000)
Mounting proc filesystem
Mounting sysfs filesystem
Creating /dev
Creating initial device nodes
setfont: KDFONTOP: Inappropridevice-mapper: uevent: version 1.0.3
ate ioctl for dedevice-mapper: ioctl: 4.29.0-ioctl (2014-10-28) initialised: dm-devel@redhat.com
vice
Free memory/Total memory (free %): 77336 / 110204 ( 70.1753 )
Loading dm-mod.ko module
Lip_tables: (C) 2000-2006 Netfilter Core Team
oading dm-log.ko module
Loadingnf_conntrack version 0.5.0 (860 buckets, 3440 max)
 dm-region-hash.ip6_tables: (C) 2000-2006 Netfilter Core Team
ko module
Loading dm-mirror.ko module
Loading dm-zero.ko modulNET: Registered protocol family 10
e
Loading dm-bufio.ko module
Loading dm-snapshtun: Universal TUN/TAP device driver, 1.6
ot.ko module
Lotun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
ading cpufreq_ondemand.ko module
Loading nf_reject_ipv4.ko module
Loading nf_diTCO_vendor_support: vendor-support=0
efrag_ipv4.ko module
Loading ipinput: PC Speaker as /devices/platform/pcspkr/input/input3
_tables.ko module
Loading nf_coipmi message handler version 39.2
nntrack.ko module
Loading ip6_tgenirq: Flags mismatch irq 0. 00000080 (i801_smbus) vs. 00015a00 (timer)
CPU: 0 PID: 142 Comm: insmod Not tainted 3.18.0 #32
Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012
 ffff880033ee8bc0 ffff880033487a48 ffffffff815b1bda 0000000000015a00
 ffff88003603d600 ffff880033487aa8 ffffffff810a8d0c ffff880033487a98
 0000000000000246 ffff880033487aa8 ffff880033541000 ffff88003603d600
Call Trace:
 [<ffffffff815b1bda>] dump_stack+0x48/0x5e
 [<ffffffff810a8d0c>] __setup_irq+0x39c/0x4f0
 [<ffffffff810a9680>] request_threaded_irq+0x100/0x170
 [<ffffffffa0194c30>] ? dmi_check_onboard_devices+0x1a0/0x1a0 [i2c_i801]
 [<ffffffffa0194964>] i801_probe+0x4b4/0x5e0 [i2c_i801]
 [<ffffffff815b3e66>] ? mutex_lock+0x16/0x40
 [<ffffffff812d175c>] local_pci_probe+0x4c/0xb0
 [<ffffffff812d1849>] pci_call_probe+0x89/0xb0
 [<ffffffff812d169e>] ? pci_match_device+0xde/0x110
 [<ffffffff812d1b29>] pci_device_probe+0x79/0xa0
 [<ffffffff8139b0f2>] ? driver_sysfs_add+0x82/0xb0
 [<ffffffff8139b371>] really_probe+0x81/0x350
 [<ffffffff8139b687>] driver_probe_device+0x47/0xa0
 [<ffffffff8139b78b>] __driver_attach+0xab/0xb0
 [<ffffffff8139b6e0>] ? driver_probe_device+0xa0/0xa0
 [<ffffffff8139b6e0>] ? driver_probe_device+0xa0/0xa0
 [<ffffffff81399564>] bus_for_each_dev+0x94/0xb0
 [<ffffffff8139b01e>] driver_attach+0x1e/0x20
 [<ffffffff8139aa80>] bus_add_driver+0x1b0/0x250
 [<ffffffff8139be24>] driver_register+0x64/0xf0
 [<ffffffff812d1c1c>] __pci_register_driver+0x4c/0x50
 [<ffffffffa01990a5>] i2c_i801_init+0xa5/0x1000 [i2c_i801]
 [<ffffffffa0199000>] ? 0xffffffffa0199000
 [<ffffffff81000287>] do_one_initcall+0xb7/0x1d0
 [<ffffffff81175412>] ? __vunmap+0xc2/0x110
 [<ffffffff810cf790>] do_init_module+0x30/0x1a0
 [<ffffffff810d1f70>] load_module+0x500/0x630
 [<ffffffff810cf050>] ? __unlink_module+0x30/0x30
 [<ffffffff81175cb5>] ? __vmalloc_node+0x35/0x40
 [<ffffffff810ce650>] ? module_sect_show+0x30/0x30
 [<ffffffff810d2224>] SyS_init_module+0x94/0xc0
 [<ffffffff815b5d12>] system_call_fastpath+0x12/0x17
ables.ko module
i801_smbus 0000:00:1f.3: Failed to allocate irq 0: -16

Loading ipv6.koi801_smbus 0000:00:1f.3: SMBus using polling
 module
Loading macvlan.ko moduEDAC MC: Ver: 3.0.0
le
Loading vhost.ko module
Loadca service started, version 1.12.1
ding tun.ko module
Loading kvm.pps_core: LinuxPPS API ver. 1 registered
ko module
Loadipps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
ng uinput.ko module
Loading iTCO_vendor_support.ko module
LoadFusion MPT base driver 3.04.20
ing serio_raw.koCopyright (c) 1999-2008 LSI Corporation
 module
Loading pcspkr.ko module
Loading ipmi_msghandler.ko module
Loading tpmegasas: 06.805.06.01-rc1
m_infineon.ko momegasas: 0x1000:0x0079:0x1734:0x1176: dule
Loading i2bus 3:slot 0:func 0
c-i801.ko modulemegaraid_sas 0000:03:00.0: Can't allocate Firmware crash dump DMA buffer

Loading mfd-comegasas: Waiting for FW to come to ready state
re.ko module
Loading edac_core.ko module
Loading sg.ko module
Loading dca.ko module
Loading i2c-algo-bit.ko module
Loading pps_core.ko module
Loading acpi-cpufreq.ko modudmar: DRHD: handling fault status reg 202
dmar: DMAR:[DMA Write] Request device [03:00.0] fault addr ffdfe000 
DMAR:[fault reason 05] PTE Write access is not set
le
insmod: can'megasas: FW now in Ready state
t insert '/lib/mmegaraid_sas 0000:03:00.0: [scsi0]: FW supports<0> MSIX vector,Online CPUs: <1>,Current MSIX <1>
odules/3.18.0/acpi-cpufreq.ko': No such device
Loading jbd2.ko module
Loading mbcache.ko module
Loading mptbase.ko module
Loading scsi_transport_sas.ko module
Loading scsi_transport_fc.ko module
Loading megaraid_sas.ko module
megasas_init_mfi: fw_support_ieee=0
megasas: INIT adapter done
megaraid_sas 0000:03:00.0: Controller type: MR,Memory size is: 512MB
scsi host0: LSI SAS based MegaRAID driver
scsi 0:2:0:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
scsi 0:2:1:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
scsi 0:2:2:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
scsi 0:2:3:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
scsi 0:2:4:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
scsi 0:2:5:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
scsi 0:2:6:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
scsi 0:2:7:0: Direct-Access     LSI      RAID 5/6 SAS 6G  2.13 PQ: 0 ANSI: 5
sd 0:2:0:0: [sda] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:0:0: [sda] 4096-byte physical blocks
sd 0:2:0:0: Attached scsi generic sg0 type 0
sd 0:2:0:0: [sda] Write Protect is off
sd 0:2:1:0: [sdb] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:1:0: [sdb] 4096-byte physical blocks
sd 0:2:1:0: Attached scsi generic sg1 type 0
sd 0:2:0:0: [sda] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
sd 0:2:1:0: [sdb] Write Protect is off
sd 0:2:2:0: [sdc] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:2:0: [sdc] 4096-byte physical blocks
sd 0:2:2:0: Attached scsi generic sg2 type 0
sd 0:2:1:0: [sdb] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
sd 0:2:2:0: [sdc] Write Protect is off
sd 0:2:3:0: [sdd] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:3:0: [sdd] 4096-byte physical blocks
sd 0:2:3:0: Attached scsi generic sg3 type 0
sd 0:2:2:0: [sdc] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
sd 0:2:3:0: [sdd] Write Protect is off
 sda: sda1
sd 0:2:4:0: [sde] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:4:0: [sde] 4096-byte physical blocks
sd 0:2:4:0: Attached scsi generic sg4 type 0
sd 0:2:0:0: [sda] Attached SCSI disk
sd 0:2:3:0: [sdd] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
sd 0:2:4:0: [sde] Write Protect is off
sd 0:2:5:0: [sdf] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:5:0: [sdf] 4096-byte physical blocks
 sdb: sdb1
sd 0:2:5:0: Attached scsi generic sg5 type 0
sd 0:2:1:0: [sdb] Attached SCSI disk
sd 0:2:4:0: [sde] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
 sdc: sdc1 sdc2
sd 0:2:6:0: [sdg] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:6:0: [sdg] 4096-byte physical blocks
sd 0:2:6:0: Attached scsi generic sg6 type 0
sd 0:2:5:0: [sdf] Write Protect is off
sd 0:2:2:0: [sdc] Attached SCSI disk
Switched to clocksource tsc
 sdd: sdd1 sdd2
sd 0:2:5:0: [sdf] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
sd 0:2:7:0: [sdh] 285671424 512-byte logical blocks: (146 GB/136 GiB)
sd 0:2:7:0: [sdh] 4096-byte physical blocks
sd 0:2:7:0: Attached scsi generic sg7 type 0
sd 0:2:3:0: [sdd] Attached SCSI disk
sd 0:2:6:0: [sdg] Write Protect is off
sd 0:2:6:0: [sdg] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
sd 0:2:7:0: [sdh] Write Protect is off
 sdg: unknown partition table
sd 0:2:7:0: [sdh] Write cache: enabled, read cache: disabled, doesn't support DPO or FUA
 sdf: sdf1 sdf2
sd 0:2:6:0: [sdg] Attached SCSI disk
sd 0:2:5:0: [sdf] Attached SCSI disk
 sde: sde1 sde2 sde3 sde4 < sde5 sde6 sde7 sde8 >
 sdh: unknown partition table
sd 0:2:7:0: [sdh] Attached SCSI disk
sd 0:2:4:0: [sde] Attached SCSI disk
Loading ipt_REJECT.ko module
Loading nf_conntrack_ipv4.ko module
Loading iptable_filter.ko modkvm: VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL does not work properly. Using workaround
ule
Loading nf_iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
reject_ipv6.ko module
Loading nIPMI System Interface driver.
f_defrag_ipv6.koipmi_si: probing via ACPI
 module
Loadingipmi_si 00:06: [io  0x0ca2-0x0ca3] regsize 1 spacing 1 irq 0
 xt_state.ko modipmi_si: Adding ACPI-specified kcs state machineule
Loading ip6
table_filter.ko ipmi_si: probing via SMBIOS
module
Loading ipmi_si: SMBIOS: io 0xca2 regsize 1 spacing 1 irq 0
macvtap.ko modulipmi_si: Adding SMBIOS-specified kcs state machinee
Loading kvm-i duplicate interface
ntel.ko module
ipmi_si: Trying ACPI-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
Loading iTCO_wdt.ko module
Loading ipmi_si.ko module
ipmi_si 00:06: Found new BMC (man_id: 0x002880, prod_id: 0x0276, dev_id: 0x32)
ipmi_si 00:06: IPMI kcs interface initialized
Loading lpc_ich.iTCO_wdt: Found a ICH10 TCO device (Version=2, TCOBASE=0x0860)
ko module
iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
ACPI Warning: SystemIO range 0x0000000000000828-0x000000000000082f conflicts with OpRegion 0x0000000000000800-0x000000000000084f (\PMRG) (20141107/utaddress-258)
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
ACPI Warning: SystemIO range 0x0000000000000500-0x000000000000052f conflicts with OpRegion 0x0000000000000500-0x000000000000051b (\_SI_.BLNK) (20141107/utaddress-258)
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
lpc_ich: Resource conflict(s) found affecting gpio_ich
Loading ioatdma.ioatdma: Intel(R) QuickData Technology Driver 4.00
ko module
Loading i7core_edac.ko module
EDAC MC1: Giving out device to module i7core_edac.c controller i7 core #1: DEV 0000:fe:03.0 (POLLED)
EDAC PCI0: Giving out device to module i7core_edac controller EDAC PCI controller: DEV 0000:fe:03.0 (POLLED)
EDAC MC0: Giving out device to module i7core_edac.c controller i7 core #0: DEV 0000:ff:03.0 (POLLED)
EDAC PCI1: Giving out device to module i7core_edac controller EDAC PCI controller: DEV 0000:ff:03.0 (POLLED)
EDAC i7core: Driver loaded, 2 memory controller(s) found.
Loading ptp.ko mPTP clock support registered
odule
Loading ext4.ko module
Loading mptscsih.ko module
Loading lpfc.ko module
Emulex LightPulse Fibre Channel SCSI driver 10.4.8000.0.
Copyright(c) 2004-2014 Emulex.  All rights reserved.
scsi host1: Emulex LPe12000 PCIe Fibre Channel Adapter  on PCI bus 30 device 00 irq 40
scsi host2: Emulex LPe12000 PCIe Fibre Channel Adapter  on PCI bus 30 device 01 irq 43
Loading ip6t_REJECT.ko module
Loading nf_conntrack_ipv6.ko moduigb: Intel(R) Gigabit Ethernet Network Driver - version 5.2.15-k
le
Loading vhosigb: Copyright (c) 2007-2014 Intel Corporation.
t_net.ko module
Loading igb.ko module
igb 0000:01:00.0: DCA enabled
igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
igb 0000:01:00.0: eth0: (PCIe:2.5Gb/s:Width x2) c8:0a:a9:9d:fa:52
igb 0000:01:00.0: eth0: PBA No: Unknown
igb 0000:01:00.0: Using MSI-X interrupts. 1 rx queue(s), 1 tx queue(s)
igb 0000:01:00.1: DCA enabled
igb 0000:01:00.1: Intel(R) Gigabit Ethernet Network Connection
igb 0000:01:00.1: eth1: (PCIe:2.5Gb/s:Width x2) c8:0a:a9:9d:fa:53
igb 0000:01:00.1: eth1: PBA No: Unknown
igb 0000:01:00.1: Using MSI-X interrupts. 1 rx queue(s), 1 tx queue(s)
igb 0000:02:00.0: DCA enabled
igb 0000:02:00.0: Intel(R) Gigabit Ethernet Network Connection
igb 0000:02:00.0: eth2: (PCIe:2.5Gb/s:Width x2) c8:0a:a9:9d:fa:54
igb 0000:02:00.0: eth2: PBA No: Unknown
igb 0000:02:00.0: Using MSI-X interrupts. 1 rx queue(s), 1 tx queue(s)
igb 0000:02:00.1: DCA enabled
igb 0000:02:00.1: Intel(R) Gigabit Ethernet Network Connection
igb 0000:02:00.1: eth3: (PCIe:2.5Gb/s:Width x2) c8:0a:a9:9d:fa:55
igb 0000:02:00.1: eth3: PBA No: Unknown
igb 0000:02:00.1: Using MSI-X interrupts. 1 rx queue(s), 1 tx queue(s)
Loading mptsas.kFusion MPT SAS Host driver 3.04.20
o module
mptbase: ioc0: Initiating bringup
ioc0: LSISAS1064E B3: Capabilities={Initiator}
scsi host3: ioc0: LSISAS1064E B3, FwRev=011e0000h, Ports=1, MaxQ=277, IRQ=16
mptsas: ioc0: attaching sata device: fw_channel 0, fw_id 0, phy 0, sas_addr 0x1221000000000000
scsi 3:0:0:0: Direct-Access     ATA      ST9160511NS      FTD4 PQ: 0 ANSI: 5
sd 3:0:0:0: Attached scsi generic sg8 type 0
sd 3:0:0:0: [sdi] 312581808 512-byte logical blocks: (160 GB/149 GiB)
mptsas: ioc0: attaching sata device: fw_channel 0, fw_id 1, phy 1, sas_addr 0x1221000001000000
scsi 3:0:1:0: Direct-Access     ATA      ST9160511NS      FTD4 PQ: 0 ANSI: 5
sd 3:0:1:0: Attached scsi generic sg9 type 0
sd 3:0:1:0: [sdj] 312581808 512-byte logical blocks: (160 GB/149 GiB)
sd 3:0:0:0: [sdi] Write Protect is off
sd 3:0:0:0: [sdi] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
sd 3:0:1:0: [sdj] Write Protect is off
sd 3:0:1:0: [sdj] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 sdi: sdi1 sdi2 sdi3
random: nonblocking pool is initialized
 sdj: sdj1 sdj2 sdj3 sdj4 < sdj5 sdj6 >
sd 3:0:0:0: [sdi] Attached SCSI disk
sd 3:0:1:0: [sdj] Attached SCSI disk
Waiting for required block device discovery
Waiting for device with scsi_ids: 360030057014aa330182f86352027e114 ...
Creating block device loop0
Creating block device loop1
Creating block device loop2
Creating block device loop3
Creating block device loop4
Creating block device loop5
Creating block device loop6
Creating block device loop7
Creating block device ram0
Creating block device ram1
Creating block device ram10
Creating block device ram11
Creating block device ram12
Creating block device ram13
Creating block device ram14
Creating block device ram15
Creating block device ram2
Creating block device ram3
Creating block device ram4
Creating block device ram5
Creating block device ram6
Creating block device ram7
Creating block device ram8
Creating block device ram9
Creating block d sda: sda1
evice sda
Creating block device sdb
 sdb: sdb1
Creating block d sdc: sdc1 sdc2
evice sdc
Creating block d sdd: sdd1 sdd2
evice sdd
Creating block device sde
 sde: sde1 sde2 sde3 sde4 < sde5 sde6 sde7 sde8 >
Creating block d sdf: sdf1 sdf2
evice sdf
Creating block d sdg: unknown partition table
evice sdg
Creating block d sdh: unknown partition table
evice sdh
Creating block device sdi
 sdi: sdi1 sdi2 sdi3
Creating block device sdj
 sdj: sdj1 sdj2 sdj3 sdj4 < sdj5 sdj6 >
Found device with scsi_ids: 360030057014aa330182f86352027e114
Creating Remain Block Devices
Saving to the local filesystem LABEL=/dump2
e2fsck 1.41.12 (17-May-2010)
/dump2: clean, 17/8929280 files, 630400/35708672 blocks
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: 
Free memory/Total memory (free %): 62460 / 110204 ( 56.6767 )
Saving vmcore-dmesg.txt
Missing the struct log size export
Saving vmcore-dmesg.txt failed

Excluding unnecessary pages        : [  0 %] 
Excluding unnecessary pages        : [100 %] 
Excluding unnecessary pages        : [ 22 %] 
Excluding unnecessary pages        : [100 %] 
Copying data                       : [  2 %] 
Copying data                       : [ 13 %] 
Copying data                       : [ 21 %] 
Copying data                       : [ 28 %] 
Copying data                       : [ 37 %] 
Copying data                       : [ 47 %] 
Copying data                       : [ 57 %] 
Copying data                       : [ 66 %] 
Copying data                       : [ 76 %] 
Copying data                       : [ 86 %] 
Copying data                       : [ 96 %] 
Copying data                       : [100 %] 
Saving core complete
kvm: exiting hardware virtualization
sd 3:0:1:0: [sdj] Synchronizing SCSI cache
sd 3:0:0:0: [sdi] Synchronizing SCSI cache
sd 0:2:7:0: [sdh] Synchronizing SCSI cache
sd 0:2:6:0: [sdg] Synchronizing SCSI cache
sd 0:2:5:0: [sdf] Synchronizing SCSI cache
sd 0:2:4:0: [sde] Synchronizing SCSI cache
sd 0:2:3:0: [sdd] Synchronizing SCSI cache
sd 0:2:2:0: [sdc] Synchronizing SCSI cache
sd 0:2:1:0: [sdb] Synchronizing SCSI cache
sd 0:2:0:0: [sda] Synchronizing SCSI cache
reboot: Restarting system
reboot: machine restart
diff mbox

Patch

--- a/drivers/iommu/intel_irq_remapping.c
+++ b/drivers/iommu/intel_irq_remapping.c
@@ -200,8 +200,13 @@  static int modify_irte(int irq, struct irte *irte_modified)
 	set_64bit(&irte->high, irte_modified->high);
 
 #ifdef CONFIG_CRASH_DUMP
-	if (is_kdump_kernel())
+	if (is_kdump_kernel()) {
 		__iommu_update_old_irte(iommu, index);
+		__iommu_flush_cache(iommu,
+			iommu->ir_table->base_old_virt +
+			index * sizeof(struct irte),
+			sizeof(struct irte));
+	}
 #endif
 	__iommu_flush_cache(iommu, irte, sizeof(*irte));