LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PCI] BUG: unable to handle kernel
@ 2015-03-06  6:06 Fengguang Wu
  2015-03-06 15:13 ` Murali Karicheri
  0 siblings, 1 reply; 16+ messages in thread
From: Fengguang Wu @ 2015-03-06  6:06 UTC (permalink / raw)
  To: Murali Karicheri
  Cc: fengguang.wu, Bjorn Helgaas, LKP, linux-pci, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 12917 bytes --]

Greetings,

0day kernel testing robot got the below dmesg and the first bad commit is

git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git

commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
Author:     Murali Karicheri <m-karicheri2@ti.com>
AuthorDate: Tue Mar 3 12:52:13 2015 -0500
Commit:     Bjorn Helgaas <bhelgaas@google.com>
CommitDate: Tue Mar 3 14:42:58 2015 -0600

    PCI: Update DMA configuration from DT
    
    If there is a DT node available for the root bridge's parent device, use
    the DMA configuration from that device node.  For example, Keystone PCI
    devices would require dma_pfn_offset to be set correctly in the device
    structure of the PCI device in order to have the correct DMA mask.  The DT
    node will have dma-ranges defined for this.  Also support using the DT
    property dma-coherent to allow coherent DMA operation by the PCI device.
    
    Use the new helper function of_pci_dma_configure() to update the device DMA
    configuration.  This fixes DMA on systems where DMA addresses are a
    constant offset from CPU physical addresses.
    
    Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> (AMD Seattle)
    Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
    Acked-by: Will Deacon <will.deacon@arm.com>
    CC: Joerg Roedel <joro@8bytes.org>
    CC: Grant Likely <grant.likely@linaro.org>
    CC: Rob Herring <robh+dt@kernel.org>
    CC: Russell King <linux@arm.linux.org.uk>
    CC: Arnd Bergmann <arnd@arndb.de>

+------------------------------------------+------------+------------+-----------------+
|                                          | bdc567f9c1 | 0b2af17152 | v4.0-rc2_030422 |
+------------------------------------------+------------+------------+-----------------+
| boot_successes                           | 47         | 0          | 0               |
| boot_failures                            | 33         | 20         | 12              |
| page_allocation_failure:order:#,mode     | 33         |            |                 |
| backtrace:btrfs_test_extent_io           | 33         |            |                 |
| backtrace:init_btrfs_fs                  | 33         |            |                 |
| backtrace:kernel_init_freeable           | 33         | 20         | 12              |
| BUG:unable_to_handle_kernel              | 0          | 20         | 12              |
| Oops                                     | 0          | 20         | 12              |
| EIP_is_at_of_pci_dma_configure           | 0          | 20         | 12              |
| Kernel_panic-not_syncing:Fatal_exception | 0          | 20         | 12              |
| backtrace:acpi_bus_scan                  | 0          | 20         | 12              |
| backtrace:acpi_scan_init                 | 0          | 20         | 12              |
| backtrace:acpi_init                      | 0          | 20         | 12              |
+------------------------------------------+------------+------------+-----------------+

[    0.573023] pci_bus 0000:00: root bus resource [mem 0x14000000-0xfebfffff window]
[    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
[    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
[    0.574397] BUG: unable to handle kernel 
[    0.574397] BUG: unable to handle kernel NULL pointer dereferenceNULL pointer dereference at 000001c4
 at 000001c4
[    0.575439] IP:
[    0.575439] IP: [<79a20c33>] of_pci_dma_configure+0x33/0x70
 [<79a20c33>] of_pci_dma_configure+0x33/0x70
[    0.576231] *pde = 00000000 
[    0.576231] *pde = 00000000 

[    0.576666] Oops: 0000 [#1] 
[    0.576666] Oops: 0000 [#1] SMP SMP 

[    0.576666] Modules linked in:
[    0.576666] Modules linked in:

[    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
[    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
[    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
[    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
[    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
[    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
[    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
[    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
[    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
[    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
[    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
[    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
[    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
[    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
[    0.576666] Stack:
[    0.576666] Stack:
[    0.576666]  78011800
[    0.576666]  78011800 78011860 78011860 78069d5c 78069d5c 7976c1ac 7976c1ac 00000002 00000002 78069ce8 78069ce8 0000002e 0000002e 00000000 00000000

[    0.576666]  00001100
[    0.576666]  00001100 78011800 78011800 78011860 78011860 781d8000 781d8000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[    0.576666]  00000000
[    0.576666]  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[    0.576666] Call Trace:
[    0.576666] Call Trace:
[    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
[    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
[    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
[    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
[    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
[    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
[    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
[    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
[    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
[    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
[    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
[    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
[    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
[    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
[    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
[    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
[    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
[    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
[    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
[    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
[    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
[    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
[    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
[    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
[    0.576666]  [<7a217695>] acpi_init+0x496/0x534
[    0.576666]  [<7a217695>] acpi_init+0x496/0x534
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
[    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
[    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
[    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
[    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
[    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
[    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
[    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
[    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
[    0.576666] Code:
[    0.576666] Code: 80 80 5c 5c c1 c1 7a 7a 01 01 89 89 5d 5d f8 f8 89 89 c3 c3 89 89 75 75 fc fc 83 83 15 15 84 84 5c 5c c1 c1 7a 7a 00 00 e8 e8 df df ec ec d4 d4 ff ff 83 83 05 05 88 88 5c 5c c1 c1 7a 7a 01 01 83 83 15 15 8c 8c 5c 5c c1 c1 7a 7a 00 00 89 89 c6 c6 8b 8b 00 00 <8b> <8b> 90 90 c4 c4 01 01 00 00 00 00 8d 8d 43 43 60 60 e8 e8 1f 1f 94 94 ff ff ff ff 89 89 f0 f0 83 83 05 05 90 90 5c 5c c1 c1

[    0.576666] EIP: [<79a20c33>] 
[    0.576666] EIP: [<79a20c33>] of_pci_dma_configure+0x33/0x70of_pci_dma_configure+0x33/0x70 SS:ESP 0068:78069cc8
 SS:ESP 0068:78069cc8
[    0.576666] CR2: 00000000000001c4
[    0.576666] CR2: 00000000000001c4
[    0.576666] ---[ end trace af448c13c817976d ]---
[    0.576666] ---[ end trace af448c13c817976d ]---

git bisect start f20f4567bfc741f16e0895f4c4e845e7c51e6818 13a7a6ac0a11197edcd0f756a035f472b42cdf8b --
git bisect good 6a85284cccce49f687a505a7952fa3889b82628d  # 16:02     20+     19  Merge 'kees/yama/tip' into devel-hourly-2015030422
git bisect  bad e85ea728632a20c9830cbc5c67d64f8a302b452e  # 16:05      0-     20  Merge 'tip/x86/asm' into devel-hourly-2015030422
git bisect  bad 0516a34d518ed4a1ae4261736d6678094fd46142  # 16:11      0-     20  Merge 'spi/for-next' into devel-hourly-2015030422
git bisect  bad d8ee2cead70b0d04c58d1a57299fe307f5616b7e  # 16:49      0-     20  Merge 'sound/topic/hda-unbind' into devel-hourly-2015030422
git bisect  bad ccbd4806f70ac1599934b7c17582f44af02edca8  # 17:09      0-     20  Merge 'perf/tmp.perf/trace_ordered_events' into devel-hourly-2015030422
git bisect good a8c718ae516eeb6366d899bae02ebb409ced5453  # 17:12     20+      0  Merge 'mripard/sunxi/dt-for-4.1' into devel-hourly-2015030422
git bisect  bad 941b9d9416bbace6161718d173a526f9dfd10762  # 17:14      0-     20  Merge 'pci/pci/murali-v8' into devel-hourly-2015030422
git bisect good 6675a601d72be408025e675599702e30a99188aa  # 17:19     20+     16  PCI: Add helper functions pci_get[put]_host_bridge_device()
git bisect  bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6  # 17:21      0-     20  PCI: Update DMA configuration from DT
git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043  # 17:24     20+      7  of/pci: Add of_pci_dma_configure() to update DMA configuration
# first bad commit: [0b2af171520e5d5e7d5b5f479b90a6a5014d9df6] PCI: Update DMA configuration from DT
git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043  # 17:27     60+     33  of/pci: Add of_pci_dma_configure() to update DMA configuration
# extra tests with DEBUG_INFO
git bisect  bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6  # 17:40      0-     60  PCI: Update DMA configuration from DT
# extra tests on HEAD of linux-devel/devel-hourly-2015030422
git bisect  bad f20f4567bfc741f16e0895f4c4e845e7c51e6818  # 17:41      0-     12  0day head guard for 'devel-hourly-2015030422'
# extra tests on tree/branch pci/pci/murali-v8
git bisect  bad da5cc6061aae665cc15835519838861437b9fdc7  # 17:56      0-     60  of: Calculate device DMA masks based on DT dma-range size
# extra tests with first bad commit reverted
# extra tests on tree/branch linus/master
git bisect good 6587457b4b3d663b237a0f95ddf6e67d1828c8ea  # 18:08     60+     60  Merge tag 'dma-buf-for-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf
# extra tests on tree/branch next/master


This script may reproduce the error.

----------------------------------------------------------------------------
#!/bin/bash

kernel=$1

kvm=(
	qemu-system-x86_64
	-cpu kvm64
	-enable-kvm
	-kernel $kernel
	-m 320
	-smp 2
	-net nic,vlan=1,model=e1000
	-net user,vlan=1
	-boot order=nc
	-no-reboot
	-watchdog i6300esb
	-rtc base=localtime
	-serial stdio
	-display none
	-monitor null 
)

append=(
	hung_task_panic=1
	earlyprintk=ttyS0,115200
	rd.udev.log-priority=err
	systemd.log_target=journal
	systemd.log_level=warning
	debug
	apic=debug
	sysrq_always_enabled
	rcupdate.rcu_cpu_stall_timeout=100
	panic=-1
	softlockup_panic=1
	nmi_watchdog=panic
	oops=panic
	load_ramdisk=2
	prompt_ramdisk=0
	console=ttyS0,115200
	console=tty0
	vga=normal
	root=/dev/ram0
	rw
	drbd.minor_count=8
)

"${kvm[@]}" --append "${append[*]}"
----------------------------------------------------------------------------

Thanks,
Fengguang

[-- Attachment #2: dmesg-quantal-client7-14:20150305172026:i386-randconfig-c1-03051522:4.0.0-rc1-00006-g0b2af17:6 --]
[-- Type: text/plain, Size: 59806 bytes --]

early console in setup code
early console in decompress_kernel

Decompressing Linux... Parsing ELF... No relocation needed... done.
Booting the kernel.
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 4.0.0-rc1-00006-g0b2af17 (kbuild@cairo) (gcc version 4.9.2 (Debian 4.9.2-10) ) #6 SMP Thu Mar 5 17:19:53 CST 2015
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000013fdffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000013fe0000-0x0000000013ffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] bootconsole [earlyser0] enabled
[    0.000000] Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel!
[    0.000000] SMBIOS 2.8 present.
[    0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.000000] Hypervisor detected: KVM
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] e820: last_pfn = 0x13fe0 max_arch_pfn = 0x100000
[    0.000000] MTRR default type: write-back
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 0080000000 mask FF80000000 uncachable
[    0.000000]   1 disabled
[    0.000000]   2 disabled
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] PAT configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- UC  
[    0.000000] Scan for SMP in [mem 0x00000000-0x000003ff]
[    0.000000] Scan for SMP in [mem 0x0009fc00-0x0009ffff]
[    0.000000] Scan for SMP in [mem 0x000f0000-0x000fffff]
[    0.000000] found SMP MP-table at [mem 0x000f0eb0-0x000f0ebf] mapped at [780f0eb0]
[    0.000000]   mpc: f0ec0-f0fa4
[    0.000000] initial memory mapped: [mem 0x00000000-0x033fffff]
[    0.000000] Base memory trampoline at [7809b000] 9b000 size 16384
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000]  [mem 0x00000000-0x000fffff] page 4k
[    0.000000] init_memory_mapping: [mem 0x12000000-0x123fffff]
[    0.000000]  [mem 0x12000000-0x123fffff] page 4M
[    0.000000] init_memory_mapping: [mem 0x00100000-0x11ffffff]
[    0.000000]  [mem 0x00100000-0x003fffff] page 4k
[    0.000000]  [mem 0x00400000-0x11ffffff] page 4M
[    0.000000] init_memory_mapping: [mem 0x12400000-0x13fdffff]
[    0.000000]  [mem 0x12400000-0x13bfffff] page 4M
[    0.000000]  [mem 0x13c00000-0x13fdffff] page 4k
[    0.000000] BRK [0x02c9d000, 0x02c9dfff] PGTABLE
[    0.000000] RAMDISK: [mem 0x12793000-0x13fd7fff]
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x000F0C90 000014 (v00 BOCHS )
[    0.000000] ACPI: RSDT 0x13FE18BD 000034 (v01 BOCHS  BXPCRSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: FACP 0x13FE0B37 000074 (v01 BOCHS  BXPCFACP 00000001 BXPC 00000001)
[    0.000000] ACPI: DSDT 0x13FE0040 000AF7 (v01 BOCHS  BXPCDSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: FACS 0x13FE0000 000040
[    0.000000] ACPI: SSDT 0x13FE0BAB 000C5A (v01 BOCHS  BXPCSSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: APIC 0x13FE1805 000080 (v01 BOCHS  BXPCAPIC 00000001 BXPC 00000001)
[    0.000000] ACPI: HPET 0x13FE1885 000038 (v01 BOCHS  BXPCHPET 00000001 BXPC 00000001)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] mapped APIC to         ffffc000 (        fee00000)
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 319MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 13fe0000
[    0.000000]   low ram: 0 - 13fe0000
[    0.000000] cma: dma_contiguous_reserve(limit 13fe0000)
[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr 0:13fdf001, primary cpu clock
[    0.000000] BRK [0x02c9e000, 0x02c9efff] PGTABLE
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000001000-0x0000000013fdffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x0000000013fdffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x0000000013fdffff]
[    0.000000] On node 0 totalpages: 81790
[    0.000000]   Normal zone: 640 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 81790 pages, LIFO batch:15
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x608
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] mapped APIC to         ffffc000 (        fee00000)
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 00, APIC ID 0, APIC INT 02
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 05, APIC ID 0, APIC INT 05
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 09, APIC ID 0, APIC INT 09
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 0a, APIC ID 0, APIC INT 0a
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 0b, APIC ID 0, APIC INT 0b
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 01, APIC ID 0, APIC INT 01
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 03, APIC ID 0, APIC INT 03
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 04, APIC ID 0, APIC INT 04
[    0.000000] ACPI: IRQ5 used by override.
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 06, APIC ID 0, APIC INT 06
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 07, APIC ID 0, APIC INT 07
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 08, APIC ID 0, APIC INT 08
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] ACPI: IRQ10 used by override.
[    0.000000] ACPI: IRQ11 used by override.
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0c, APIC ID 0, APIC INT 0c
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0d, APIC ID 0, APIC INT 0d
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0e, APIC ID 0, APIC INT 0e
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0f, APIC ID 0, APIC INT 0f
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] mapped IOAPIC to ffffb000 (fec00000)
[    0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.000000] e820: [mem 0x14000000-0xfeffbfff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on KVM
[    0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 16 pages/cpu @8a4f2000 s36096 r0 d29440 u65536
[    0.000000] pcpu-alloc: s36096 r0 d29440 u65536 alloc=16*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] KVM setup async PF for cpu 0
[    0.000000] kvm-stealtime: cpu 0, msr 124f59c0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 81150
[    0.000000] Kernel command line: hung_task_panic=1 earlyprintk=ttyS0,115200 rd.udev.log-priority=err systemd.log_target=journal systemd.log_level=warning debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal  root=/dev/ram0 rw link=/kbuild-tests/run-queue/kvm/i386-randconfig-c1-03051522/linux-devel:devel-hourly-2015030422:0b2af171520e5d5e7d5b5f479b90a6a5014d9df6:bisect-linux-3/.vmlinuz-0b2af171520e5d5e7d5b5f479b90a6a5014d9df6-20150305172017-14-client7 branch=linux-devel/devel-hourly-2015030422 BOOT_IMAGE=/kernel/i386-randconfig-c1-03051522/0b2af171520e5d5e7d5b5f479b90a6a5014d9df6/vmlinuz-4.0.0-rc1-00006-g0b2af17 drbd.minor_count=8
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] Initializing HighMem for node 0 (00000000:00000000)
[    0.000000] Memory: 269796K/327160K available (12124K kernel code, 1760K rwdata, 4212K rodata, 892K init, 10188K bss, 57364K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffe6e000 - 0xfffff000   (1604 kB)
[    0.000000]     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
[    0.000000]     vmalloc : 0x8c7e0000 - 0xff7fe000   (1840 MB)
[    0.000000]     lowmem  : 0x78000000 - 0x8bfe0000   ( 319 MB)
[    0.000000]       .init : 0x7a1b7000 - 0x7a296000   ( 892 kB)
[    0.000000]       .data : 0x79bd7749 - 0x7a1b51a0   (6006 kB)
[    0.000000]       .text : 0x79000000 - 0x79bd7749   (12125 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS:2304 nr_irqs:440 16
[    0.000000] CPU 0 irqstacks, hard=7802e000 soft=78030000
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 4.0.0-rc1-00006-g0b2af17 (kbuild@cairo) (gcc version 4.9.2 (Debian 4.9.2-10) ) #6 SMP Thu Mar 5 17:19:53 CST 2015
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000013fdffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000013fe0000-0x0000000013ffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
[    0.000000] bootconsole [earlyser0] enabled
[    0.000000] Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel!
[    0.000000] SMBIOS 2.8 present.
[    0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.000000] Hypervisor detected: KVM
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] e820: last_pfn = 0x13fe0 max_arch_pfn = 0x100000
[    0.000000] MTRR default type: write-back
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 0080000000 mask FF80000000 uncachable
[    0.000000]   1 disabled
[    0.000000]   2 disabled
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] PAT configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- UC  
[    0.000000] Scan for SMP in [mem 0x00000000-0x000003ff]
[    0.000000] Scan for SMP in [mem 0x0009fc00-0x0009ffff]
[    0.000000] Scan for SMP in [mem 0x000f0000-0x000fffff]
[    0.000000] found SMP MP-table at [mem 0x000f0eb0-0x000f0ebf] mapped at [780f0eb0]
[    0.000000]   mpc: f0ec0-f0fa4
[    0.000000] initial memory mapped: [mem 0x00000000-0x033fffff]
[    0.000000] Base memory trampoline at [7809b000] 9b000 size 16384
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000]  [mem 0x00000000-0x000fffff] page 4k
[    0.000000] init_memory_mapping: [mem 0x12000000-0x123fffff]
[    0.000000]  [mem 0x12000000-0x123fffff] page 4M
[    0.000000] init_memory_mapping: [mem 0x00100000-0x11ffffff]
[    0.000000]  [mem 0x00100000-0x003fffff] page 4k
[    0.000000]  [mem 0x00400000-0x11ffffff] page 4M
[    0.000000] init_memory_mapping: [mem 0x12400000-0x13fdffff]
[    0.000000]  [mem 0x12400000-0x13bfffff] page 4M
[    0.000000]  [mem 0x13c00000-0x13fdffff] page 4k
[    0.000000] BRK [0x02c9d000, 0x02c9dfff] PGTABLE
[    0.000000] RAMDISK: [mem 0x12793000-0x13fd7fff]
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x000F0C90 000014 (v00 BOCHS )
[    0.000000] ACPI: RSDT 0x13FE18BD 000034 (v01 BOCHS  BXPCRSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: FACP 0x13FE0B37 000074 (v01 BOCHS  BXPCFACP 00000001 BXPC 00000001)
[    0.000000] ACPI: DSDT 0x13FE0040 000AF7 (v01 BOCHS  BXPCDSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: FACS 0x13FE0000 000040
[    0.000000] ACPI: SSDT 0x13FE0BAB 000C5A (v01 BOCHS  BXPCSSDT 00000001 BXPC 00000001)
[    0.000000] ACPI: APIC 0x13FE1805 000080 (v01 BOCHS  BXPCAPIC 00000001 BXPC 00000001)
[    0.000000] ACPI: HPET 0x13FE1885 000038 (v01 BOCHS  BXPCHPET 00000001 BXPC 00000001)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] mapped APIC to         ffffc000 (        fee00000)
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 319MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 13fe0000
[    0.000000]   low ram: 0 - 13fe0000
[    0.000000] cma: dma_contiguous_reserve(limit 13fe0000)
[    0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00
[    0.000000] kvm-clock: cpu 0, msr 0:13fdf001, primary cpu clock
[    0.000000] BRK [0x02c9e000, 0x02c9efff] PGTABLE
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000001000-0x0000000013fdffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x0000000013fdffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x0000000013fdffff]
[    0.000000] On node 0 totalpages: 81790
[    0.000000]   Normal zone: 640 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 81790 pages, LIFO batch:15
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x608
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] mapped APIC to         ffffc000 (        fee00000)
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 00, APIC ID 0, APIC INT 02
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 05, APIC ID 0, APIC INT 05
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 09, APIC ID 0, APIC INT 09
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 0a, APIC ID 0, APIC INT 0a
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.000000] Int: type 0, pol 1, trig 3, bus 00, IRQ 0b, APIC ID 0, APIC INT 0b
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 01, APIC ID 0, APIC INT 01
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 03, APIC ID 0, APIC INT 03
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 04, APIC ID 0, APIC INT 04
[    0.000000] ACPI: IRQ5 used by override.
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 06, APIC ID 0, APIC INT 06
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 07, APIC ID 0, APIC INT 07
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 08, APIC ID 0, APIC INT 08
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] ACPI: IRQ10 used by override.
[    0.000000] ACPI: IRQ11 used by override.
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0c, APIC ID 0, APIC INT 0c
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0d, APIC ID 0, APIC INT 0d
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0e, APIC ID 0, APIC INT 0e
[    0.000000] Int: type 0, pol 0, trig 0, bus 00, IRQ 0f, APIC ID 0, APIC INT 0f
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] mapped IOAPIC to ffffb000 (fec00000)
[    0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.000000] e820: [mem 0x14000000-0xfeffbfff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on KVM
[    0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 16 pages/cpu @8a4f2000 s36096 r0 d29440 u65536
[    0.000000] pcpu-alloc: s36096 r0 d29440 u65536 alloc=16*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] KVM setup async PF for cpu 0
[    0.000000] kvm-stealtime: cpu 0, msr 124f59c0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 81150
[    0.000000] Kernel command line: hung_task_panic=1 earlyprintk=ttyS0,115200 rd.udev.log-priority=err systemd.log_target=journal systemd.log_level=warning debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal  root=/dev/ram0 rw link=/kbuild-tests/run-queue/kvm/i386-randconfig-c1-03051522/linux-devel:devel-hourly-2015030422:0b2af171520e5d5e7d5b5f479b90a6a5014d9df6:bisect-linux-3/.vmlinuz-0b2af171520e5d5e7d5b5f479b90a6a5014d9df6-20150305172017-14-client7 branch=linux-devel/devel-hourly-2015030422 BOOT_IMAGE=/kernel/i386-randconfig-c1-03051522/0b2af171520e5d5e7d5b5f479b90a6a5014d9df6/vmlinuz-4.0.0-rc1-00006-g0b2af17 drbd.minor_count=8
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] Initializing HighMem for node 0 (00000000:00000000)
[    0.000000] Memory: 269796K/327160K available (12124K kernel code, 1760K rwdata, 4212K rodata, 892K init, 10188K bss, 57364K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffe6e000 - 0xfffff000   (1604 kB)
[    0.000000]     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
[    0.000000]     vmalloc : 0x8c7e0000 - 0xff7fe000   (1840 MB)
[    0.000000]     lowmem  : 0x78000000 - 0x8bfe0000   ( 319 MB)
[    0.000000]       .init : 0x7a1b7000 - 0x7a296000   ( 892 kB)
[    0.000000]       .data : 0x79bd7749 - 0x7a1b51a0   (6006 kB)
[    0.000000]       .text : 0x79000000 - 0x79bd7749   (12125 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS:2304 nr_irqs:440 16
[    0.000000] CPU 0 irqstacks, hard=7802e000 soft=78030000
[    0.000000] console [ttyS0] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.000000] ... MAX_LOCKDEP_CHAINS:      65536
[    0.000000] ... MAX_LOCKDEP_CHAINS:      65536
[    0.000000] ... CHAINHASH_SIZE:          32768
[    0.000000] ... CHAINHASH_SIZE:          32768
[    0.000000]  memory used by lock dependency info: 4895 kB
[    0.000000]  memory used by lock dependency info: 4895 kB
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.000000]  per task-struct memory footprint: 1152 bytes
[    0.000000] ------------------------
[    0.000000] ------------------------
[    0.000000] | Locking API testsuite:
[    0.000000] | Locking API testsuite:
[    0.000000] ----------------------------------------------------------------------------
[    0.000000] ----------------------------------------------------------------------------
[    0.000000]                                  | spin |wlock |rlock |mutex | wsem | rsem |
[    0.000000]                                  | spin |wlock |rlock |mutex | wsem | rsem |
[    0.000000]   --------------------------------------------------------------------------
[    0.000000]   --------------------------------------------------------------------------
[    0.000000]                      A-A deadlock:
[    0.000000]                      A-A deadlock:failed|failed|failed|failed|  ok  |  ok  |failed|failed|failed|failed|failed|failed|

[    0.000000]                  A-B-B-A deadlock:
[    0.000000]                  A-B-B-A deadlock:failed|failed|failed|failed|  ok  |  ok  |failed|failed|failed|failed|failed|failed|

[    0.000000]              A-B-B-C-C-A deadlock:
[    0.000000]              A-B-B-C-C-A deadlock:failed|failed|failed|failed|  ok  |  ok  |failed|failed|failed|failed|failed|failed|

[    0.000000]              A-B-C-A-B-C deadlock:
[    0.000000]              A-B-C-A-B-C deadlock:failed|failed|failed|failed|  ok  |  ok  |failed|failed|failed|failed|failed|failed|

[    0.000000]          A-B-B-C-C-D-D-A deadlock:
[    0.000000]          A-B-B-C-C-D-D-A deadlock:failed|failed|failed|failed|  ok  |  ok  |failed|failed|failed|failed|failed|failed|

[    0.000000]          A-B-C-D-B-D-D-A deadlock:
[    0.000000]          A-B-C-D-B-D-D-A deadlock:failed|failed|failed|failed|  ok  |  ok  |failed|failed|failed|failed|failed|failed|

[    0.000000]          A-B-C-D-B-C-D-A deadlock:
[    0.000000]          A-B-C-D-B-C-D-A deadlock:failed|failed|failed|failed|  ok  |  ok  |failed|failed|failed|failed|failed|failed|

[    0.000000]                     double unlock:
[    0.000000]                     double unlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |

[    0.000000]                   initialize held:
[    0.000000]                   initialize held:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |

[    0.000000]                  bad unlock order:
[    0.000000]                  bad unlock order:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |

[    0.000000]   --------------------------------------------------------------------------
[    0.000000]   --------------------------------------------------------------------------
[    0.000000]               recursive read-lock:
[    0.000000]               recursive read-lock:             |             |  ok  |  ok  |             |             |failed|failed|

[    0.000000]            recursive read-lock #2:
[    0.000000]            recursive read-lock #2:             |             |  ok  |  ok  |             |             |failed|failed|

[    0.000000]             mixed read-write-lock:
[    0.000000]             mixed read-write-lock:             |             |failed|failed|             |             |failed|failed|

[    0.000000]             mixed write-read-lock:
[    0.000000]             mixed write-read-lock:             |             |failed|failed|             |             |failed|failed|

[    0.000000]   --------------------------------------------------------------------------
[    0.000000]   --------------------------------------------------------------------------
[    0.000000]      hard-irqs-on + irq-safe-A/12:
[    0.000000]      hard-irqs-on + irq-safe-A/12:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]      soft-irqs-on + irq-safe-A/12:
[    0.000000]      soft-irqs-on + irq-safe-A/12:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]      hard-irqs-on + irq-safe-A/21:
[    0.000000]      hard-irqs-on + irq-safe-A/21:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]      soft-irqs-on + irq-safe-A/21:
[    0.000000]      soft-irqs-on + irq-safe-A/21:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]        sirq-safe-A => hirqs-on/12:
[    0.000000]        sirq-safe-A => hirqs-on/12:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]        sirq-safe-A => hirqs-on/21:
[    0.000000]        sirq-safe-A => hirqs-on/21:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]          hard-safe-A + irqs-on/12:
[    0.000000]          hard-safe-A + irqs-on/12:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]          soft-safe-A + irqs-on/12:
[    0.000000]          soft-safe-A + irqs-on/12:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]          hard-safe-A + irqs-on/21:
[    0.000000]          hard-safe-A + irqs-on/21:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]          soft-safe-A + irqs-on/21:
[    0.000000]          soft-safe-A + irqs-on/21:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #1/123:
[    0.000000]     hard-safe-A + unsafe-B #1/123:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #1/123:
[    0.000000]     soft-safe-A + unsafe-B #1/123:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #1/132:
[    0.000000]     hard-safe-A + unsafe-B #1/132:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #1/132:
[    0.000000]     soft-safe-A + unsafe-B #1/132:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #1/213:
[    0.000000]     hard-safe-A + unsafe-B #1/213:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #1/213:
[    0.000000]     soft-safe-A + unsafe-B #1/213:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #1/231:
[    0.000000]     hard-safe-A + unsafe-B #1/231:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #1/231:
[    0.000000]     soft-safe-A + unsafe-B #1/231:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #1/312:
[    0.000000]     hard-safe-A + unsafe-B #1/312:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #1/312:
[    0.000000]     soft-safe-A + unsafe-B #1/312:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #1/321:
[    0.000000]     hard-safe-A + unsafe-B #1/321:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #1/321:
[    0.000000]     soft-safe-A + unsafe-B #1/321:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #2/123:
[    0.000000]     hard-safe-A + unsafe-B #2/123:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #2/123:
[    0.000000]     soft-safe-A + unsafe-B #2/123:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #2/132:
[    0.000000]     hard-safe-A + unsafe-B #2/132:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #2/132:
[    0.000000]     soft-safe-A + unsafe-B #2/132:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #2/213:
[    0.000000]     hard-safe-A + unsafe-B #2/213:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #2/213:
[    0.000000]     soft-safe-A + unsafe-B #2/213:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #2/231:
[    0.000000]     hard-safe-A + unsafe-B #2/231:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #2/231:
[    0.000000]     soft-safe-A + unsafe-B #2/231:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #2/312:
[    0.000000]     hard-safe-A + unsafe-B #2/312:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #2/312:
[    0.000000]     soft-safe-A + unsafe-B #2/312:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     hard-safe-A + unsafe-B #2/321:
[    0.000000]     hard-safe-A + unsafe-B #2/321:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]     soft-safe-A + unsafe-B #2/321:
[    0.000000]     soft-safe-A + unsafe-B #2/321:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       hard-irq lock-inversion/123:
[    0.000000]       hard-irq lock-inversion/123:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       soft-irq lock-inversion/123:
[    0.000000]       soft-irq lock-inversion/123:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       hard-irq lock-inversion/132:
[    0.000000]       hard-irq lock-inversion/132:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       soft-irq lock-inversion/132:
[    0.000000]       soft-irq lock-inversion/132:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       hard-irq lock-inversion/213:
[    0.000000]       hard-irq lock-inversion/213:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       soft-irq lock-inversion/213:
[    0.000000]       soft-irq lock-inversion/213:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       hard-irq lock-inversion/231:
[    0.000000]       hard-irq lock-inversion/231:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       soft-irq lock-inversion/231:
[    0.000000]       soft-irq lock-inversion/231:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       hard-irq lock-inversion/312:
[    0.000000]       hard-irq lock-inversion/312:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       soft-irq lock-inversion/312:
[    0.000000]       soft-irq lock-inversion/312:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       hard-irq lock-inversion/321:
[    0.000000]       hard-irq lock-inversion/321:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       soft-irq lock-inversion/321:
[    0.000000]       soft-irq lock-inversion/321:failed|failed|failed|failed|  ok  |  ok  |

[    0.000000]       hard-irq read-recursion/123:
[    0.000000]       hard-irq read-recursion/123:  ok  |  ok  |

[    0.000000]       soft-irq read-recursion/123:
[    0.000000]       soft-irq read-recursion/123:  ok  |  ok  |

[    0.000000]       hard-irq read-recursion/132:
[    0.000000]       hard-irq read-recursion/132:  ok  |  ok  |

[    0.000000]       soft-irq read-recursion/132:
[    0.000000]       soft-irq read-recursion/132:  ok  |  ok  |

[    0.000000]       hard-irq read-recursion/213:
[    0.000000]       hard-irq read-recursion/213:  ok  |  ok  |

[    0.000000]       soft-irq read-recursion/213:
[    0.000000]       soft-irq read-recursion/213:  ok  |  ok  |

[    0.000000]       hard-irq read-recursion/231:
[    0.000000]       hard-irq read-recursion/231:  ok  |  ok  |

[    0.000000]       soft-irq read-recursion/231:
[    0.000000]       soft-irq read-recursion/231:  ok  |  ok  |

[    0.000000]       hard-irq read-recursion/312:
[    0.000000]       hard-irq read-recursion/312:  ok  |  ok  |

[    0.000000]       soft-irq read-recursion/312:
[    0.000000]       soft-irq read-recursion/312:  ok  |  ok  |

[    0.000000]       hard-irq read-recursion/321:
[    0.000000]       hard-irq read-recursion/321:  ok  |  ok  |

[    0.000000]       soft-irq read-recursion/321:
[    0.000000]       soft-irq read-recursion/321:  ok  |  ok  |

[    0.000000]   --------------------------------------------------------------------------
[    0.000000]   --------------------------------------------------------------------------
[    0.000000]   | Wound/wait tests |
[    0.000000]   | Wound/wait tests |
[    0.000000]   ---------------------
[    0.000000]   ---------------------
[    0.000000]                   ww api failures:
[    0.000000]                   ww api failures:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |

[    0.000000]                ww contexts mixing:
[    0.000000]                ww contexts mixing:failed|failed|  ok  |  ok  |

[    0.000000]              finishing ww context:
[    0.000000]              finishing ww context:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |

[    0.000000]                locking mismatches:
[    0.000000]                locking mismatches:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |

[    0.000000]                  EDEADLK handling:
[    0.000000]                  EDEADLK handling:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |

[    0.000000]            spinlock nest unlocked:
[    0.000000]            spinlock nest unlocked:  ok  |  ok  |

[    0.000000]   -----------------------------------------------------
[    0.000000]   -----------------------------------------------------
[    0.000000]                                  |block | try  |context|
[    0.000000]                                  |block | try  |context|
[    0.000000]   -----------------------------------------------------
[    0.000000]   -----------------------------------------------------
[    0.000000]                           context:
[    0.000000]                           context:failed|failed|  ok  |  ok  |  ok  |  ok  |

[    0.000000]                               try:
[    0.000000]                               try:failed|failed|  ok  |  ok  |failed|failed|

[    0.000000]                             block:
[    0.000000]                             block:failed|failed|  ok  |  ok  |failed|failed|

[    0.000000]                          spinlock:
[    0.000000]                          spinlock:failed|failed|  ok  |  ok  |failed|failed|

[    0.000000] --------------------------------------------------------
[    0.000000] --------------------------------------------------------
[    0.000000] 141 out of 253 testcases failed, as expected. |
[    0.000000] 141 out of 253 testcases failed, as expected. |
[    0.000000] ----------------------------------------------------
[    0.000000] ----------------------------------------------------
[    0.000000] ODEBUG: selftest passed
[    0.000000] ODEBUG: selftest passed
[    0.000000] hpet clockevent registered
[    0.000000] hpet clockevent registered
[    0.000000] tsc: Detected 2925.998 MHz processor
[    0.000000] tsc: Detected 2925.998 MHz processor
[    0.006666] Calibrating delay loop (skipped) preset value.. 
[    0.006666] Calibrating delay loop (skipped) preset value.. 5854.82 BogoMIPS (lpj=9753326)
5854.82 BogoMIPS (lpj=9753326)
[    0.006678] pid_max: default: 4096 minimum: 301
[    0.006678] pid_max: default: 4096 minimum: 301
[    0.007410] ACPI: Core revision 20150204
[    0.007410] ACPI: Core revision 20150204
[    0.010947] ACPI: 
[    0.010947] ACPI: All ACPI Tables successfully acquiredAll ACPI Tables successfully acquired

[    0.011981] Security Framework initialized
[    0.011981] Security Framework initialized
[    0.012712] AppArmor: AppArmor initialized
[    0.012712] AppArmor: AppArmor initialized
[    0.013333] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.013333] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.013348] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.013348] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.017047] Initializing cgroup subsys blkio
[    0.017047] Initializing cgroup subsys blkio
[    0.017717] Initializing cgroup subsys freezer
[    0.017717] Initializing cgroup subsys freezer
[    0.018406] Initializing cgroup subsys net_cls
[    0.018406] Initializing cgroup subsys net_cls
[    0.019106] Initializing cgroup subsys net_prio
[    0.019106] Initializing cgroup subsys net_prio
[    0.020070] mce: CPU supports 10 MCE banks
[    0.020070] mce: CPU supports 10 MCE banks
[    0.020741] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.020741] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.021634] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
[    0.021634] Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
[    0.023063] Freeing SMP alternatives memory: 24K (7a296000 - 7a29c000)
[    0.023063] Freeing SMP alternatives memory: 24K (7a296000 - 7a29c000)
[    0.027728] Getting VERSION: 1050014
[    0.027728] Getting VERSION: 1050014
[    0.028300] Getting VERSION: 1050014
[    0.028300] Getting VERSION: 1050014
[    0.028845] Getting ID: 0
[    0.028845] Getting ID: 0
[    0.029245] Getting ID: f000000
[    0.029245] Getting ID: f000000
[    0.029736] Getting LVT0: 8700
[    0.029736] Getting LVT0: 8700
[    0.029999] Getting LVT1: 8400
[    0.029999] Getting LVT1: 8400
[    0.030009] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.030009] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.031117] enabled ExtINT on CPU#0
[    0.031117] enabled ExtINT on CPU#0
[    0.033449] ENABLING IO-APIC IRQs
[    0.033449] ENABLING IO-APIC IRQs
[    0.034026] init IO_APIC IRQs
[    0.034026] init IO_APIC IRQs
[    0.034657]  apic 0 pin 0 not connected
[    0.034657]  apic 0 pin 0 not connected
[    0.035666] IOAPIC[0]: Set routing entry (0-1 -> 0x31 -> IRQ 1 Mode:0 Active:0 Dest:1)
[    0.035666] IOAPIC[0]: Set routing entry (0-1 -> 0x31 -> IRQ 1 Mode:0 Active:0 Dest:1)
[    0.036701] IOAPIC[0]: Set routing entry (0-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1)
[    0.036701] IOAPIC[0]: Set routing entry (0-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1)
[    0.038216] IOAPIC[0]: Set routing entry (0-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1)
[    0.038216] IOAPIC[0]: Set routing entry (0-2 -> 0x30 -> IRQ 0 Mode:0 Active:0 Dest:1)
[    0.040039] IOAPIC[0]: Set routing entry (0-3 -> 0x33 -> IRQ 3 Mode:0 Active:0 Dest:1)
[    0.040039] IOAPIC[0]: Set routing entry (0-3 -> 0x33 -> IRQ 3 Mode:0 Active:0 Dest:1)
[    0.041454] IOAPIC[0]: Set routing entry (0-4 -> 0x34 -> IRQ 4 Mode:0 Active:0 Dest:1)
[    0.041454] IOAPIC[0]: Set routing entry (0-4 -> 0x34 -> IRQ 4 Mode:0 Active:0 Dest:1)
[    0.043360] IOAPIC[0]: Set routing entry (0-5 -> 0x35 -> IRQ 5 Mode:1 Active:0 Dest:1)
[    0.043360] IOAPIC[0]: Set routing entry (0-5 -> 0x35 -> IRQ 5 Mode:1 Active:0 Dest:1)
[    0.044560] IOAPIC[0]: Set routing entry (0-6 -> 0x36 -> IRQ 6 Mode:0 Active:0 Dest:1)
[    0.044560] IOAPIC[0]: Set routing entry (0-6 -> 0x36 -> IRQ 6 Mode:0 Active:0 Dest:1)
[    0.045749] IOAPIC[0]: Set routing entry (0-7 -> 0x37 -> IRQ 7 Mode:0 Active:0 Dest:1)
[    0.045749] IOAPIC[0]: Set routing entry (0-7 -> 0x37 -> IRQ 7 Mode:0 Active:0 Dest:1)
[    0.046698] IOAPIC[0]: Set routing entry (0-8 -> 0x38 -> IRQ 8 Mode:0 Active:0 Dest:1)
[    0.046698] IOAPIC[0]: Set routing entry (0-8 -> 0x38 -> IRQ 8 Mode:0 Active:0 Dest:1)
[    0.048193] IOAPIC[0]: Set routing entry (0-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:1)
[    0.048193] IOAPIC[0]: Set routing entry (0-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:1)
[    0.050041] IOAPIC[0]: Set routing entry (0-10 -> 0x3a -> IRQ 10 Mode:1 Active:0 Dest:1)
[    0.050041] IOAPIC[0]: Set routing entry (0-10 -> 0x3a -> IRQ 10 Mode:1 Active:0 Dest:1)
[    0.052050] IOAPIC[0]: Set routing entry (0-11 -> 0x3b -> IRQ 11 Mode:1 Active:0 Dest:1)
[    0.052050] IOAPIC[0]: Set routing entry (0-11 -> 0x3b -> IRQ 11 Mode:1 Active:0 Dest:1)
[    0.053376] IOAPIC[0]: Set routing entry (0-12 -> 0x3c -> IRQ 12 Mode:0 Active:0 Dest:1)
[    0.053376] IOAPIC[0]: Set routing entry (0-12 -> 0x3c -> IRQ 12 Mode:0 Active:0 Dest:1)
[    0.054883] IOAPIC[0]: Set routing entry (0-13 -> 0x3d -> IRQ 13 Mode:0 Active:0 Dest:1)
[    0.054883] IOAPIC[0]: Set routing entry (0-13 -> 0x3d -> IRQ 13 Mode:0 Active:0 Dest:1)
[    0.056694] IOAPIC[0]: Set routing entry (0-14 -> 0x3e -> IRQ 14 Mode:0 Active:0 Dest:1)
[    0.056694] IOAPIC[0]: Set routing entry (0-14 -> 0x3e -> IRQ 14 Mode:0 Active:0 Dest:1)
[    0.057923] IOAPIC[0]: Set routing entry (0-15 -> 0x3f -> IRQ 15 Mode:0 Active:0 Dest:1)
[    0.057923] IOAPIC[0]: Set routing entry (0-15 -> 0x3f -> IRQ 15 Mode:0 Active:0 Dest:1)
[    0.059155]  apic 0 pin 16 not connected
[    0.059155]  apic 0 pin 16 not connected
[    0.060006]  apic 0 pin 17 not connected
[    0.060006]  apic 0 pin 17 not connected
[    0.060602]  apic 0 pin 18 not connected
[    0.060602]  apic 0 pin 18 not connected
[    0.061195]  apic 0 pin 19 not connected
[    0.061195]  apic 0 pin 19 not connected
[    0.061788]  apic 0 pin 20 not connected
[    0.061788]  apic 0 pin 20 not connected
[    0.062383]  apic 0 pin 21 not connected
[    0.062383]  apic 0 pin 21 not connected
[    0.063341]  apic 0 pin 22 not connected
[    0.063341]  apic 0 pin 22 not connected
[    0.064307]  apic 0 pin 23 not connected
[    0.064307]  apic 0 pin 23 not connected
[    0.065294] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.065294] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.066676] Using local APIC timer interrupts.
[    0.066676] calibrating APIC timer ...
[    0.066676] Using local APIC timer interrupts.
[    0.066676] calibrating APIC timer ...
[    0.069999] ... lapic delta = 6249554
[    0.069999] ... lapic delta = 6249554
[    0.069999] ... PM-Timer delta = 357930
[    0.069999] ... PM-Timer delta = 357930
[    0.069999] ... PM-Timer result ok
[    0.069999] ... PM-Timer result ok
[    0.069999] ..... delta 6249554
[    0.069999] ..... delta 6249554
[    0.069999] ..... mult: 268416327
[    0.069999] ..... mult: 268416327
[    0.069999] ..... calibration result: 3333095
[    0.069999] ..... calibration result: 3333095
[    0.069999] ..... CPU clock speed is 2926.0410 MHz.
[    0.069999] ..... CPU clock speed is 2926.0410 MHz.
[    0.069999] ..... host bus clock speed is 1000.0095 MHz.
[    0.069999] ..... host bus clock speed is 1000.0095 MHz.
[    0.070059] smpboot: CPU0: 
[    0.070059] smpboot: CPU0: Intel Intel Common KVM processorCommon KVM processor (fam: 0f, model: 06 (fam: 0f, model: 06, stepping: 01)
, stepping: 01)
[    0.072528] Performance Events: 
[    0.072528] Performance Events: unsupported Netburst CPU model 6 unsupported Netburst CPU model 6 no PMU driver, software events only.
no PMU driver, software events only.
[    0.076327] NMI watchdog: disabled (cpu0): hardware events not enabled
[    0.076327] NMI watchdog: disabled (cpu0): hardware events not enabled
[    0.077013] CPU 1 irqstacks, hard=7814a000 soft=7814c000
[    0.077013] CPU 1 irqstacks, hard=7814a000 soft=7814c000
[    0.077968] x86: Booting SMP configuration:
[    0.077968] x86: Booting SMP configuration:
[    0.080007] .... node  #0, CPUs:  
[    0.080007] .... node  #0, CPUs:         #1 #1
[    0.003333] Initializing CPU#1
[    0.006666] kvm-clock: cpu 1, msr 0:13fdf021, secondary cpu clock
[    0.006666] masked ExtINT on CPU#1
[    0.096771] x86: Booted up 1 node, 2 CPUs
[    0.096771] x86: Booted up 1 node, 2 CPUs
[    0.096748] KVM setup async PF for cpu 1
[    0.096748] KVM setup async PF for cpu 1
[    0.096749] kvm-stealtime: cpu 1, msr 125059c0
[    0.096749] kvm-stealtime: cpu 1, msr 125059c0
[    0.098933] smpboot: Total of 2 processors activated (11708.65 BogoMIPS)
[    0.098933] smpboot: Total of 2 processors activated (11708.65 BogoMIPS)
[    0.100468] gcov: version magic: 0x3430392a
[    0.100468] gcov: version magic: 0x3430392a
[    0.103861] xor: measuring software checksum speed
[    0.103861] xor: measuring software checksum speed
[    0.136678]    pIII_sse  : 10233.600 MB/sec
[    0.136678]    pIII_sse  : 10233.600 MB/sec
[    0.170011]    prefetch64-sse: 11632.800 MB/sec
[    0.170011]    prefetch64-sse: 11632.800 MB/sec
[    0.170721] xor: using function: prefetch64-sse (11632.800 MB/sec)
[    0.170721] xor: using function: prefetch64-sse (11632.800 MB/sec)
[    0.171647] prandom: seed boundary self test passed
[    0.171647] prandom: seed boundary self test passed
[    0.173117] prandom: 100 self tests passed
[    0.173117] prandom: 100 self tests passed
[    0.173348] atomic64_test: passed for i386+ platform with CX8 and with SSE
[    0.173348] atomic64_test: passed for i386+ platform with CX8 and with SSE
[    0.174968] NET: Registered protocol family 16
[    0.174968] NET: Registered protocol family 16
[    0.180124] cpuidle: using governor ladder
[    0.180124] cpuidle: using governor ladder
[    0.193403] cpuidle: using governor menu
[    0.193403] cpuidle: using governor menu
[    0.194785] ACPI: bus type PCI registered
[    0.194785] ACPI: bus type PCI registered
[    0.195647] PCI: PCI BIOS revision 2.10 entry at 0xfd456, last bus=0
[    0.195647] PCI: PCI BIOS revision 2.10 entry at 0xfd456, last bus=0
[    0.196583] PCI: Using configuration type 1 for base access
[    0.196583] PCI: Using configuration type 1 for base access
[    0.256683] raid6: mmxx1      641 MB/s
[    0.256683] raid6: mmxx1      641 MB/s
[    0.313400] raid6: mmxx2      721 MB/s
[    0.313400] raid6: mmxx2      721 MB/s
[    0.370011] raid6: sse1x1     516 MB/s
[    0.370011] raid6: sse1x1     516 MB/s
[    0.426680] raid6: sse1x2     679 MB/s
[    0.426680] raid6: sse1x2     679 MB/s
[    0.483367] raid6: sse2x1    1027 MB/s
[    0.483367] raid6: sse2x1    1027 MB/s
[    0.540028] raid6: sse2x2    1386 MB/s
[    0.540028] raid6: sse2x2    1386 MB/s
[    0.540588] raid6: using algorithm sse2x2 (1386 MB/s)
[    0.540588] raid6: using algorithm sse2x2 (1386 MB/s)
[    0.541333] raid6: using intx1 recovery algorithm
[    0.541333] raid6: using intx1 recovery algorithm
[    0.542150] ACPI: Added _OSI(Module Device)
[    0.542150] ACPI: Added _OSI(Module Device)
[    0.542770] ACPI: Added _OSI(Processor Device)
[    0.542770] ACPI: Added _OSI(Processor Device)
[    0.543338] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.543338] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.544019] ACPI: Added _OSI(Processor Aggregator Device)
[    0.544019] ACPI: Added _OSI(Processor Aggregator Device)
[    0.546196] IOAPIC[0]: Set routing entry (0-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:3)
[    0.546196] IOAPIC[0]: Set routing entry (0-9 -> 0x39 -> IRQ 9 Mode:1 Active:0 Dest:3)
[    0.549105] ACPI: Interpreter enabled
[    0.549105] ACPI: Interpreter enabled
[    0.550030] ACPI: (supports S0 S4 S5)
[    0.550030] ACPI: (supports S0 S4 S5)
[    0.550573] ACPI: Using IOAPIC for interrupt routing
[    0.550573] ACPI: Using IOAPIC for interrupt routing
[    0.551315] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.551315] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.560234] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.560234] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.561138] acpi PNP0A03:00: _OSC: OS supports [Segments]
[    0.561138] acpi PNP0A03:00: _OSC: OS supports [Segments]
[    0.561915] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.561915] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.562997] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    0.562997] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    0.563444] PCI host bridge to bus 0000:00
[    0.563444] PCI host bridge to bus 0000:00
[    0.564054] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.564054] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.564889] pci_bus 0000:00: root bus resource [io  0x0cf8-0x0cff]
[    0.564889] pci_bus 0000:00: root bus resource [io  0x0cf8-0x0cff]
[    0.566672] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.566672] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.567645] pci_bus 0000:00: root bus resource [io  0x0d00-0xadff window]
[    0.567645] pci_bus 0000:00: root bus resource [io  0x0d00-0xadff window]
[    0.568651] pci_bus 0000:00: root bus resource [io  0xae0f-0xaeff window]
[    0.568651] pci_bus 0000:00: root bus resource [io  0xae0f-0xaeff window]
[    0.570005] pci_bus 0000:00: root bus resource [io  0xaf20-0xafdf window]
[    0.570005] pci_bus 0000:00: root bus resource [io  0xaf20-0xafdf window]
[    0.570994] pci_bus 0000:00: root bus resource [io  0xafe4-0xffff window]
[    0.570994] pci_bus 0000:00: root bus resource [io  0xafe4-0xffff window]
[    0.571956] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.571956] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.573023] pci_bus 0000:00: root bus resource [mem 0x14000000-0xfebfffff window]
[    0.573023] pci_bus 0000:00: root bus resource [mem 0x14000000-0xfebfffff window]
[    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
[    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
[    0.574397] BUG: unable to handle kernel 
[    0.574397] BUG: unable to handle kernel NULL pointer dereferenceNULL pointer dereference at 000001c4
 at 000001c4
[    0.575439] IP:
[    0.575439] IP: [<79a20c33>] of_pci_dma_configure+0x33/0x70
 [<79a20c33>] of_pci_dma_configure+0x33/0x70
[    0.576231] *pde = 00000000 
[    0.576231] *pde = 00000000 

[    0.576666] Oops: 0000 [#1] 
[    0.576666] Oops: 0000 [#1] SMP SMP 

[    0.576666] Modules linked in:
[    0.576666] Modules linked in:

[    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
[    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
[    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
[    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
[    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
[    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
[    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
[    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
[    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
[    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
[    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
[    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
[    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
[    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
[    0.576666] Stack:
[    0.576666] Stack:
[    0.576666]  78011800
[    0.576666]  78011800 78011860 78011860 78069d5c 78069d5c 7976c1ac 7976c1ac 00000002 00000002 78069ce8 78069ce8 0000002e 0000002e 00000000 00000000

[    0.576666]  00001100
[    0.576666]  00001100 78011800 78011800 78011860 78011860 781d8000 781d8000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[    0.576666]  00000000
[    0.576666]  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

[    0.576666] Call Trace:
[    0.576666] Call Trace:
[    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
[    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
[    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
[    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
[    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
[    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
[    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
[    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
[    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
[    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
[    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
[    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
[    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
[    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
[    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
[    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
[    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
[    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
[    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
[    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
[    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
[    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
[    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
[    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
[    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
[    0.576666]  [<7a217695>] acpi_init+0x496/0x534
[    0.576666]  [<7a217695>] acpi_init+0x496/0x534
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
[    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
[    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
[    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
[    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
[    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
[    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
[    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
[    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
[    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
[    0.576666] Code:
[    0.576666] Code: 80 80 5c 5c c1 c1 7a 7a 01 01 89 89 5d 5d f8 f8 89 89 c3 c3 89 89 75 75 fc fc 83 83 15 15 84 84 5c 5c c1 c1 7a 7a 00 00 e8 e8 df df ec ec d4 d4 ff ff 83 83 05 05 88 88 5c 5c c1 c1 7a 7a 01 01 83 83 15 15 8c 8c 5c 5c c1 c1 7a 7a 00 00 89 89 c6 c6 8b 8b 00 00 <8b> <8b> 90 90 c4 c4 01 01 00 00 00 00 8d 8d 43 43 60 60 e8 e8 1f 1f 94 94 ff ff ff ff 89 89 f0 f0 83 83 05 05 90 90 5c 5c c1 c1

[    0.576666] EIP: [<79a20c33>] 
[    0.576666] EIP: [<79a20c33>] of_pci_dma_configure+0x33/0x70of_pci_dma_configure+0x33/0x70 SS:ESP 0068:78069cc8
 SS:ESP 0068:78069cc8
[    0.576666] CR2: 00000000000001c4
[    0.576666] CR2: 00000000000001c4
[    0.576666] ---[ end trace af448c13c817976d ]---
[    0.576666] ---[ end trace af448c13c817976d ]---
[    0.576666] Kernel panic - not syncing: Fatal exception
[    0.576666] Kernel panic - not syncing: Fatal exception

Elapsed time: 5
qemu-system-x86_64 -cpu kvm64 -enable-kvm -kernel /kernel/i386-randconfig-c1-03051522/0b2af171520e5d5e7d5b5f479b90a6a5014d9df6/vmlinuz-4.0.0-rc1-00006-g0b2af17 -append 'hung_task_panic=1 earlyprintk=ttyS0,115200 rd.udev.log-priority=err systemd.log_target=journal systemd.log_level=warning debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=-1 softlockup_panic=1 nmi_watchdog=panic oops=panic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal  root=/dev/ram0 rw link=/kbuild-tests/run-queue/kvm/i386-randconfig-c1-03051522/linux-devel:devel-hourly-2015030422:0b2af171520e5d5e7d5b5f479b90a6a5014d9df6:bisect-linux-3/.vmlinuz-0b2af171520e5d5e7d5b5f479b90a6a5014d9df6-20150305172017-14-client7 branch=linux-devel/devel-hourly-2015030422 BOOT_IMAGE=/kernel/i386-randconfig-c1-03051522/0b2af171520e5d5e7d5b5f479b90a6a5014d9df6/vmlinuz-4.0.0-rc1-00006-g0b2af17 drbd.minor_count=8'  -initrd /kernel-tests/initrd/quantal-core-i386.cgz -m 320 -smp 2 -net nic,vlan=1,model=e1000 -net user,vlan=1 -boot order=nc -no-reboot -watchdog i6300esb -rtc base=localtime -pidfile /dev/shm/kboot/pid-quantal-client7-14 -serial file:/dev/shm/kboot/serial-quantal-client7-14 -daemonize -display none -monitor null 

[-- Attachment #3: config-4.0.0-rc1-00006-g0b2af17 --]
[-- Type: text/plain, Size: 77833 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 4.0.0-rc1 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
# CONFIG_ZONE_DMA32 is not set
# CONFIG_AUDIT_ARCH is not set
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_32_SMP=y
CONFIG_X86_HT=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
CONFIG_POSIX_MQUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_FHANDLE=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
# CONFIG_AUDITSYSCALL is not set

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_IRQ_DOMAIN=y
# CONFIG_IRQ_DOMAIN_DEBUG is not set
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_SRCU=y
CONFIG_TASKS_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_FANOUT=32
CONFIG_RCU_FANOUT_LEAF=16
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
CONFIG_TREE_RCU_TRACE=y
CONFIG_RCU_KTHREAD_PRIO=0
CONFIG_RCU_NOCB_CPU=y
# CONFIG_RCU_NOCB_CPU_NONE is not set
# CONFIG_RCU_NOCB_CPU_ZERO is not set
CONFIG_RCU_NOCB_CPU_ALL=y
CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_FREEZER=y
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CPUSETS is not set
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_MEMCG is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_RT_GROUP_SCHED=y
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
CONFIG_USER_NS=y
# CONFIG_PID_NS is not set
CONFIG_NET_NS=y
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_ANON_INODES=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
CONFIG_EXPERT=y
# CONFIG_UID16 is not set
CONFIG_SGETMASK_SYSCALL=y
# CONFIG_SYSFS_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_PRINTK=y
CONFIG_BUG=y
# CONFIG_PCSPKR_PLATFORM is not set
# CONFIG_BASE_FULL is not set
CONFIG_FUTEX=y
CONFIG_EPOLL=y
# CONFIG_SIGNALFD is not set
# CONFIG_TIMERFD is not set
# CONFIG_EVENTFD is not set
CONFIG_BPF_SYSCALL=y
# CONFIG_SHMEM is not set
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_PCI_QUIRKS=y
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_SLUB_DEBUG is not set
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_OPROFILE=m
CONFIG_OPROFILE_EVENT_MULTIPLEX=y
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_OPTPROBES=y
CONFIG_UPROBES=y
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_CC_STACKPROTECTOR_NONE is not set
CONFIG_CC_STACKPROTECTOR_REGULAR=y
# CONFIG_CC_STACKPROTECTOR_STRONG is not set
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y

#
# GCOV-based kernel profiling
#
CONFIG_GCOV_KERNEL=y
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_GCOV_PROFILE_ALL=y
CONFIG_GCOV_FORMAT_AUTODETECT=y
# CONFIG_GCOV_FORMAT_3_4 is not set
# CONFIG_GCOV_FORMAT_4_7 is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=1
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
# CONFIG_MODULE_UNLOAD is not set
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
# CONFIG_MODULE_SIG_ALL is not set
CONFIG_MODULE_SIG_SHA1=y
# CONFIG_MODULE_SIG_SHA224 is not set
# CONFIG_MODULE_SIG_SHA256 is not set
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
CONFIG_MODULE_SIG_HASH="sha1"
CONFIG_MODULE_COMPRESS=y
CONFIG_MODULE_COMPRESS_GZIP=y
# CONFIG_MODULE_COMPRESS_XZ is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
# CONFIG_LBDAF is not set
CONFIG_BLK_DEV_BSG=y
# CONFIG_BLK_DEV_BSGLIB is not set
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_CMDLINE_PARSER is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_AMIGA_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_EFI_PARTITION=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_CFQ_GROUP_IOSCHED is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop"
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUE_RWLOCK=y
CONFIG_QUEUE_RWLOCK=y
CONFIG_FREEZER=y

#
# Processor type and features
#
# CONFIG_ZONE_DMA is not set
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_MPPARSE=y
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set
# CONFIG_X86_INTEL_LPSS is not set
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
# CONFIG_IOSF_MBI is not set
# CONFIG_X86_32_IRIS is not set
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_DEBUG is not set
# CONFIG_PARAVIRT_SPINLOCKS is not set
CONFIG_KVM_GUEST=y
# CONFIG_KVM_DEBUG_FS is not set
# CONFIG_LGUEST_GUEST is not set
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MELAN is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
CONFIG_MVIAC3_2=y
# CONFIG_MVIAC7 is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_INTERNODE_CACHE_SHIFT=5
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_PROCESSOR_SELECT is not set
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_TRANSMETA_32=y
CONFIG_CPU_SUP_UMC_32=y
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
CONFIG_NR_CPUS=8
# CONFIG_SCHED_SMT is not set
# CONFIG_SCHED_MC is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_X86_UP_APIC_MSI=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_INTEL is not set
CONFIG_X86_MCE_AMD=y
# CONFIG_X86_ANCIENT_MCE is not set
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=y
# CONFIG_VM86 is not set
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX32=y
# CONFIG_TOSHIBA is not set
CONFIG_I8K=y
# CONFIG_X86_REBOOTFIXUPS is not set
CONFIG_MICROCODE=m
# CONFIG_MICROCODE_INTEL is not set
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_MICROCODE_INTEL_EARLY is not set
# CONFIG_MICROCODE_AMD_EARLY is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
# CONFIG_VMSPLIT_3G is not set
# CONFIG_VMSPLIT_3G_OPT is not set
# CONFIG_VMSPLIT_2G is not set
CONFIG_VMSPLIT_2G_OPT=y
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0x78000000
CONFIG_HIGHMEM=y
CONFIG_NEED_NODE_MEMMAP_SIZE=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_MEMORY_ISOLATION=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
# CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=0
# CONFIG_BOUNCE is not set
CONFIG_NEED_BOUNCE_POOL=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_TRANSPARENT_HUGEPAGE=y
# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# CONFIG_CLEANCACHE is not set
CONFIG_FRONTSWAP=y
CONFIG_CMA=y
CONFIG_CMA_DEBUG=y
CONFIG_CMA_AREAS=7
CONFIG_ZSWAP=y
CONFIG_ZPOOL=y
# CONFIG_ZBUD is not set
CONFIG_ZSMALLOC=y
CONFIG_PGTABLE_MAPPING=y
CONFIG_ZSMALLOC_STAT=y
CONFIG_GENERIC_EARLY_IOREMAP=y
# CONFIG_HIGHPTE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MATH_EMULATION=y
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
# CONFIG_X86_SMAP is not set
CONFIG_X86_INTEL_MPX=y
# CONFIG_EFI is not set
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
# CONFIG_SCHED_HRTICK is not set
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_X86_NEED_RELOCS=y
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_HOTPLUG_CPU=y
CONFIG_BOOTPARAM_HOTPLUG_CPU0=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management and ACPI options
#
# CONFIG_SUSPEND is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_AUTOSLEEP=y
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_EC_DEBUGFS is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_CUSTOM_DSDT_FILE=""
# CONFIG_ACPI_CUSTOM_DSDT is not set
# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not set
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_CUSTOM_METHOD is not set
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
# CONFIG_ACPI_APEI is not set
# CONFIG_ACPI_EXTLOG is not set
# CONFIG_PMIC_OPREGION is not set
# CONFIG_SFI is not set
CONFIG_X86_APM_BOOT=y
CONFIG_APM=m
CONFIG_APM_IGNORE_USER_SUSPEND=y
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
CONFIG_APM_DISPLAY_BLANK=y
# CONFIG_APM_ALLOW_INTS is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
# CONFIG_X86_ACPI_CPUFREQ is not set
CONFIG_X86_POWERNOW_K6=y
CONFIG_X86_POWERNOW_K7=y
CONFIG_X86_POWERNOW_K7_ACPI=y
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_ICH=y
CONFIG_X86_SPEEDSTEP_SMI=y
CONFIG_X86_P4_CLOCKMOD=m
CONFIG_X86_CPUFREQ_NFORCE2=m
CONFIG_X86_LONGRUN=m
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_E_POWERSAVER is not set

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
CONFIG_INTEL_IDLE=y

#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOOLPC is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_OLPC=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCIEPORTBUS is not set
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
# CONFIG_PCI_STUB is not set
CONFIG_HT_IRQ=y
# CONFIG_PCI_IOV is not set
# CONFIG_PCI_PRI is not set
# CONFIG_PCI_PASID is not set
CONFIG_PCI_LABEL=y

#
# PCI host controller drivers
#
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
CONFIG_SCx200=y
CONFIG_SCx200HR_TIMER=m
CONFIG_OLPC=y
# CONFIG_OLPC_XO15_SCI is not set
CONFIG_ALIX=y
# CONFIG_NET5501 is not set
CONFIG_GEOS=y
CONFIG_AMD_NB=y
CONFIG_PCCARD=m
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
# CONFIG_YENTA is not set
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_RAPIDIO is not set
# CONFIG_X86_SYSFB is not set

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_HAVE_AOUT=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=y
# CONFIG_COREDUMP is not set
CONFIG_HAVE_ATOMIC_IOMAP=y
CONFIG_PMC_ATOM=y
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=y
# CONFIG_NET_KEY is not set
# CONFIG_INET is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
# CONFIG_NETFILTER is not set
CONFIG_ATM=y
CONFIG_ATM_LANE=m
# CONFIG_BRIDGE is not set
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_HWMON=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
# CONFIG_VLAN_8021Q is not set
CONFIG_DECNET=m
CONFIG_DECNET_ROUTER=y
CONFIG_LLC=y
CONFIG_LLC2=y
# CONFIG_IPX is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_X25=y
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
# CONFIG_NET_SCH_CBQ is not set
# CONFIG_NET_SCH_HTB is not set
# CONFIG_NET_SCH_HFSC is not set
# CONFIG_NET_SCH_ATM is not set
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
# CONFIG_NET_SCH_SFB is not set
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
# CONFIG_NET_SCH_GRED is not set
CONFIG_NET_SCH_DSMARK=y
# CONFIG_NET_SCH_NETEM is not set
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=y
CONFIG_NET_SCH_PIE=m
CONFIG_NET_SCH_PLUG=y

#
# Classification
#
CONFIG_NET_CLS=y
# CONFIG_NET_CLS_BASIC is not set
# CONFIG_NET_CLS_TCINDEX is not set
# CONFIG_NET_CLS_FW is not set
# CONFIG_NET_CLS_U32 is not set
# CONFIG_NET_CLS_RSVP is not set
# CONFIG_NET_CLS_RSVP6 is not set
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
# CONFIG_NET_CLS_BPF is not set
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
# CONFIG_NET_EMATCH_U32 is not set
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
# CONFIG_NET_EMATCH_CANID is not set
# CONFIG_NET_CLS_ACT is not set
CONFIG_NET_SCH_FIFO=y
# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
# CONFIG_BATMAN_ADV_DEBUG is not set
CONFIG_VSOCKETS=y
# CONFIG_NETLINK_MMAP is not set
# CONFIG_NETLINK_DIAG is not set
CONFIG_NET_MPLS_GSO=y
CONFIG_HSR=m
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
# CONFIG_AX25_DAMA_SLAVE is not set
# CONFIG_NETROM is not set
CONFIG_ROSE=m

#
# AX.25 network device drivers
#
# CONFIG_MKISS is not set
CONFIG_6PACK=y
CONFIG_BPQETHER=y
CONFIG_BAYCOM_SER_FDX=y
# CONFIG_BAYCOM_SER_HDX is not set
CONFIG_YAM=y
CONFIG_CAN=y
CONFIG_CAN_RAW=m
# CONFIG_CAN_BCM is not set
CONFIG_CAN_GW=y

#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=m
CONFIG_CAN_SLCAN=m
CONFIG_CAN_DEV=m
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_LEDS=y
# CONFIG_PCH_CAN is not set
CONFIG_CAN_GRCAN=m
CONFIG_CAN_SJA1000=m
# CONFIG_CAN_SJA1000_ISA is not set
# CONFIG_CAN_SJA1000_PLATFORM is not set
# CONFIG_CAN_EMS_PCMCIA is not set
# CONFIG_CAN_EMS_PCI is not set
CONFIG_CAN_PEAK_PCMCIA=m
# CONFIG_CAN_PEAK_PCI is not set
# CONFIG_CAN_KVASER_PCI is not set
# CONFIG_CAN_PLX_PCI is not set
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
# CONFIG_CAN_C_CAN_PCI is not set
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_CC770 is not set
# CONFIG_CAN_SOFTING is not set
# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_IRDA=y

#
# IrDA protocols
#
CONFIG_IRLAN=y
# CONFIG_IRCOMM is not set
# CONFIG_IRDA_ULTRA is not set

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
# CONFIG_IRDA_FAST_RR is not set
CONFIG_IRDA_DEBUG=y

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=y

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=m
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=m
CONFIG_TOIM3232_DONGLE=m
CONFIG_LITELINK_DONGLE=y
CONFIG_MA600_DONGLE=y
CONFIG_GIRBIL_DONGLE=m
CONFIG_MCP2120_DONGLE=y
CONFIG_OLD_BELKIN_DONGLE=m
CONFIG_ACT200L_DONGLE=y

#
# FIR device drivers
#
# CONFIG_NSC_FIR is not set
CONFIG_WINBOND_FIR=m
# CONFIG_TOSHIBA_FIR is not set
CONFIG_SMC_IRCC_FIR=m
# CONFIG_ALI_FIR is not set
# CONFIG_VLSI_FIR is not set
CONFIG_VIA_FIR=y
# CONFIG_BT is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_CFG80211=m
CONFIG_NL80211_TESTMODE=y
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
# CONFIG_LIB80211 is not set
CONFIG_MAC80211=m
# CONFIG_MAC80211_RC_MINSTREL is not set
CONFIG_MAC80211_RC_DEFAULT=""

#
# Some wireless drivers require a rate control algorithm
#
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_MESSAGE_TRACING=y
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_WIMAX is not set
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
# CONFIG_RFKILL_INPUT is not set
# CONFIG_RFKILL_REGULATOR is not set
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=m
CONFIG_NET_9P_DEBUG=y
CONFIG_CAIF=m
# CONFIG_CAIF_DEBUG is not set
CONFIG_CAIF_NETDEV=m
CONFIG_CAIF_USB=m
# CONFIG_NFC is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
# CONFIG_UEVENT_HELPER is not set
# CONFIG_DEVTMPFS is not set
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_GENERIC_CPU_DEVICES is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_FENCE_TRACE=y
CONFIG_DMA_CMA=y

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_CMA_SIZE_PERCENTAGE=0
# CONFIG_CMA_SIZE_SEL_MBYTES is not set
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
CONFIG_CMA_SIZE_SEL_MAX=y
CONFIG_CMA_ALIGNMENT=8

#
# Bus devices
#
CONFIG_CONNECTOR=y
# CONFIG_PROC_EVENTS is not set
CONFIG_MTD=y
CONFIG_MTD_TESTS=m
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
CONFIG_MTD_REDBOOT_PARTS_READONLY=y
# CONFIG_MTD_CMDLINE_PARTS is not set
CONFIG_MTD_OF_PARTS=y
CONFIG_MTD_AR7_PARTS=m

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_FTL=y
# CONFIG_NFTL is not set
CONFIG_INFTL=y
# CONFIG_RFD_FTL is not set
CONFIG_SSFDC=m
CONFIG_SM_FTL=m
CONFIG_MTD_OOPS=y
# CONFIG_MTD_SWAP is not set

#
# RAM/ROM/Flash chip drivers
#
# CONFIG_MTD_CFI is not set
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
# CONFIG_MTD_CFI_NOSWAP is not set
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
CONFIG_MTD_CFI_LE_BYTE_SWAP=y
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
# CONFIG_MTD_CFI_I1 is not set
# CONFIG_MTD_CFI_I2 is not set
CONFIG_MTD_CFI_I4=y
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_OTP=y
# CONFIG_MTD_CFI_INTELEXT is not set
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_RAM=y
CONFIG_MTD_ROM=y
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=m
CONFIG_MTD_PHYSMAP_COMPAT=y
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_PHYSMAP_OF is not set
# CONFIG_MTD_AMD76XROM is not set
CONFIG_MTD_ICHXROM=y
# CONFIG_MTD_ESB2ROM is not set
# CONFIG_MTD_CK804XROM is not set
# CONFIG_MTD_SCB2_FLASH is not set
CONFIG_MTD_NETtel=m
CONFIG_MTD_L440GX=m
# CONFIG_MTD_INTEL_VR_NOR is not set
CONFIG_MTD_PLATRAM=m

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_PMC551 is not set
CONFIG_MTD_SLRAM=m
# CONFIG_MTD_PHRAM is not set
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTDRAM_ABS_POS=0
# CONFIG_MTD_BLOCK2MTD is not set

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_DOCG3=y
CONFIG_BCH_CONST_M=14
CONFIG_BCH_CONST_T=4
CONFIG_MTD_NAND_ECC=m
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=m
CONFIG_MTD_NAND_BCH=m
CONFIG_MTD_NAND_ECC_BCH=y
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_DENALI is not set
CONFIG_MTD_NAND_GPIO=m
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
CONFIG_MTD_NAND_IDS=m
# CONFIG_MTD_NAND_RICOH is not set
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_DOCG4 is not set
# CONFIG_MTD_NAND_CAFE is not set
CONFIG_MTD_NAND_CS553X=m
CONFIG_MTD_NAND_NANDSIM=m
CONFIG_MTD_NAND_PLATFORM=m
CONFIG_MTD_NAND_HISI504=m
CONFIG_MTD_ONENAND=m
# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
# CONFIG_MTD_ONENAND_GENERIC is not set
# CONFIG_MTD_ONENAND_OTP is not set
CONFIG_MTD_ONENAND_2X_PROGRAM=y

#
# LPDDR & LPDDR2 PCM memory drivers
#
CONFIG_MTD_LPDDR=m
CONFIG_MTD_QINFO_PROBE=m
# CONFIG_MTD_SPI_NOR is not set
# CONFIG_MTD_UBI is not set
CONFIG_OF=y

#
# Device Tree and Open Firmware support
#
CONFIG_OF_PROMTREE=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_ADDRESS_PCI=y
CONFIG_OF_IRQ=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
CONFIG_OF_PCI=y
CONFIG_OF_PCI_IRQ=y
CONFIG_OF_MTD=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
# CONFIG_PARPORT is not set
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_ZRAM is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
# CONFIG_BLK_DEV_LOOP is not set

#
# DRBD disabled because PROC_FS or INET not selected
#
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_NVME is not set
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_BLK_DEV_HD=y
# CONFIG_BLK_DEV_RSXX is not set

#
# Misc devices
#
# CONFIG_SENSORS_LIS3LV02D is not set
CONFIG_DUMMY_IRQ=y
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set
# CONFIG_VMWARE_BALLOON is not set
# CONFIG_PCH_PHUB is not set
CONFIG_SRAM=y
# CONFIG_C2PORT is not set

#
# EEPROM support
#
CONFIG_EEPROM_93CX6=m
# CONFIG_CB710_CORE is not set

#
# Texas Instruments shared transport line discipline
#
CONFIG_TI_ST=m

#
# Altera FPGA firmware download module
#
# CONFIG_INTEL_MEI is not set
# CONFIG_INTEL_MEI_ME is not set
# CONFIG_INTEL_MEI_TXE is not set
# CONFIG_VMWARE_VMCI is not set

#
# Intel MIC Bus Driver
#

#
# Intel MIC Host Driver
#

#
# Intel MIC Card Driver
#
# CONFIG_ECHO is not set
# CONFIG_CXL_BASE is not set
CONFIG_HAVE_IDE=y
CONFIG_IDE=y

#
# Please see Documentation/ide/ide.txt for help/info on IDE drives
#
CONFIG_IDE_ATAPI=y
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_IDE_GD is not set
CONFIG_BLK_DEV_IDECS=m
# CONFIG_BLK_DEV_DELKIN is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS is not set
CONFIG_BLK_DEV_IDETAPE=m
# CONFIG_BLK_DEV_IDEACPI is not set
CONFIG_IDE_TASK_IOCTL=y
# CONFIG_IDE_PROC_FS is not set

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
# CONFIG_BLK_DEV_PLATFORM is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_IDEPNP is not set

#
# PCI IDE chipsets support
#
# CONFIG_BLK_DEV_GENERIC is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_CS5535 is not set
# CONFIG_BLK_DEV_CS5536 is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_JMICRON is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_IT8172 is not set
# CONFIG_BLK_DEV_IT8213 is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_TC86C001 is not set
# CONFIG_BLK_DEV_IDEDMA is not set

#
# SCSI device support
#
CONFIG_SCSI_MOD=m
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
# CONFIG_SCSI_MQ_DEFAULT is not set
# CONFIG_SCSI_PROC_FS is not set

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
# CONFIG_BLK_DEV_SR is not set
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
# CONFIG_SCSI_ISCSI_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=m
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_BOOT_SYSFS=m
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
CONFIG_SCSI_UFSHCD=m
# CONFIG_SCSI_UFSHCD_PCI is not set
CONFIG_SCSI_UFSHCD_PLATFORM=m
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_VMWARE_PVSCSI is not set
CONFIG_LIBFC=m
# CONFIG_LIBFCOE is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_NSP32 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_CHELSIO_FCOE is not set
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
# CONFIG_PCMCIA_FDOMAIN is not set
CONFIG_PCMCIA_NINJA_SCSI=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
CONFIG_SCSI_DH=m
# CONFIG_SCSI_DH_RDAC is not set
CONFIG_SCSI_DH_HP_SW=m
CONFIG_SCSI_DH_EMC=m
CONFIG_SCSI_DH_ALUA=m
# CONFIG_SCSI_OSD_INITIATOR is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER=m
CONFIG_LOOPBACK_TARGET=m
# CONFIG_TCM_FC is not set
CONFIG_ISCSI_TARGET=m
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
CONFIG_DUMMY=y
CONFIG_EQUALIZER=m
# CONFIG_NET_FC is not set
CONFIG_NET_TEAM=m
CONFIG_NET_TEAM_MODE_BROADCAST=m
CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
CONFIG_NET_TEAM_MODE_RANDOM=m
# CONFIG_NET_TEAM_MODE_ACTIVEBACKUP is not set
CONFIG_NET_TEAM_MODE_LOADBALANCE=m
# CONFIG_MACVLAN is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
# CONFIG_VETH is not set
# CONFIG_NLMON is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
CONFIG_ATM_DUMMY=m
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_FIRESTREAM is not set
# CONFIG_ATM_ZATM is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_AMBASSADOR is not set
# CONFIG_ATM_HORIZON is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set

#
# CAIF transport drivers
#
# CONFIG_CAIF_TTY is not set
CONFIG_CAIF_SPI_SLAVE=m
CONFIG_CAIF_SPI_SYNC=y
# CONFIG_CAIF_HSI is not set
# CONFIG_CAIF_VIRTIO is not set

#
# Distributed Switch Architecture drivers
#
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=m
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA_MV88E6123_61_65=y
# CONFIG_NET_DSA_MV88E6171 is not set
# CONFIG_NET_DSA_MV88E6352 is not set
# CONFIG_NET_DSA_BCM_SF2 is not set
# CONFIG_ETHERNET is not set
# CONFIG_FDDI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_AT803X_PHY is not set
# CONFIG_AMD_PHY is not set
CONFIG_AMD_XGBE_PHY=y
# CONFIG_MARVELL_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
CONFIG_SMSC_PHY=y
CONFIG_BROADCOM_PHY=y
# CONFIG_BCM7XXX_PHY is not set
CONFIG_BCM87XX_PHY=y
# CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
CONFIG_STE10XP=y
CONFIG_LSI_ET1011C_PHY=m
CONFIG_MICREL_PHY=m
CONFIG_FIXED_PHY=m
# CONFIG_MDIO_BITBANG is not set
CONFIG_MDIO_BUS_MUX=y
# CONFIG_MDIO_BUS_MUX_GPIO is not set
CONFIG_MDIO_BUS_MUX_MMIOREG=y
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set

#
# Host-side USB support is needed for USB Network Adapter support
#
# CONFIG_WLAN is not set

#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
CONFIG_WAN=y
# CONFIG_LANMEDIA is not set
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=m
CONFIG_HDLC_CISCO=m
# CONFIG_HDLC_FR is not set
CONFIG_HDLC_PPP=m

#
# X.25/LAPB support is disabled
#
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
# CONFIG_PC300TOO is not set
# CONFIG_FARSYNC is not set
# CONFIG_DSCC4 is not set
CONFIG_DLCI=m
CONFIG_DLCI_MAX=8
CONFIG_SBNI=y
CONFIG_SBNI_MULTILINE=y
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_SPARSEKMAP=m
# CONFIG_INPUT_MATRIXKMAP is not set

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=m
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=m
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CROS_EC is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=y
CONFIG_JOYSTICK_A3D=y
# CONFIG_JOYSTICK_ADI is not set
CONFIG_JOYSTICK_COBRA=m
CONFIG_JOYSTICK_GF2K=m
# CONFIG_JOYSTICK_GRIP is not set
CONFIG_JOYSTICK_GRIP_MP=m
# CONFIG_JOYSTICK_GUILLEMOT is not set
CONFIG_JOYSTICK_INTERACT=y
CONFIG_JOYSTICK_SIDEWINDER=m
CONFIG_JOYSTICK_TMDC=y
# CONFIG_JOYSTICK_IFORCE is not set
CONFIG_JOYSTICK_WARRIOR=m
CONFIG_JOYSTICK_MAGELLAN=y
CONFIG_JOYSTICK_SPACEORB=y
CONFIG_JOYSTICK_SPACEBALL=y
CONFIG_JOYSTICK_STINGER=y
# CONFIG_JOYSTICK_TWIDJOY is not set
CONFIG_JOYSTICK_ZHENHUA=m
CONFIG_JOYSTICK_JOYDUMP=y
# CONFIG_JOYSTICK_XPAD is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=y
CONFIG_SERIO_ALTERA_PS2=y
CONFIG_SERIO_PS2MULT=y
# CONFIG_SERIO_ARC_PS2 is not set
CONFIG_SERIO_APBPS2=y
CONFIG_SERIO_OLPC_APSP=m
CONFIG_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
CONFIG_GAMEPORT_L4=y
# CONFIG_GAMEPORT_EMU10K1 is not set
# CONFIG_GAMEPORT_FM801 is not set

#
# Character devices
#
CONFIG_TTY=y
# CONFIG_VT is not set
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
# CONFIG_SYNCLINK_GT is not set
# CONFIG_NOZOMI is not set
# CONFIG_ISI is not set
CONFIG_N_HDLC=y
CONFIG_N_GSM=m
CONFIG_TRACE_ROUTER=m
CONFIG_TRACE_SINK=m
CONFIG_DEVMEM=y
CONFIG_DEVKMEM=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_RSA is not set
# CONFIG_SERIAL_8250_DW is not set
# CONFIG_SERIAL_8250_FINTEK is not set

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MFD_HSU is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_OF_PLATFORM is not set
# CONFIG_SERIAL_SCCNXP is not set
CONFIG_SERIAL_TIMBERDALE=y
CONFIG_SERIAL_ALTERA_JTAGUART=y
# CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_PCH_UART is not set
CONFIG_SERIAL_XILINX_PS_UART=y
# CONFIG_SERIAL_XILINX_PS_UART_CONSOLE is not set
CONFIG_SERIAL_ARC=y
CONFIG_SERIAL_ARC_CONSOLE=y
CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_RP2 is not set
CONFIG_SERIAL_FSL_LPUART=y
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
CONFIG_SERIAL_CONEXANT_DIGICOLOR=y
CONFIG_SERIAL_CONEXANT_DIGICOLOR_CONSOLE=y
CONFIG_SERIAL_MEN_Z135=m
# CONFIG_TTY_PRINTK is not set
# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_TPM=m
CONFIG_NVRAM=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=m
# CONFIG_CARDMAN_4000 is not set
CONFIG_CARDMAN_4040=m
# CONFIG_IPWIRELESS is not set
CONFIG_MWAVE=y
CONFIG_SCx200_GPIO=y
# CONFIG_PC8736x_GPIO is not set
CONFIG_NSC_GPIO=y
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
CONFIG_HANGCHECK_TIMER=y
CONFIG_TCG_TPM=y
# CONFIG_TCG_TIS is not set
# CONFIG_TCG_NSC is not set
# CONFIG_TCG_ATMEL is not set
# CONFIG_TCG_INFINEON is not set
# CONFIG_TCG_CRB is not set
CONFIG_TELCLOCK=m
CONFIG_DEVPORT=y
CONFIG_XILLYBUS=m
CONFIG_XILLYBUS_OF=m

#
# I2C support
#
# CONFIG_I2C is not set
# CONFIG_SPI is not set
CONFIG_SPMI=m
CONFIG_HSI=y
CONFIG_HSI_BOARDINFO=y

#
# HSI controllers
#

#
# HSI clients
#
CONFIG_HSI_CHAR=m

#
# PPS support
#
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
CONFIG_PPS_CLIENT_KTIMER=y
CONFIG_PPS_CLIENT_LDISC=y
CONFIG_PPS_CLIENT_GPIO=y

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=m
CONFIG_DP83640_PHY=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_DEVRES=y
CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_DEBUG_GPIO=y
# CONFIG_GPIO_SYSFS is not set
CONFIG_GPIO_GENERIC=y

#
# Memory mapped GPIO drivers:
#
CONFIG_GPIO_74XX_MMIO=m
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_IT8761E=y
# CONFIG_GPIO_F7188X is not set
CONFIG_GPIO_SCH311X=y
CONFIG_GPIO_SYSCON=m
CONFIG_GPIO_XILINX=y
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_ICH is not set
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_LYNXPOINT is not set
CONFIG_GPIO_GRGPIO=y

#
# I2C GPIO expanders:
#

#
# PCI GPIO expanders:
#
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_INTEL_MID is not set
# CONFIG_GPIO_PCH is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_SODAVILLE is not set
# CONFIG_GPIO_RDC321X is not set

#
# SPI GPIO expanders:
#

#
# AC97 GPIO expanders:
#

#
# LPC GPIO expanders:
#

#
# MODULbus GPIO expanders:
#

#
# USB GPIO expanders:
#
CONFIG_W1=y
# CONFIG_W1_CON is not set

#
# 1-wire Bus Masters
#
# CONFIG_W1_MASTER_MATROX is not set
CONFIG_W1_MASTER_DS1WM=m
CONFIG_W1_MASTER_GPIO=m

#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=m
CONFIG_W1_SLAVE_SMEM=y
# CONFIG_W1_SLAVE_DS2408 is not set
CONFIG_W1_SLAVE_DS2413=m
CONFIG_W1_SLAVE_DS2406=m
CONFIG_W1_SLAVE_DS2423=y
CONFIG_W1_SLAVE_DS2431=y
CONFIG_W1_SLAVE_DS2433=y
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=m
CONFIG_W1_SLAVE_DS2780=y
CONFIG_W1_SLAVE_DS2781=y
CONFIG_W1_SLAVE_DS28E04=y
CONFIG_W1_SLAVE_BQ27000=y
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_PDA_POWER=m
CONFIG_TEST_POWER=m
# CONFIG_BATTERY_DS2760 is not set
CONFIG_BATTERY_DS2780=y
# CONFIG_BATTERY_DS2781 is not set
CONFIG_BATTERY_OLPC=m
CONFIG_BATTERY_BQ27x00=m
CONFIG_BATTERY_BQ27X00_PLATFORM=y
CONFIG_CHARGER_MAX8903=y
CONFIG_CHARGER_GPIO=y
# CONFIG_CHARGER_MANAGER is not set
CONFIG_POWER_RESET=y
# CONFIG_POWER_RESET_GPIO is not set
CONFIG_POWER_RESET_GPIO_RESTART=y
# CONFIG_POWER_RESET_LTC2952 is not set
# CONFIG_POWER_RESET_RESTART is not set
# CONFIG_POWER_RESET_SYSCON is not set
# CONFIG_POWER_AVS is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_HWMON_DEBUG_CHIP=y

#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
CONFIG_SENSORS_ABITUGURU3=m
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_FAM15H_POWER is not set
CONFIG_SENSORS_APPLESMC=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_F71805F=y
# CONFIG_SENSORS_F71882FG is not set
CONFIG_SENSORS_GPIO_FAN=m
# CONFIG_SENSORS_I5500 is not set
CONFIG_SENSORS_CORETEMP=y
CONFIG_SENSORS_IT87=y
# CONFIG_SENSORS_MAX197 is not set
CONFIG_SENSORS_PC87360=m
# CONFIG_SENSORS_PC87427 is not set
CONFIG_SENSORS_NTC_THERMISTOR=y
# CONFIG_SENSORS_NCT6683 is not set
CONFIG_SENSORS_NCT6775=y
# CONFIG_SENSORS_SHT15 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SCH56XX_COMMON=y
CONFIG_SENSORS_SCH5627=y
# CONFIG_SENSORS_SCH5636 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set

#
# ACPI drivers
#
# CONFIG_SENSORS_ACPI_POWER is not set
# CONFIG_SENSORS_ATK0110 is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_OF=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_BANG_BANG is not set
# CONFIG_THERMAL_GOV_USER_SPACE is not set
# CONFIG_CPU_THERMAL is not set
# CONFIG_THERMAL_EMULATION is not set
# CONFIG_INTEL_POWERCLAMP is not set
# CONFIG_INT340X_THERMAL is not set

#
# Texas Instruments thermal drivers
#
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_NOWAYOUT=y

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_GPIO_WATCHDOG=m
CONFIG_XILINX_WATCHDOG=m
CONFIG_DW_WATCHDOG=m
# CONFIG_ACQUIRE_WDT is not set
CONFIG_ADVANTECH_WDT=y
# CONFIG_ALIM1535_WDT is not set
# CONFIG_ALIM7101_WDT is not set
CONFIG_F71808E_WDT=y
# CONFIG_SP5100_TCO is not set
CONFIG_SBC_FITPC2_WATCHDOG=y
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
CONFIG_IBMASR=m
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
# CONFIG_IE6XX_WDT is not set
# CONFIG_ITCO_WDT is not set
CONFIG_IT8712F_WDT=m
CONFIG_IT87_WDT=y
# CONFIG_HP_WATCHDOG is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_SCx200_WDT is not set
# CONFIG_PC87413_WDT is not set
# CONFIG_NV_TCO is not set
CONFIG_60XX_WDT=y
# CONFIG_SBC8360_WDT is not set
CONFIG_SBC7240_WDT=y
CONFIG_CPU5_WDT=m
# CONFIG_SMSC_SCH311X_WDT is not set
CONFIG_SMSC37B787_WDT=m
# CONFIG_VIA_WDT is not set
# CONFIG_W83627HF_WDT is not set
CONFIG_W83877F_WDT=m
# CONFIG_W83977F_WDT is not set
# CONFIG_MACHZ_WDT is not set
CONFIG_SBC_EPX_C3_WATCHDOG=y
CONFIG_MEN_A21_WDT=m

#
# PCI-based Watchdog Cards
#
# CONFIG_PCIPCWATCHDOG is not set
# CONFIG_WDTPCI is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y

#
# Broadcom specific AMBA
#
CONFIG_BCMA=m
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
CONFIG_BCMA_DRIVER_GMAC_CMN=y
# CONFIG_BCMA_DRIVER_GPIO is not set
CONFIG_BCMA_DEBUG=y

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_CS5535 is not set
CONFIG_MFD_ATMEL_HLCDC=y
CONFIG_MFD_CROS_EC=y
CONFIG_MFD_HI6421_PMIC=m
CONFIG_HTC_PASIC3=y
# CONFIG_LPC_ICH is not set
# CONFIG_LPC_SCH is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RTSX_PCI is not set
# CONFIG_MFD_SM501 is not set
CONFIG_ABX500_CORE=y
CONFIG_MFD_SYSCON=y
# CONFIG_MFD_TI_AM335X_TSCADC is not set
CONFIG_MFD_TPS65912=y
# CONFIG_MFD_TIMBERDALE is not set
# CONFIG_MFD_TMIO is not set
# CONFIG_MFD_VX855 is not set
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
CONFIG_REGULATOR_VIRTUAL_CONSUMER=m
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_GPIO=y
# CONFIG_REGULATOR_HI6421 is not set
CONFIG_MEDIA_SUPPORT=y

#
# Multimedia core support
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
# CONFIG_MEDIA_RC_SUPPORT is not set
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_DEV=y
# CONFIG_VIDEO_V4L2_SUBDEV_API is not set
CONFIG_VIDEO_V4L2=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_V4L2_MEM2MEM_DEV=m
CONFIG_VIDEOBUF2_CORE=m
CONFIG_VIDEOBUF2_MEMOPS=m
CONFIG_VIDEOBUF2_VMALLOC=m
CONFIG_DVB_CORE=y
CONFIG_DVB_MAX_ADAPTERS=8
# CONFIG_DVB_DYNAMIC_MINORS is not set

#
# Media drivers
#
# CONFIG_MEDIA_PCI_SUPPORT is not set
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_V4L_MEM2MEM_DRIVERS is not set
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIVID=m
CONFIG_VIDEO_VIM2M=m

#
# Supported MMC/SDIO adapters
#
CONFIG_RADIO_ADAPTERS=y
# CONFIG_RADIO_SI470X is not set
# CONFIG_RADIO_SI4713 is not set
# CONFIG_RADIO_MAXIRADIO is not set

#
# Texas Instruments WL128x FM driver (ST based)
#
CONFIG_RADIO_WL128X=m

#
# Media ancillary drivers (tuners, sensors, i2c, frontends)
#
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
CONFIG_MEDIA_ATTACH=y

#
# Encoders, decoders, sensors and other helper chips
#

#
# Audio decoders, processors and mixers
#

#
# RDS decoders
#

#
# Video decoders
#

#
# Video and audio decoders
#

#
# Video encoders
#

#
# Camera sensor devices
#

#
# Flash devices
#

#
# Video improvement chips
#

#
# Audio/Video compression chips
#

#
# Miscellaneous helper chips
#

#
# Sensors used on soc_camera driver
#

#
# Customize TV tuners
#

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#

#
# Multistandard (cable + terrestrial) frontends
#

#
# DVB-S (satellite) frontends
#

#
# DVB-T (terrestrial) frontends
#
# CONFIG_DVB_AS102_FE is not set

#
# DVB-C (cable) frontends
#

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#

#
# ISDB-T (terrestrial) frontends
#

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#

#
# Digital terrestrial only tuners/PLL
#

#
# SEC control devices for DVB-S
#

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set

#
# Graphics support
#
# CONFIG_AGP is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
# CONFIG_VGA_SWITCHEROO is not set

#
# Direct Rendering Manager
#
# CONFIG_DRM is not set

#
# Frame buffer Devices
#
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CMDLINE=y
# CONFIG_FB_DDC is not set
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_ARC=y
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_UVESA=y
# CONFIG_FB_VESA is not set
# CONFIG_FB_N411 is not set
CONFIG_FB_HGA=y
CONFIG_FB_OPENCORES=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not set
# CONFIG_FB_AUO_K190X is not set
# CONFIG_FB_SIMPLE is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
# CONFIG_VGASTATE is not set
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_DMAENGINE_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_COMPRESS_OFFLOAD=m
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_SUPPORT_OLD_API is not set
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_RAWMIDI_SEQ=m
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
CONFIG_SND_MPU401_UART=m
CONFIG_SND_VX_LIB=m
CONFIG_SND_DRIVERS=y
# CONFIG_SND_DUMMY is not set
CONFIG_SND_ALOOP=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LOLA is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SE6X is not set
# CONFIG_SND_SIS7019 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set

#
# HD-Audio
#
# CONFIG_SND_HDA_INTEL is not set
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=m
CONFIG_SND_PDAUDIOCF=m
CONFIG_SND_SOC=m
CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
CONFIG_SND_ATMEL_SOC=m

#
# SoC Audio for Freescale CPUs
#

#
# Common SoC Audio options for Freescale CPUs:
#
# CONFIG_SND_SOC_FSL_ASRC is not set
CONFIG_SND_SOC_FSL_SAI=m
CONFIG_SND_SOC_FSL_SSI=m
CONFIG_SND_SOC_FSL_SPDIF=m
CONFIG_SND_SOC_FSL_ESAI=m
CONFIG_SND_SOC_IMX_AUDMUX=m
CONFIG_SND_SOC_XTFPGA_I2S=m

#
# CODEC drivers
#
CONFIG_SND_SOC_AK4554=m
# CONFIG_SND_SOC_AK5386 is not set
CONFIG_SND_SOC_HDMI_CODEC=m
# CONFIG_SND_SOC_ES8328 is not set
# CONFIG_SND_SOC_RT5677_SPI is not set
CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SIMPLE_CARD=m
# CONFIG_SOUND_PRIME is not set

#
# HID support
#
# CONFIG_HID is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
# CONFIG_USB is not set

#
# USB port drivers
#

#
# USB Physical Layer drivers
#
# CONFIG_USB_PHY is not set
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_GADGET is not set
CONFIG_UWB=m
# CONFIG_UWB_WHCI is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=m

#
# LED drivers
#
CONFIG_LEDS_NET48XX=y
CONFIG_LEDS_WRAP=y
# CONFIG_LEDS_GPIO is not set
# CONFIG_LEDS_CLEVO_MAIL is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_INTEL_SS4200 is not set
CONFIG_LEDS_LT3593=y
CONFIG_LEDS_OT200=y

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
# CONFIG_LEDS_SYSCON is not set

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
CONFIG_LEDS_TRIGGER_CPU=y
# CONFIG_LEDS_TRIGGER_GPIO is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
CONFIG_LEDS_TRIGGER_CAMERA=y
# CONFIG_ACCESSIBILITY is not set
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_DECODE_MCE is not set
# CONFIG_EDAC_MM_EDAC is not set
CONFIG_RTC_LIB=y
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=m
# CONFIG_UIO_CIF is not set
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_UIO_DMEM_GENIRQ=m
# CONFIG_UIO_AEC is not set
# CONFIG_UIO_SERCOS3 is not set
# CONFIG_UIO_PCI_GENERIC is not set
# CONFIG_UIO_NETX is not set
# CONFIG_UIO_MF624 is not set
CONFIG_VIRT_DRIVERS=y

#
# Virtio drivers
#
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTIO_MMIO is not set

#
# Microsoft Hyper-V guest support
#
# CONFIG_HYPERV is not set
# CONFIG_STAGING is not set
CONFIG_X86_PLATFORM_DEVICES=y
# CONFIG_ACERHDF is not set
# CONFIG_ASUS_LAPTOP is not set
# CONFIG_DELL_SMO8800 is not set
# CONFIG_FUJITSU_TABLET is not set
# CONFIG_AMILO_RFKILL is not set
# CONFIG_HP_ACCEL is not set
# CONFIG_HP_WIRELESS is not set
# CONFIG_SONY_LAPTOP is not set
# CONFIG_THINKPAD_ACPI is not set
CONFIG_SENSORS_HDAPS=y
# CONFIG_INTEL_MENLOW is not set
# CONFIG_ACPI_WMI is not set
# CONFIG_TOPSTAR_LAPTOP is not set
# CONFIG_TOSHIBA_BT_RFKILL is not set
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_ACPI_CMPC is not set
# CONFIG_INTEL_IPS is not set
# CONFIG_IBM_RTL is not set
CONFIG_XO1_RFKILL=m
# CONFIG_XO15_EBOOK is not set
# CONFIG_SAMSUNG_Q10 is not set
# CONFIG_INTEL_RST is not set
# CONFIG_INTEL_SMARTCONNECT is not set
# CONFIG_PVPANIC is not set
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_PSTORE=y

#
# Hardware Spinlock drivers
#

#
# Clock Source drivers
#
CONFIG_CLKSRC_I8253=y
CONFIG_CLKEVT_I8253=y
CONFIG_CLKBLD_I8253=y
# CONFIG_ATMEL_PIT is not set
# CONFIG_SH_TIMER_CMT is not set
# CONFIG_SH_TIMER_MTU2 is not set
# CONFIG_SH_TIMER_TMU is not set
# CONFIG_EM_TIMER_STI is not set
# CONFIG_ASM9260_TIMER is not set
# CONFIG_MAILBOX is not set
# CONFIG_IOMMU_SUPPORT is not set

#
# Remoteproc drivers
#
# CONFIG_STE_MODEM_RPROC is not set

#
# Rpmsg drivers
#

#
# SOC (System On Chip) specific Drivers
#
CONFIG_SOC_TI=y
CONFIG_PM_DEVFREQ=y

#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
CONFIG_DEVFREQ_GOV_PERFORMANCE=m
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
# CONFIG_DEVFREQ_GOV_USERSPACE is not set

#
# DEVFREQ Drivers
#
# CONFIG_PM_DEVFREQ_EVENT is not set
CONFIG_EXTCON=m

#
# Extcon Device Drivers
#
# CONFIG_EXTCON_GPIO is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
# CONFIG_NTB is not set
# CONFIG_VME_BUS is not set
# CONFIG_PWM is not set
CONFIG_IRQCHIP=y
CONFIG_IPACK_BUS=y
# CONFIG_BOARD_TPCI200 is not set
# CONFIG_SERIAL_IPOCTAL is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_FMC=m
CONFIG_FMC_FAKEDEV=m
CONFIG_FMC_TRIVIAL=m
# CONFIG_FMC_WRITE_EEPROM is not set
CONFIG_FMC_CHARDEV=m

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
CONFIG_BCM_KONA_USB2_PHY=y
CONFIG_POWERCAP=y
CONFIG_MCB=m
# CONFIG_MCB_PCI is not set
# CONFIG_THUNDERBOLT is not set

#
# Android
#
# CONFIG_ANDROID is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
CONFIG_DCDBAS=m
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=m
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT_FIND is not set
CONFIG_GOOGLE_FIRMWARE=y

#
# Google Firmware Drivers
#
# CONFIG_GOOGLE_MEMCONSOLE is not set

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=m
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
# CONFIG_EXT4_FS_POSIX_ACL is not set
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_DEBUG=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
CONFIG_REISERFS_CHECK=y
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
# CONFIG_JFS_SECURITY is not set
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
# CONFIG_OCFS2_FS is not set
CONFIG_BTRFS_FS=y
# CONFIG_BTRFS_FS_POSIX_ACL is not set
CONFIG_BTRFS_FS_CHECK_INTEGRITY=y
CONFIG_BTRFS_FS_RUN_SANITY_TESTS=y
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
CONFIG_NILFS2_FS=y
# CONFIG_FS_DAX is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
# CONFIG_FILE_LOCKING is not set
CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_PRINT_QUOTA_WARNING is not set
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_TREE=m
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=m
# CONFIG_FUSE_FS is not set
CONFIG_OVERLAY_FS=m

#
# Caches
#
CONFIG_FSCACHE=y
# CONFIG_FSCACHE_STATS is not set
# CONFIG_FSCACHE_HISTOGRAM is not set
# CONFIG_FSCACHE_DEBUG is not set
# CONFIG_FSCACHE_OBJECT_LIST is not set
# CONFIG_CACHEFILES is not set

#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_PROC_SYSCTL is not set
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_KERNFS=y
CONFIG_SYSFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_CONFIGFS_FS=m
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ADFS_FS=m
CONFIG_ADFS_FS_RW=y
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=m
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=m
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
CONFIG_EFS_FS=m
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
# CONFIG_JFFS2_FS_WRITEBUFFER is not set
# CONFIG_JFFS2_SUMMARY is not set
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_LOGFS is not set
CONFIG_CRAMFS=y
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
# CONFIG_SQUASHFS_XATTR is not set
# CONFIG_SQUASHFS_ZLIB is not set
# CONFIG_SQUASHFS_LZ4 is not set
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=m
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
CONFIG_QNX6FS_FS=y
# CONFIG_QNX6FS_DEBUG is not set
# CONFIG_ROMFS_FS is not set
# CONFIG_PSTORE is not set
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
CONFIG_UFS_DEBUG=y
# CONFIG_F2FS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=m
# CONFIG_NLS_CODEPAGE_866 is not set
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=y
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=y
# CONFIG_NLS_ISO8859_13 is not set
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=y
# CONFIG_NLS_MAC_ROMAN is not set
# CONFIG_NLS_MAC_CELTIC is not set
CONFIG_NLS_MAC_CENTEURO=m
CONFIG_NLS_MAC_CROATIAN=y
# CONFIG_NLS_MAC_CYRILLIC is not set
CONFIG_NLS_MAC_GAELIC=m
CONFIG_NLS_MAC_GREEK=m
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=y
# CONFIG_NLS_UTF8 is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y

#
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
CONFIG_READABLE_ASM=y
CONFIG_UNUSED_SYMBOLS=y
# CONFIG_PAGE_OWNER is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_KERNEL=y

#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_OBJECTS_SELFTEST=y
# CONFIG_DEBUG_OBJECTS_FREE is not set
# CONFIG_DEBUG_OBJECTS_TIMERS is not set
# CONFIG_DEBUG_OBJECTS_WORK is not set
# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_DEBUG_VM=y
# CONFIG_DEBUG_VM_VMACACHE is not set
CONFIG_DEBUG_VM_RB=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_DEBUG_HIGHMEM=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_KMEMCHECK is not set
CONFIG_DEBUG_SHIRQ=y

#
# Debug Lockups and Hangs
#
CONFIG_LOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1
# CONFIG_DETECT_HUNG_TASK is not set
# CONFIG_PANIC_ON_OOPS is not set
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
# CONFIG_SCHED_STACK_END_CHECK is not set
# CONFIG_TIMER_STATS is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
# CONFIG_DEBUG_RT_MUTEXES is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_LOCK_ALLOC=y
# CONFIG_PROVE_LOCKING is not set
CONFIG_LOCKDEP=y
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_LOCK_TORTURE_TEST=m
CONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
CONFIG_DEBUG_PI_LIST=y
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_DEBUG_CREDENTIALS is not set

#
# RCU Debugging
#
# CONFIG_SPARSE_RCU_POINTER is not set
CONFIG_TORTURE_TEST=m
CONFIG_RCU_TORTURE_TEST=m
CONFIG_RCU_CPU_STALL_TIMEOUT=21
# CONFIG_RCU_CPU_STALL_INFO is not set
CONFIG_RCU_TRACE=y
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
CONFIG_NOTIFIER_ERROR_INJECTION=y
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_PM_NOTIFIER_ERROR_INJECT is not set
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
# CONFIG_FAIL_PAGE_ALLOC is not set
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
CONFIG_LATENCYTOP=y
CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not set
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SCHED_TRACER=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_KPROBE_EVENT is not set
CONFIG_UPROBE_EVENT=y
CONFIG_PROBE_EVENTS=y
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_MMIOTRACE is not set
CONFIG_TRACEPOINT_BENCHMARK=y
CONFIG_RING_BUFFER_BENCHMARK=m
CONFIG_RING_BUFFER_STARTUP_TEST=y

#
# Runtime Testing
#
# CONFIG_LKDTM is not set
# CONFIG_TEST_LIST_SORT is not set
CONFIG_KPROBES_SANITY_TEST=y
# CONFIG_BACKTRACE_SELF_TEST is not set
CONFIG_RBTREE_TEST=m
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
CONFIG_ATOMIC64_SELFTEST=y
CONFIG_TEST_HEXDUMP=m
CONFIG_TEST_STRING_HELPERS=m
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
CONFIG_BUILD_DOCSRC=y
# CONFIG_DMA_API_DEBUG is not set
CONFIG_TEST_LKM=m
CONFIG_TEST_USER_COPY=m
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_FIRMWARE is not set
CONFIG_TEST_UDELAY=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
# CONFIG_STRICT_DEVMEM is not set
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not set
# CONFIG_X86_PTDUMP is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_DEBUG_SET_MODULE_RONX is not set
CONFIG_DEBUG_NX_TEST=m
CONFIG_DOUBLEFAULT=y
CONFIG_DEBUG_TLBFLUSH=y
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
# CONFIG_IO_DELAY_0XED is not set
CONFIG_IO_DELAY_UDELAY=y
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=2
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_NMI_SELFTEST is not set
CONFIG_X86_DEBUG_STATIC_CPU_HAS=y

#
# Security options
#
CONFIG_KEYS=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_TRUSTED_KEYS=m
# CONFIG_ENCRYPTED_KEYS is not set
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_PATH=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
CONFIG_SECURITY_APPARMOR_HASH=y
# CONFIG_SECURITY_YAMA is not set
CONFIG_INTEGRITY=y
# CONFIG_INTEGRITY_SIGNATURE is not set
# CONFIG_INTEGRITY_AUDIT is not set
# CONFIG_IMA is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_APPARMOR=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_DEFAULT_SECURITY="apparmor"
CONFIG_XOR_BLOCKS=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_PCOMP=m
CONFIG_CRYPTO_PCOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=y
# CONFIG_CRYPTO_MCRYPTD is not set
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_ABLK_HELPER=y
CONFIG_CRYPTO_GLUE_HELPER_X86=y

#
# Authenticated Encryption with Associated Data
#
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_SEQIV=m

#
# Block modes
#
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XTS=y

#
# Hash modes
#
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
# CONFIG_CRYPTO_VMAC is not set

#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32=m
# CONFIG_CRYPTO_CRC32_PCLMUL is not set
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_RMD128=m
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=m
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_WP512=m

#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
# CONFIG_CRYPTO_CAST6 is not set
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SALSA20=y
# CONFIG_CRYPTO_SALSA20_586 is not set
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SERPENT_SSE2_586=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_586=m

#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
CONFIG_CRYPTO_ZLIB=m
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_LZ4 is not set
CONFIG_CRYPTO_LZ4HC=m

#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_DRBG_MENU is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_USER_API_RNG is not set
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_PADLOCK is not set
# CONFIG_CRYPTO_DEV_GEODE is not set
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
# CONFIG_CRYPTO_DEV_CCP is not set
# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_PUBLIC_KEY_ALGO_RSA=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=y
# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
CONFIG_BITREVERSE=y
# CONFIG_HAVE_ARCH_BITREVERSE is not set
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_PERCPU_RWSEM=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
# CONFIG_CRC32_SLICEBY8 is not set
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
CONFIG_CRC32_BIT=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
CONFIG_CRC8=m
CONFIG_AUDIT_GENERIC=y
# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set
CONFIG_RANDOM32_SELFTEST=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=y
CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
# CONFIG_XZ_DEC_ARM is not set
# CONFIG_XZ_DEC_ARMTHUMB is not set
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_BCJ=y
CONFIG_XZ_DEC_TEST=m
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_BCH=y
CONFIG_BCH_CONST_PARAMS=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_NLATTR=y
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
CONFIG_AVERAGE=y
CONFIG_CLZ_TAB=y
CONFIG_CORDIC=m
CONFIG_DDR=y
CONFIG_MPILIB=y
CONFIG_OID_REGISTRY=y
CONFIG_FONT_SUPPORT=m
CONFIG_FONT_8x16=y
CONFIG_FONT_AUTOSELECT=y
CONFIG_ARCH_HAS_SG_CHAIN=y

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-06  6:06 [PCI] BUG: unable to handle kernel Fengguang Wu
@ 2015-03-06 15:13 ` Murali Karicheri
  2015-03-06 15:48   ` Murali Karicheri
  0 siblings, 1 reply; 16+ messages in thread
From: Murali Karicheri @ 2015-03-06 15:13 UTC (permalink / raw)
  To: Fengguang Wu; +Cc: Bjorn Helgaas, LKP, linux-pci, linux-kernel

On 03/06/2015 01:06 AM, Fengguang Wu wrote:
> Greetings,
>
> 0day kernel testing robot got the below dmesg and the first bad commit is
>
> git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
>
> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
> Author:     Murali Karicheri<m-karicheri2@ti.com>
> AuthorDate: Tue Mar 3 12:52:13 2015 -0500
> Commit:     Bjorn Helgaas<bhelgaas@google.com>
> CommitDate: Tue Mar 3 14:42:58 2015 -0600
>
>      PCI: Update DMA configuration from DT
>
>      If there is a DT node available for the root bridge's parent device, use
>      the DMA configuration from that device node.  For example, Keystone PCI
>      devices would require dma_pfn_offset to be set correctly in the device
>      structure of the PCI device in order to have the correct DMA mask.  The DT
>      node will have dma-ranges defined for this.  Also support using the DT
>      property dma-coherent to allow coherent DMA operation by the PCI device.
>
>      Use the new helper function of_pci_dma_configure() to update the device DMA
>      configuration.  This fixes DMA on systems where DMA addresses are a
>      constant offset from CPU physical addresses.
>
>      Tested-by: Suravee Suthikulpanit<Suravee.Suthikulpanit@amd.com>  (AMD Seattle)
>      Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>      Signed-off-by: Bjorn Helgaas<bhelgaas@google.com>
>      Reviewed-by: Catalin Marinas<catalin.marinas@arm.com>
>      Acked-by: Will Deacon<will.deacon@arm.com>
>      CC: Joerg Roedel<joro@8bytes.org>
>      CC: Grant Likely<grant.likely@linaro.org>
>      CC: Rob Herring<robh+dt@kernel.org>
>      CC: Russell King<linux@arm.linux.org.uk>
>      CC: Arnd Bergmann<arnd@arndb.de>
>
> +------------------------------------------+------------+------------+-----------------+
> |                                          | bdc567f9c1 | 0b2af17152 | v4.0-rc2_030422 |
> +------------------------------------------+------------+------------+-----------------+
> | boot_successes                           | 47         | 0          | 0               |
> | boot_failures                            | 33         | 20         | 12              |
> | page_allocation_failure:order:#,mode     | 33         |            |                 |
> | backtrace:btrfs_test_extent_io           | 33         |            |                 |
> | backtrace:init_btrfs_fs                  | 33         |            |                 |
> | backtrace:kernel_init_freeable           | 33         | 20         | 12              |
> | BUG:unable_to_handle_kernel              | 0          | 20         | 12              |
> | Oops                                     | 0          | 20         | 12              |
> | EIP_is_at_of_pci_dma_configure           | 0          | 20         | 12              |
> | Kernel_panic-not_syncing:Fatal_exception | 0          | 20         | 12              |
> | backtrace:acpi_bus_scan                  | 0          | 20         | 12              |
> | backtrace:acpi_scan_init                 | 0          | 20         | 12              |
> | backtrace:acpi_init                      | 0          | 20         | 12              |
> +------------------------------------------+------------+------------+-----------------+
>
> [    0.573023] pci_bus 0000:00: root bus resource [mem 0x14000000-0xfebfffff window]
> [    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
> [    0.573381] pci 0000:00:00.0: [8086:1237] type 00 class 0x060000
> [    0.574397] BUG: unable to handle kernel
> [    0.574397] BUG: unable to handle kernel NULL pointer dereferenceNULL pointer dereference at 000001c4
>   at 000001c4
> [    0.575439] IP:
> [    0.575439] IP: [<79a20c33>] of_pci_dma_configure+0x33/0x70
>   [<79a20c33>] of_pci_dma_configure+0x33/0x70
> [    0.576231] *pde = 00000000
> [    0.576231] *pde = 00000000
>
> [    0.576666] Oops: 0000 [#1]
> [    0.576666] Oops: 0000 [#1] SMP SMP
>
> [    0.576666] Modules linked in:
> [    0.576666] Modules linked in:
>
> [    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
> [    0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00006-g0b2af17 #6
> [    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
> [    0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
> [    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
> [    0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
> [    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
> [    0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
> [    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
> [    0.576666] EIP is at of_pci_dma_configure+0x33/0x70
> [    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
> [    0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
> [    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
> [    0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
> [    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> [    0.576666]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
> [    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
> [    0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
> [    0.576666] Stack:
> [    0.576666] Stack:
> [    0.576666]  78011800
> [    0.576666]  78011800 78011860 78011860 78069d5c 78069d5c 7976c1ac 7976c1ac 00000002 00000002 78069ce8 78069ce8 0000002e 0000002e 00000000 00000000
>
> [    0.576666]  00001100
> [    0.576666]  00001100 78011800 78011800 78011860 78011860 781d8000 781d8000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>
> [    0.576666]  00000000
> [    0.576666]  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>
> [    0.576666] Call Trace:
> [    0.576666] Call Trace:
> [    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
> [    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
> [    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
> [    0.576666]  [<7976ca54>] pci_scan_single_device+0x144/0x1c0
> [    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
> [    0.576666]  [<7976cb70>] pci_scan_slot+0xa0/0x230
> [    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
> [    0.576666]  [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
> [    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
> [    0.576666]  [<79894626>] ? dev_warn+0x36/0x50
> [    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
> [    0.576666]  [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
> [    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
> [    0.576666]  [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
> [    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
> [    0.576666]  [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
> [    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
> [    0.576666]  [<797c2a3d>] acpi_bus_attach+0x149/0x381
> [    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
> [    0.576666]  [<79bd0946>] ? mutex_unlock+0x16/0x30
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
> [    0.576666]  [<7989b94d>] ? device_attach+0x6d/0x120
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<7989c2a0>] ? __driver_attach+0x140/0x140
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<797c2be5>] acpi_bus_attach+0x2f1/0x381
> [    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
> [    0.576666]  [<797c2d06>] acpi_bus_scan+0x91/0xa8
> [    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
> [    0.576666]  [<7a217b07>] acpi_scan_init+0x137/0x39d
> [    0.576666]  [<7a217695>] acpi_init+0x496/0x534
> [    0.576666]  [<7a217695>] acpi_init+0x496/0x534
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
> [    0.576666]  [<790005ae>] do_one_initcall+0x16e/0x3c0
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
> [    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
> [    0.576666]  [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
> [    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
> [    0.576666]  [<79bb7c49>] kernel_init+0x19/0x200
> [    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
> [    0.576666]  [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
> [    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
> [    0.576666]  [<79bb7c30>] ? rest_init+0x180/0x180
> [    0.576666] Code:
> [    0.576666] Code: 80 80 5c 5c c1 c1 7a 7a 01 01 89 89 5d 5d f8 f8 89 89 c3 c3 89 89 75 75 fc fc 83 83 15 15 84 84 5c 5c c1 c1 7a 7a 00 00 e8 e8 df df ec ec d4 d4 ff ff 83 83 05 05 88 88 5c 5c c1 c1 7a 7a 01 01 83 83 15 15 8c 8c 5c 5c c1 c1 7a 7a 00 00 89 89 c6 c6 8b 8b 00 00<8b>  <8b>  90 90 c4 c4 01 01 00 00 00 00 8d 8d 43 43 60 60 e8 e8 1f 1f 94 94 ff ff ff ff 89 89 f0 f0 83 83 05 05 90 90 5c 5c c1 c1
>
> [    0.576666] EIP: [<79a20c33>]
> [    0.576666] EIP: [<79a20c33>] of_pci_dma_configure+0x33/0x70of_pci_dma_configure+0x33/0x70 SS:ESP 0068:78069cc8
>   SS:ESP 0068:78069cc8
> [    0.576666] CR2: 00000000000001c4
> [    0.576666] CR2: 00000000000001c4
> [    0.576666] ---[ end trace af448c13c817976d ]---
> [    0.576666] ---[ end trace af448c13c817976d ]---
>
> git bisect start f20f4567bfc741f16e0895f4c4e845e7c51e6818 13a7a6ac0a11197edcd0f756a035f472b42cdf8b --
> git bisect good 6a85284cccce49f687a505a7952fa3889b82628d  # 16:02     20+     19  Merge 'kees/yama/tip' into devel-hourly-2015030422
> git bisect  bad e85ea728632a20c9830cbc5c67d64f8a302b452e  # 16:05      0-     20  Merge 'tip/x86/asm' into devel-hourly-2015030422
> git bisect  bad 0516a34d518ed4a1ae4261736d6678094fd46142  # 16:11      0-     20  Merge 'spi/for-next' into devel-hourly-2015030422
> git bisect  bad d8ee2cead70b0d04c58d1a57299fe307f5616b7e  # 16:49      0-     20  Merge 'sound/topic/hda-unbind' into devel-hourly-2015030422
> git bisect  bad ccbd4806f70ac1599934b7c17582f44af02edca8  # 17:09      0-     20  Merge 'perf/tmp.perf/trace_ordered_events' into devel-hourly-2015030422
> git bisect good a8c718ae516eeb6366d899bae02ebb409ced5453  # 17:12     20+      0  Merge 'mripard/sunxi/dt-for-4.1' into devel-hourly-2015030422
> git bisect  bad 941b9d9416bbace6161718d173a526f9dfd10762  # 17:14      0-     20  Merge 'pci/pci/murali-v8' into devel-hourly-2015030422
> git bisect good 6675a601d72be408025e675599702e30a99188aa  # 17:19     20+     16  PCI: Add helper functions pci_get[put]_host_bridge_device()
> git bisect  bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6  # 17:21      0-     20  PCI: Update DMA configuration from DT
> git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043  # 17:24     20+      7  of/pci: Add of_pci_dma_configure() to update DMA configuration
> # first bad commit: [0b2af171520e5d5e7d5b5f479b90a6a5014d9df6] PCI: Update DMA configuration from DT
> git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043  # 17:27     60+     33  of/pci: Add of_pci_dma_configure() to update DMA configuration
> # extra tests with DEBUG_INFO
> git bisect  bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6  # 17:40      0-     60  PCI: Update DMA configuration from DT
> # extra tests on HEAD of linux-devel/devel-hourly-2015030422
> git bisect  bad f20f4567bfc741f16e0895f4c4e845e7c51e6818  # 17:41      0-     12  0day head guard for 'devel-hourly-2015030422'
> # extra tests on tree/branch pci/pci/murali-v8
> git bisect  bad da5cc6061aae665cc15835519838861437b9fdc7  # 17:56      0-     60  of: Calculate device DMA masks based on DT dma-range size
> # extra tests with first bad commit reverted
> # extra tests on tree/branch linus/master
> git bisect good 6587457b4b3d663b237a0f95ddf6e67d1828c8ea  # 18:08     60+     60  Merge tag 'dma-buf-for-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf
> # extra tests on tree/branch next/master
>
>
> This script may reproduce the error.
>
> ----------------------------------------------------------------------------
> #!/bin/bash
>
> kernel=$1
>
> kvm=(
> 	qemu-system-x86_64
> 	-cpu kvm64
> 	-enable-kvm
> 	-kernel $kernel
> 	-m 320
> 	-smp 2
> 	-net nic,vlan=1,model=e1000
> 	-net user,vlan=1
> 	-boot order=nc
> 	-no-reboot
> 	-watchdog i6300esb
> 	-rtc base=localtime
> 	-serial stdio
> 	-display none
> 	-monitor null
> )
>
> append=(
> 	hung_task_panic=1
> 	earlyprintk=ttyS0,115200
> 	rd.udev.log-priority=err
> 	systemd.log_target=journal
> 	systemd.log_level=warning
> 	debug
> 	apic=debug
> 	sysrq_always_enabled
> 	rcupdate.rcu_cpu_stall_timeout=100
> 	panic=-1
> 	softlockup_panic=1
> 	nmi_watchdog=panic
> 	oops=panic
> 	load_ramdisk=2
> 	prompt_ramdisk=0
> 	console=ttyS0,115200
> 	console=tty0
> 	vga=normal
> 	root=/dev/ram0
> 	rw
> 	drbd.minor_count=8
> )
>
> "${kvm[@]}" --append "${append[*]}"
> ----------------------------------------------------------------------------
>
> Thanks,
> Fengguang
Fengguang,

Could you or someone point me to the DT file for this platform? I looked 
at the config file and it has CONFIG_OF enabled. Wondering if it has 
dma-ranges defined? This series was tested on ARM platforms that uses 
dma-ranges. If someone can point me to the DT file, this will give me a 
clue on what is going on here.

-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-06 15:13 ` Murali Karicheri
@ 2015-03-06 15:48   ` Murali Karicheri
  2015-03-06 16:55     ` Guenter Roeck
  0 siblings, 1 reply; 16+ messages in thread
From: Murali Karicheri @ 2015-03-06 15:48 UTC (permalink / raw)
  To: Fengguang Wu; +Cc: Bjorn Helgaas, LKP, linux-pci, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 10674 bytes --]

On 03/06/2015 10:13 AM, Murali Karicheri wrote:
> On 03/06/2015 01:06 AM, Fengguang Wu wrote:
>> Greetings,
>>
>> 0day kernel testing robot got the below dmesg and the first bad commit is
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
>>
>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>> Author: Murali Karicheri<m-karicheri2@ti.com>
>> AuthorDate: Tue Mar 3 12:52:13 2015 -0500
>> Commit: Bjorn Helgaas<bhelgaas@google.com>
>> CommitDate: Tue Mar 3 14:42:58 2015 -0600
>>
>> PCI: Update DMA configuration from DT
>>
----cut-----------------
>> [ 0.576666] Modules linked in:
>> [ 0.576666] Modules linked in:
>>
>> [ 0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
>> 4.0.0-rc1-00006-g0b2af17 #6
>> [ 0.576666] CPU: 0 PID: 1 Comm: swapper/0 Not tainted
>> 4.0.0-rc1-00006-g0b2af17 #6
>> [ 0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
>> BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
>> [ 0.576666] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
>> BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
>> [ 0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
>> [ 0.576666] task: 78060000 ti: 78068000 task.ti: 78068000
>> [ 0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
>> [ 0.576666] EIP: 0060:[<79a20c33>] EFLAGS: 00010246 CPU: 0
>> [ 0.576666] EIP is at of_pci_dma_configure+0x33/0x70
>> [ 0.576666] EIP is at of_pci_dma_configure+0x33/0x70
>> [ 0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
>> [ 0.576666] EAX: 00000000 EBX: 78011800 ECX: 00000000 EDX: 00000005
>> [ 0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
>> [ 0.576666] ESI: 781d8400 EDI: 781d8000 EBP: 78069cd0 ESP: 78069cc8
>> [ 0.576666] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
>> [ 0.576666] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
>> [ 0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
>> [ 0.576666] CR0: 8005003b CR2: 000001c4 CR3: 0229f000 CR4: 000006d0
>> [ 0.576666] Stack:
>> [ 0.576666] Stack:
>> [ 0.576666] 78011800
>> [ 0.576666] 78011800 78011860 78011860 78069d5c 78069d5c 7976c1ac
>> 7976c1ac 00000002 00000002 78069ce8 78069ce8 0000002e 0000002e
>> 00000000 00000000
>>
>> [ 0.576666] 00001100
>> [ 0.576666] 00001100 78011800 78011800 78011860 78011860 781d8000
>> 781d8000 00000000 00000000 00000000 00000000 00000000 00000000
>> 00000000 00000000
>>
>> [ 0.576666] 00000000
>> [ 0.576666] 00000000 00000000 00000000 00000000 00000000 00000000
>> 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>> 00000000 00000000
>>
>> [ 0.576666] Call Trace:
>> [ 0.576666] Call Trace:
>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>> [ 0.576666] [<7976ca54>] pci_scan_single_device+0x144/0x1c0
>> [ 0.576666] [<7976ca54>] pci_scan_single_device+0x144/0x1c0
>> [ 0.576666] [<7976cb70>] pci_scan_slot+0xa0/0x230
>> [ 0.576666] [<7976cb70>] pci_scan_slot+0xa0/0x230
>> [ 0.576666] [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
>> [ 0.576666] [<7976ea6a>] pci_scan_child_bus+0x5a/0x230
>> [ 0.576666] [<79894626>] ? dev_warn+0x36/0x50
>> [ 0.576666] [<79894626>] ? dev_warn+0x36/0x50
>> [ 0.576666] [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
>> [ 0.576666] [<79a48cf5>] pci_acpi_scan_root+0x4c5/0x990
>> [ 0.576666] [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
>> [ 0.576666] [<797c9be8>] acpi_pci_root_add+0x4fb/0x64d
>> [ 0.576666] [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
>> [ 0.576666] [<797be464>] ? acpi_scan_match_handler+0x9d/0x10e
>> [ 0.576666] [<797c2a3d>] acpi_bus_attach+0x149/0x381
>> [ 0.576666] [<797c2a3d>] acpi_bus_attach+0x149/0x381
>> [ 0.576666] [<79bd0946>] ? mutex_unlock+0x16/0x30
>> [ 0.576666] [<79bd0946>] ? mutex_unlock+0x16/0x30
>> [ 0.576666] [<7989c2a0>] ? __driver_attach+0x140/0x140
>> [ 0.576666] [<7989c2a0>] ? __driver_attach+0x140/0x140
>> [ 0.576666] [<797c2be5>] acpi_bus_attach+0x2f1/0x381
>> [ 0.576666] [<797c2be5>] acpi_bus_attach+0x2f1/0x381
>> [ 0.576666] [<7989b94d>] ? device_attach+0x6d/0x120
>> [ 0.576666] [<7989b94d>] ? device_attach+0x6d/0x120
>> [ 0.576666] [<7989c2a0>] ? __driver_attach+0x140/0x140
>> [ 0.576666] [<7989c2a0>] ? __driver_attach+0x140/0x140
>> [ 0.576666] [<797c2be5>] acpi_bus_attach+0x2f1/0x381
>> [ 0.576666] [<797c2be5>] acpi_bus_attach+0x2f1/0x381
>> [ 0.576666] [<797c2d06>] acpi_bus_scan+0x91/0xa8
>> [ 0.576666] [<797c2d06>] acpi_bus_scan+0x91/0xa8
>> [ 0.576666] [<7a217b07>] acpi_scan_init+0x137/0x39d
>> [ 0.576666] [<7a217b07>] acpi_scan_init+0x137/0x39d
>> [ 0.576666] [<7a217695>] acpi_init+0x496/0x534
>> [ 0.576666] [<7a217695>] acpi_init+0x496/0x534
>> [ 0.576666] [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
>> [ 0.576666] [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
>> [ 0.576666] [<790005ae>] do_one_initcall+0x16e/0x3c0
>> [ 0.576666] [<790005ae>] do_one_initcall+0x16e/0x3c0
>> [ 0.576666] [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
>> [ 0.576666] [<7a2171ff>] ? acpi_sleep_proc_init+0x5b/0x5b
>> [ 0.576666] [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
>> [ 0.576666] [<7a1b8afe>] kernel_init_freeable+0x263/0x3e4
>> [ 0.576666] [<79bb7c49>] kernel_init+0x19/0x200
>> [ 0.576666] [<79bb7c49>] kernel_init+0x19/0x200
>> [ 0.576666] [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
>> [ 0.576666] [<79bd5d01>] ret_from_kernel_thread+0x21/0x30
>> [ 0.576666] [<79bb7c30>] ? rest_init+0x180/0x180
>> [ 0.576666] [<79bb7c30>] ? rest_init+0x180/0x180
>> [ 0.576666] Code:
>> [ 0.576666] Code: 80 80 5c 5c c1 c1 7a 7a 01 01 89 89 5d 5d f8 f8 89
>> 89 c3 c3 89 89 75 75 fc fc 83 83 15 15 84 84 5c 5c c1 c1 7a 7a 00 00
>> e8 e8 df df ec ec d4 d4 ff ff 83 83 05 05 88 88 5c 5c c1 c1 7a 7a 01
>> 01 83 83 15 15 8c 8c 5c 5c c1 c1 7a 7a 00 00 89 89 c6 c6 8b 8b 00
>> 00<8b> <8b> 90 90 c4 c4 01 01 00 00 00 00 8d 8d 43 43 60 60 e8 e8 1f
>> 1f 94 94 ff ff ff ff 89 89 f0 f0 83 83 05 05 90 90 5c 5c c1 c1
>>
>> [ 0.576666] EIP: [<79a20c33>]
>> [ 0.576666] EIP: [<79a20c33>]
>> of_pci_dma_configure+0x33/0x70of_pci_dma_configure+0x33/0x70 SS:ESP
>> 0068:78069cc8
>> SS:ESP 0068:78069cc8
>> [ 0.576666] CR2: 00000000000001c4
>> [ 0.576666] CR2: 00000000000001c4
>> [ 0.576666] ---[ end trace af448c13c817976d ]---
>> [ 0.576666] ---[ end trace af448c13c817976d ]---
>>
>> git bisect start f20f4567bfc741f16e0895f4c4e845e7c51e6818
>> 13a7a6ac0a11197edcd0f756a035f472b42cdf8b --
>> git bisect good 6a85284cccce49f687a505a7952fa3889b82628d # 16:02 20+
>> 19 Merge 'kees/yama/tip' into devel-hourly-2015030422
>> git bisect bad e85ea728632a20c9830cbc5c67d64f8a302b452e # 16:05 0- 20
>> Merge 'tip/x86/asm' into devel-hourly-2015030422
>> git bisect bad 0516a34d518ed4a1ae4261736d6678094fd46142 # 16:11 0- 20
>> Merge 'spi/for-next' into devel-hourly-2015030422
>> git bisect bad d8ee2cead70b0d04c58d1a57299fe307f5616b7e # 16:49 0- 20
>> Merge 'sound/topic/hda-unbind' into devel-hourly-2015030422
>> git bisect bad ccbd4806f70ac1599934b7c17582f44af02edca8 # 17:09 0- 20
>> Merge 'perf/tmp.perf/trace_ordered_events' into devel-hourly-2015030422
>> git bisect good a8c718ae516eeb6366d899bae02ebb409ced5453 # 17:12 20+ 0
>> Merge 'mripard/sunxi/dt-for-4.1' into devel-hourly-2015030422
>> git bisect bad 941b9d9416bbace6161718d173a526f9dfd10762 # 17:14 0- 20
>> Merge 'pci/pci/murali-v8' into devel-hourly-2015030422
>> git bisect good 6675a601d72be408025e675599702e30a99188aa # 17:19 20+
>> 16 PCI: Add helper functions pci_get[put]_host_bridge_device()
>> git bisect bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6 # 17:21 0- 20
>> PCI: Update DMA configuration from DT
>> git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043 # 17:24 20+ 7
>> of/pci: Add of_pci_dma_configure() to update DMA configuration
>> # first bad commit: [0b2af171520e5d5e7d5b5f479b90a6a5014d9df6] PCI:
>> Update DMA configuration from DT
>> git bisect good bdc567f9c1cb6a61100471afc95ee6200f0ba043 # 17:27 60+
>> 33 of/pci: Add of_pci_dma_configure() to update DMA configuration
>> # extra tests with DEBUG_INFO
>> git bisect bad 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6 # 17:40 0- 60
>> PCI: Update DMA configuration from DT
>> # extra tests on HEAD of linux-devel/devel-hourly-2015030422
>> git bisect bad f20f4567bfc741f16e0895f4c4e845e7c51e6818 # 17:41 0- 12
>> 0day head guard for 'devel-hourly-2015030422'
>> # extra tests on tree/branch pci/pci/murali-v8
>> git bisect bad da5cc6061aae665cc15835519838861437b9fdc7 # 17:56 0- 60
>> of: Calculate device DMA masks based on DT dma-range size
>> # extra tests with first bad commit reverted
>> # extra tests on tree/branch linus/master
>> git bisect good 6587457b4b3d663b237a0f95ddf6e67d1828c8ea # 18:08 60+
>> 60 Merge tag 'dma-buf-for-4.0-rc3' of
>> git://git.kernel.org/pub/scm/linux/kernel/git/sumits/dma-buf
>> # extra tests on tree/branch next/master
>>
>>
>> This script may reproduce the error.
>>
>> ----------------------------------------------------------------------------
>>
>> #!/bin/bash
>>
>> kernel=$1
>>
>> kvm=(
>> qemu-system-x86_64
>> -cpu kvm64
>> -enable-kvm
>> -kernel $kernel
>> -m 320
>> -smp 2
>> -net nic,vlan=1,model=e1000
>> -net user,vlan=1
>> -boot order=nc
>> -no-reboot
>> -watchdog i6300esb
>> -rtc base=localtime
>> -serial stdio
>> -display none
>> -monitor null
>> )
>>
>> append=(
>> hung_task_panic=1
>> earlyprintk=ttyS0,115200
>> rd.udev.log-priority=err
>> systemd.log_target=journal
>> systemd.log_level=warning
>> debug
>> apic=debug
>> sysrq_always_enabled
>> rcupdate.rcu_cpu_stall_timeout=100
>> panic=-1
>> softlockup_panic=1
>> nmi_watchdog=panic
>> oops=panic
>> load_ramdisk=2
>> prompt_ramdisk=0
>> console=ttyS0,115200
>> console=tty0
>> vga=normal
>> root=/dev/ram0
>> rw
>> drbd.minor_count=8
>> )
>>
>> "${kvm[@]}" --append "${append[*]}"
>> ----------------------------------------------------------------------------
>>
>>
>> Thanks,
>> Fengguang
> Fengguang,
>
> Could you or someone point me to the DT file for this platform? I looked
> at the config file and it has CONFIG_OF enabled. Wondering if it has
> dma-ranges defined? This series was tested on ARM platforms that uses
> dma-ranges. If someone can point me to the DT file, this will give me a
> clue on what is going on here.
>
Bjorn,

Looks like there is a NULL being encountered (either root bridge or root 
bridge's parent) in the patch. I have added check for this and attached 
a debug patch. Can this be applied so that we can look at the boot log 
for clue? Meanwhile if someone can point me to the DTS for this 
platform, that will help to debug this.

I am assuming dma-ranges is not defined. So one of these could be NULL. 
I am not sure why it could be NULL on this platform though. Any clue?

Murali

-- 
Murali Karicheri
Linux Kernel, Texas Instruments

[-- Attachment #2: 0001-pci-of-fix-kernel-crash.patch --]
[-- Type: text/x-diff, Size: 1586 bytes --]

>From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
From: Murali Karicheri <m-karicheri2@ti.com>
Date: Fri, 6 Mar 2015 10:23:08 -0500
Subject: [PATCH] pci: of : fix kernel crash

This is a debug patch to root cause the kernel crash

	commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6

	PCI: Update DMA configuration from DT

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
---
 drivers/of/of_pci.c       |    8 ++++++++
 drivers/pci/host-bridge.c |    5 +++++
 2 files changed, 13 insertions(+)

diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
index 86d3c38..5a59fb8 100644
--- a/drivers/of/of_pci.c
+++ b/drivers/of/of_pci.c
@@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
 	struct device *dev = &pci_dev->dev;
 	struct device *bridge = pci_get_host_bridge_device(pci_dev);
 
+	if (!bridge || !bridge->parent) {
+		if (!bridge)
+			pr_err("PCI bridge not found\n");
+		if (!bridge->parent)
+			pr_err("PCI bridge parent not found\n");
+		return;
+	}
+
 	of_dma_configure(dev, bridge->parent->of_node);
 	pci_put_host_bridge_device(bridge);
 }
diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
index 3e5bbf9..ef2ab51 100644
--- a/drivers/pci/host-bridge.c
+++ b/drivers/pci/host-bridge.c
@@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct pci_dev *dev)
 	struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
 	struct device *bridge = root_bus->bridge;
 
+	if (!bridge) {
+		pr_err("PCI: bridge not found\n");
+		return NULL;
+	}
+
 	kobject_get(&bridge->kobj);
 	return bridge;
 }
-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-06 15:48   ` Murali Karicheri
@ 2015-03-06 16:55     ` Guenter Roeck
  2015-03-06 17:50       ` Murali Karicheri
  2015-03-06 17:58       ` Murali Karicheri
  0 siblings, 2 replies; 16+ messages in thread
From: Guenter Roeck @ 2015-03-06 16:55 UTC (permalink / raw)
  To: Murali Karicheri
  Cc: Fengguang Wu, Bjorn Helgaas, LKP, linux-pci, linux-kernel

On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
[ ... ]

> >From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
> From: Murali Karicheri <m-karicheri2@ti.com>
> Date: Fri, 6 Mar 2015 10:23:08 -0500
> Subject: [PATCH] pci: of : fix kernel crash
> 
> This is a debug patch to root cause the kernel crash
> 
> 	commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
> 
> 	PCI: Update DMA configuration from DT
> 
> Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
> ---
>  drivers/of/of_pci.c       |    8 ++++++++
>  drivers/pci/host-bridge.c |    5 +++++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
> index 86d3c38..5a59fb8 100644
> --- a/drivers/of/of_pci.c
> +++ b/drivers/of/of_pci.c
> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
>  	struct device *dev = &pci_dev->dev;
>  	struct device *bridge = pci_get_host_bridge_device(pci_dev);
>  
> +	if (!bridge || !bridge->parent) {
> +		if (!bridge)
> +			pr_err("PCI bridge not found\n");
> +		if (!bridge->parent)
> +			pr_err("PCI bridge parent not found\n");

You'll see a crash here if bridge is NULL. Maybe add an else before the second
if statement ? Also, dev_err might be a bit more useful and would be available.

Thanks,
Guenter

> +		return;
> +	}
> +
>  	of_dma_configure(dev, bridge->parent->of_node);
>  	pci_put_host_bridge_device(bridge);
>  }
> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
> index 3e5bbf9..ef2ab51 100644
> --- a/drivers/pci/host-bridge.c
> +++ b/drivers/pci/host-bridge.c
> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct pci_dev *dev)
>  	struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>  	struct device *bridge = root_bus->bridge;
>  
> +	if (!bridge) {
> +		pr_err("PCI: bridge not found\n");
> +		return NULL;
> +	}
> +
>  	kobject_get(&bridge->kobj);
>  	return bridge;
>  }
> -- 
> 1.7.9.5
> 


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-06 16:55     ` Guenter Roeck
@ 2015-03-06 17:50       ` Murali Karicheri
  2015-03-06 17:58       ` Murali Karicheri
  1 sibling, 0 replies; 16+ messages in thread
From: Murali Karicheri @ 2015-03-06 17:50 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Fengguang Wu, Bjorn Helgaas, LKP, linux-pci, linux-kernel

On 03/06/2015 11:55 AM, Guenter Roeck wrote:
> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
> [ ... ]
>
>> > From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
>> From: Murali Karicheri<m-karicheri2@ti.com>
>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>> Subject: [PATCH] pci: of : fix kernel crash
>>
>> This is a debug patch to root cause the kernel crash
>>
>> 	commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>
>> 	PCI: Update DMA configuration from DT
>>
>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>> ---
>>   drivers/of/of_pci.c       |    8 ++++++++
>>   drivers/pci/host-bridge.c |    5 +++++
>>   2 files changed, 13 insertions(+)
>>
>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>> index 86d3c38..5a59fb8 100644
>> --- a/drivers/of/of_pci.c
>> +++ b/drivers/of/of_pci.c
>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
>>   	struct device *dev =&pci_dev->dev;
>>   	struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>
>> +	if (!bridge || !bridge->parent) {
>> +		if (!bridge)
>> +			pr_err("PCI bridge not found\n");
>> +		if (!bridge->parent)
>> +			pr_err("PCI bridge parent not found\n");
>
> You'll see a crash here if bridge is NULL. Maybe add an else before the second
> if statement ? Also, dev_err might be a bit more useful and would be available.
>
Yes. Sorry, my bad. I will fix it and re-send

Murali
> Thanks,
> Guenter
>
>> +		return;
>> +	}
>> +
>>   	of_dma_configure(dev, bridge->parent->of_node);
>>   	pci_put_host_bridge_device(bridge);
>>   }
>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>> index 3e5bbf9..ef2ab51 100644
>> --- a/drivers/pci/host-bridge.c
>> +++ b/drivers/pci/host-bridge.c
>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct pci_dev *dev)
>>   	struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>   	struct device *bridge = root_bus->bridge;
>>
>> +	if (!bridge) {
>> +		pr_err("PCI: bridge not found\n");
>> +		return NULL;
>> +	}
>> +
>>   	kobject_get(&bridge->kobj);
>>   	return bridge;
>>   }
>> --
>> 1.7.9.5
>>
>


-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-06 16:55     ` Guenter Roeck
  2015-03-06 17:50       ` Murali Karicheri
@ 2015-03-06 17:58       ` Murali Karicheri
  2015-03-09 14:17         ` Murali Karicheri
  1 sibling, 1 reply; 16+ messages in thread
From: Murali Karicheri @ 2015-03-06 17:58 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Fengguang Wu, Bjorn Helgaas, LKP, linux-pci, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2150 bytes --]

On 03/06/2015 11:55 AM, Guenter Roeck wrote:
> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
> [ ... ]
>
>> > From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
>> From: Murali Karicheri<m-karicheri2@ti.com>
>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>> Subject: [PATCH] pci: of : fix kernel crash
>>
>> This is a debug patch to root cause the kernel crash
>>
>> 	commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>
>> 	PCI: Update DMA configuration from DT
>>
>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>> ---
>>   drivers/of/of_pci.c       |    8 ++++++++
>>   drivers/pci/host-bridge.c |    5 +++++
>>   2 files changed, 13 insertions(+)
>>
>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>> index 86d3c38..5a59fb8 100644
>> --- a/drivers/of/of_pci.c
>> +++ b/drivers/of/of_pci.c
>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
>>   	struct device *dev =&pci_dev->dev;
>>   	struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>
>> +	if (!bridge || !bridge->parent) {
>> +		if (!bridge)
>> +			pr_err("PCI bridge not found\n");
>> +		if (!bridge->parent)
>> +			pr_err("PCI bridge parent not found\n");
>
> You'll see a crash here if bridge is NULL. Maybe add an else before the second
> if statement ? Also, dev_err might be a bit more useful and would be available.
>
Fixed and attached.

Murali
> Thanks,
> Guenter
>
>> +		return;
>> +	}
>> +
>>   	of_dma_configure(dev, bridge->parent->of_node);
>>   	pci_put_host_bridge_device(bridge);
>>   }
>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>> index 3e5bbf9..ef2ab51 100644
>> --- a/drivers/pci/host-bridge.c
>> +++ b/drivers/pci/host-bridge.c
>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct pci_dev *dev)
>>   	struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>   	struct device *bridge = root_bus->bridge;
>>
>> +	if (!bridge) {
>> +		pr_err("PCI: bridge not found\n");
>> +		return NULL;
>> +	}
>> +
>>   	kobject_get(&bridge->kobj);
>>   	return bridge;
>>   }
>> --
>> 1.7.9.5
>>
>


-- 
Murali Karicheri
Linux Kernel, Texas Instruments

[-- Attachment #2: 0001-pci-of-fix-kernel-crash.patch --]
[-- Type: text/x-diff, Size: 1641 bytes --]

>From 4965a4580e0ffe13e7e6e9fd58d6e56b08c730c4 Mon Sep 17 00:00:00 2001
From: Murali Karicheri <m-karicheri2@ti.com>
Date: Fri, 6 Mar 2015 10:23:08 -0500
Subject: [PATCH] pci: of : fix kernel crash

This is a debug patch to root cause the kernel crash

	commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6

	PCI: Update DMA configuration from DT

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
---
 drivers/of/of_pci.c       |    9 +++++++++
 drivers/pci/host-bridge.c |    5 +++++
 2 files changed, 14 insertions(+)

diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
index 86d3c38..6e1b111 100644
--- a/drivers/of/of_pci.c
+++ b/drivers/of/of_pci.c
@@ -129,6 +129,15 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
 	struct device *dev = &pci_dev->dev;
 	struct device *bridge = pci_get_host_bridge_device(pci_dev);
 
+	if (!bridge || !bridge->parent) {
+		if (!bridge)
+			dev_err(&pci_dev->dev, "PCI bridge not found\n");
+		else if (!bridge->parent)
+			dev_err(&pci_dev->dev,
+				"PCI bridge parent not found\n");
+		return;
+	}
+
 	of_dma_configure(dev, bridge->parent->of_node);
 	pci_put_host_bridge_device(bridge);
 }
diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
index 3e5bbf9..ba642b8 100644
--- a/drivers/pci/host-bridge.c
+++ b/drivers/pci/host-bridge.c
@@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct pci_dev *dev)
 	struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
 	struct device *bridge = root_bus->bridge;
 
+	if (!bridge) {
+		dev_err(&dev->dev, "PCI: bridge not found\n");
+		return NULL;
+	}
+
 	kobject_get(&bridge->kobj);
 	return bridge;
 }
-- 
1.7.9.5


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-06 17:58       ` Murali Karicheri
@ 2015-03-09 14:17         ` Murali Karicheri
  2015-03-09 14:44           ` Bjorn Helgaas
  0 siblings, 1 reply; 16+ messages in thread
From: Murali Karicheri @ 2015-03-09 14:17 UTC (permalink / raw)
  To: Guenter Roeck, Bjorn Helgaas; +Cc: Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/06/2015 12:58 PM, Murali Karicheri wrote:
> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>> [ ... ]
>>
>>> > From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>> Subject: [PATCH] pci: of : fix kernel crash
>>>
>>> This is a debug patch to root cause the kernel crash
>>>
>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>
>>> PCI: Update DMA configuration from DT
>>>
>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>> ---
>>> drivers/of/of_pci.c | 8 ++++++++
>>> drivers/pci/host-bridge.c | 5 +++++
>>> 2 files changed, 13 insertions(+)
>>>
>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>> index 86d3c38..5a59fb8 100644
>>> --- a/drivers/of/of_pci.c
>>> +++ b/drivers/of/of_pci.c
>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
>>> struct device *dev =&pci_dev->dev;
>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>
>>> + if (!bridge || !bridge->parent) {
>>> + if (!bridge)
>>> + pr_err("PCI bridge not found\n");
>>> + if (!bridge->parent)
>>> + pr_err("PCI bridge parent not found\n");
>>
>> You'll see a crash here if bridge is NULL. Maybe add an else before
>> the second
>> if statement ? Also, dev_err might be a bit more useful and would be
>> available.
>>
> Fixed and attached.
>
> Murali
>> Thanks,
>> Guenter
>>
>>> + return;
>>> + }
>>> +
>>> of_dma_configure(dev, bridge->parent->of_node);
>>> pci_put_host_bridge_device(bridge);
>>> }
>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>> index 3e5bbf9..ef2ab51 100644
>>> --- a/drivers/pci/host-bridge.c
>>> +++ b/drivers/pci/host-bridge.c
>>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct
>>> pci_dev *dev)
>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>> struct device *bridge = root_bus->bridge;
>>>
>>> + if (!bridge) {
>>> + pr_err("PCI: bridge not found\n");
>>> + return NULL;
>>> + }
>>> +
>>> kobject_get(&bridge->kobj);
>>> return bridge;
>>> }
>>> --
>>> 1.7.9.5
>>>
>>
>
BJorn,

Any chance of applying the attached debug patch to see if this fixes and 
provide some additional information on this BUG? Not sure who will pick 
this one and apply.

-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 14:17         ` Murali Karicheri
@ 2015-03-09 14:44           ` Bjorn Helgaas
  2015-03-09 15:53             ` Murali Karicheri
  0 siblings, 1 reply; 16+ messages in thread
From: Bjorn Helgaas @ 2015-03-09 14:44 UTC (permalink / raw)
  To: Murali Karicheri
  Cc: Guenter Roeck, Fengguang Wu, LKP, linux-pci, linux-kernel

On Mon, Mar 9, 2015 at 9:17 AM, Murali Karicheri <m-karicheri2@ti.com> wrote:
> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>
>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>
>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>> [ ... ]
>>>
>>>> > From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>
>>>> This is a debug patch to root cause the kernel crash
>>>>
>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>
>>>> PCI: Update DMA configuration from DT
>>>>
>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>> ---
>>>> drivers/of/of_pci.c | 8 ++++++++
>>>> drivers/pci/host-bridge.c | 5 +++++
>>>> 2 files changed, 13 insertions(+)
>>>>
>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>> index 86d3c38..5a59fb8 100644
>>>> --- a/drivers/of/of_pci.c
>>>> +++ b/drivers/of/of_pci.c
>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
>>>> struct device *dev =&pci_dev->dev;
>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>
>>>> + if (!bridge || !bridge->parent) {
>>>> + if (!bridge)
>>>> + pr_err("PCI bridge not found\n");
>>>> + if (!bridge->parent)
>>>> + pr_err("PCI bridge parent not found\n");
>>>
>>>
>>> You'll see a crash here if bridge is NULL. Maybe add an else before
>>> the second
>>> if statement ? Also, dev_err might be a bit more useful and would be
>>> available.
>>>
>> Fixed and attached.
>>
>> Murali
>>>
>>> Thanks,
>>> Guenter
>>>
>>>> + return;
>>>> + }
>>>> +
>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>> pci_put_host_bridge_device(bridge);
>>>> }
>>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>>> index 3e5bbf9..ef2ab51 100644
>>>> --- a/drivers/pci/host-bridge.c
>>>> +++ b/drivers/pci/host-bridge.c
>>>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct
>>>> pci_dev *dev)
>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>> struct device *bridge = root_bus->bridge;
>>>>
>>>> + if (!bridge) {
>>>> + pr_err("PCI: bridge not found\n");
>>>> + return NULL;
>>>> + }
>>>> +
>>>> kobject_get(&bridge->kobj);
>>>> return bridge;
>>>> }
>>>> --
>>>> 1.7.9.5
>>>>
>>>
>>
> BJorn,
>
> Any chance of applying the attached debug patch to see if this fixes and
> provide some additional information on this BUG? Not sure who will pick this
> one and apply.

The change that caused the oops (0b2af171520e ("PCI: Update DMA
configuration from DT")) only exists on my pci/iommu branch, so I'm
the one to apply it.

It's much easier for me to deal with plain text patches (not attachments).

I'm hesitating because I don't want to encourage use of the 0-day
testing robot as a tool at which we can just throw debug patches.  The
robot is a service that costs somebody real money, and I want to be a
good neighbor when using it.

Was the information in the robot's report enough to reproduce the
oops?  If not, is there additional information we could add to the
report that would enable you to reproduce it?  Even if we can't
reproduce the oops, the report seems detailed enough that we should be
able to deduce the problem and produce a fix in which we have high
confidence.

Bjorn

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 14:44           ` Bjorn Helgaas
@ 2015-03-09 15:53             ` Murali Karicheri
  2015-03-09 16:07               ` Guenter Roeck
  0 siblings, 1 reply; 16+ messages in thread
From: Murali Karicheri @ 2015-03-09 15:53 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Guenter Roeck, Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
> On Mon, Mar 9, 2015 at 9:17 AM, Murali Karicheri<m-karicheri2@ti.com>  wrote:
>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>
>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>
>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>> [ ... ]
>>>>
>>>>>>  From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>
>>>>> This is a debug patch to root cause the kernel crash
>>>>>
>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>
>>>>> PCI: Update DMA configuration from DT
>>>>>
>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>> ---
>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>> 2 files changed, 13 insertions(+)
>>>>>
>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>> index 86d3c38..5a59fb8 100644
>>>>> --- a/drivers/of/of_pci.c
>>>>> +++ b/drivers/of/of_pci.c
>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
>>>>> struct device *dev =&pci_dev->dev;
>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>
>>>>> + if (!bridge || !bridge->parent) {
>>>>> + if (!bridge)
>>>>> + pr_err("PCI bridge not found\n");
>>>>> + if (!bridge->parent)
>>>>> + pr_err("PCI bridge parent not found\n");
>>>>
>>>>
>>>> You'll see a crash here if bridge is NULL. Maybe add an else before
>>>> the second
>>>> if statement ? Also, dev_err might be a bit more useful and would be
>>>> available.
>>>>
>>> Fixed and attached.
>>>
>>> Murali
>>>>
>>>> Thanks,
>>>> Guenter
>>>>
>>>>> + return;
>>>>> + }
>>>>> +
>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>> pci_put_host_bridge_device(bridge);
>>>>> }
>>>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>>>> index 3e5bbf9..ef2ab51 100644
>>>>> --- a/drivers/pci/host-bridge.c
>>>>> +++ b/drivers/pci/host-bridge.c
>>>>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct
>>>>> pci_dev *dev)
>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>> struct device *bridge = root_bus->bridge;
>>>>>
>>>>> + if (!bridge) {
>>>>> + pr_err("PCI: bridge not found\n");
>>>>> + return NULL;
>>>>> + }
>>>>> +
>>>>> kobject_get(&bridge->kobj);
>>>>> return bridge;
>>>>> }
>>>>> --
>>>>> 1.7.9.5
>>>>>
>>>>
>>>
>> BJorn,
>>
>> Any chance of applying the attached debug patch to see if this fixes and
>> provide some additional information on this BUG? Not sure who will pick this
>> one and apply.
>
> The change that caused the oops (0b2af171520e ("PCI: Update DMA
> configuration from DT")) only exists on my pci/iommu branch, so I'm
> the one to apply it.
>
> It's much easier for me to deal with plain text patches (not attachments).
>
> I'm hesitating because I don't want to encourage use of the 0-day
> testing robot as a tool at which we can just throw debug patches.  The
> robot is a service that costs somebody real money, and I want to be a
> good neighbor when using it.

Thanks for the clarification as I don't have much information on the 
testing robot. At the same time the question is how similar incidence in 
the past have been handled. I am a newbie w.r.t to this. This is first 
time I have introduced a patch that impacts multiple arch/machines.

>
> Was the information in the robot's report enough to reproduce the
> oops?  If not, is there additional information we could add to the
> report that would enable you to reproduce it?  Even if we can't
> reproduce the oops, the report seems detailed enough that we should be
> able to deduce the problem and produce a fix in which we have high
> confidence.

The BUG report essentially indicates the crash happened in 
of_pci_dma_configure(). The machine specific log make sense to a person 
familiar with this arch and I am not familiar with the same. So anyone 
can help narrow down the root cause of this?

Looking at the code, there are two ptr variables that are accessed 
without checking for NULL as initial thinking was that these can never 
be NULL. So the debug patch is just adding addition check before 
accessing the ptr. I can send this patch without debug prints if that 
make sense. I was thinking to get confirmation that this is indeed the 
case before adding the check. What do you think the right approach here? 
Send a patch for this to the ML for adding the check as a potential fix? 
Or someone can help me investigate the crash dump and root cause it? or 
if we can use test robot to confirm this, I can re-send the patch ASIS 
to the list. Please clarify.

Thanks and regards,

Murali
>
> Bjorn
> --
> 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


-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 15:53             ` Murali Karicheri
@ 2015-03-09 16:07               ` Guenter Roeck
  2015-03-09 17:03                 ` Murali Karicheri
  0 siblings, 1 reply; 16+ messages in thread
From: Guenter Roeck @ 2015-03-09 16:07 UTC (permalink / raw)
  To: Murali Karicheri, Bjorn Helgaas
  Cc: Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 08:53 AM, Murali Karicheri wrote:
> On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
>> On Mon, Mar 9, 2015 at 9:17 AM, Murali Karicheri<m-karicheri2@ti.com>  wrote:
>>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>>
>>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>>
>>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>>> [ ... ]
>>>>>
>>>>>>>  From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17 00:00:00 2001
>>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>>
>>>>>> This is a debug patch to root cause the kernel crash
>>>>>>
>>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>>
>>>>>> PCI: Update DMA configuration from DT
>>>>>>
>>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>>> ---
>>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>>> 2 files changed, 13 insertions(+)
>>>>>>
>>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>>> index 86d3c38..5a59fb8 100644
>>>>>> --- a/drivers/of/of_pci.c
>>>>>> +++ b/drivers/of/of_pci.c
>>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev *pci_dev)
>>>>>> struct device *dev =&pci_dev->dev;
>>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>>
>>>>>> + if (!bridge || !bridge->parent) {
>>>>>> + if (!bridge)
>>>>>> + pr_err("PCI bridge not found\n");
>>>>>> + if (!bridge->parent)
>>>>>> + pr_err("PCI bridge parent not found\n");
>>>>>
>>>>>
>>>>> You'll see a crash here if bridge is NULL. Maybe add an else before
>>>>> the second
>>>>> if statement ? Also, dev_err might be a bit more useful and would be
>>>>> available.
>>>>>
>>>> Fixed and attached.
>>>>
>>>> Murali
>>>>>
>>>>> Thanks,
>>>>> Guenter
>>>>>
>>>>>> + return;
>>>>>> + }
>>>>>> +
>>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>>> pci_put_host_bridge_device(bridge);
>>>>>> }
>>>>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>>>>> index 3e5bbf9..ef2ab51 100644
>>>>>> --- a/drivers/pci/host-bridge.c
>>>>>> +++ b/drivers/pci/host-bridge.c
>>>>>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct
>>>>>> pci_dev *dev)
>>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>>> struct device *bridge = root_bus->bridge;
>>>>>>
>>>>>> + if (!bridge) {
>>>>>> + pr_err("PCI: bridge not found\n");
>>>>>> + return NULL;
>>>>>> + }
>>>>>> +
>>>>>> kobject_get(&bridge->kobj);
>>>>>> return bridge;
>>>>>> }
>>>>>> --
>>>>>> 1.7.9.5
>>>>>>
>>>>>
>>>>
>>> BJorn,
>>>
>>> Any chance of applying the attached debug patch to see if this fixes and
>>> provide some additional information on this BUG? Not sure who will pick this
>>> one and apply.
>>
>> The change that caused the oops (0b2af171520e ("PCI: Update DMA
>> configuration from DT")) only exists on my pci/iommu branch, so I'm
>> the one to apply it.
>>
>> It's much easier for me to deal with plain text patches (not attachments).
>>
>> I'm hesitating because I don't want to encourage use of the 0-day
>> testing robot as a tool at which we can just throw debug patches.  The
>> robot is a service that costs somebody real money, and I want to be a
>> good neighbor when using it.
>
> Thanks for the clarification as I don't have much information on the testing robot. At the same time the question is how similar incidence in the past have been handled. I am a newbie w.r.t to this. This is first time I have introduced a patch that impacts multiple arch/machines.
>
>>
>> Was the information in the robot's report enough to reproduce the
>> oops?  If not, is there additional information we could add to the
>> report that would enable you to reproduce it?  Even if we can't
>> reproduce the oops, the report seems detailed enough that we should be
>> able to deduce the problem and produce a fix in which we have high
>> confidence.
>
> The BUG report essentially indicates the crash happened in of_pci_dma_configure(). The machine specific log make sense to a person familiar with this arch and I am not familiar with the same. So anyone can help narrow down the root cause of this?
>
> Looking at the code, there are two ptr variables that are accessed without checking for NULL as initial thinking was that these can never be NULL. So the debug patch is just adding addition check before accessing the ptr. I can send this patch without debug prints if that make sense. I was thinking to get confirmation that this is indeed the case before adding the check. What do you think the right approach here? Send a patch for this to the ML for adding the check as a potential fix? Or someone can help me investigate the crash dump and root cause it? or if we can use test robot to confirm this, I can re-send the patch ASIS to the list. Please clarify.
>
If the assumption is that the pointers can never be NULL,
wouldn't it be important to see a call trace and to find out
if the NULL pointers can actually be seen by design,
or if there is some other bug ?

I am a bit concerned that adding those NULL pointer checks
might end up hiding some other bug, ie that they just hide
the real bug without fixing it.

Thanks,
Guenter


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 16:07               ` Guenter Roeck
@ 2015-03-09 17:03                 ` Murali Karicheri
  2015-03-09 17:34                   ` Guenter Roeck
  0 siblings, 1 reply; 16+ messages in thread
From: Murali Karicheri @ 2015-03-09 17:03 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Bjorn Helgaas, Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 12:07 PM, Guenter Roeck wrote:
> On 03/09/2015 08:53 AM, Murali Karicheri wrote:
>> On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
>>> On Mon, Mar 9, 2015 at 9:17 AM, Murali Karicheri<m-karicheri2@ti.com>
>>> wrote:
>>>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>>>
>>>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>>>
>>>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>>>> [ ... ]
>>>>>>
>>>>>>>> From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17
>>>>>>>> 00:00:00 2001
>>>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>>>
>>>>>>> This is a debug patch to root cause the kernel crash
>>>>>>>
>>>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>>>
>>>>>>> PCI: Update DMA configuration from DT
>>>>>>>
>>>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>> ---
>>>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>>>> 2 files changed, 13 insertions(+)
>>>>>>>
>>>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>>>> index 86d3c38..5a59fb8 100644
>>>>>>> --- a/drivers/of/of_pci.c
>>>>>>> +++ b/drivers/of/of_pci.c
>>>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev
>>>>>>> *pci_dev)
>>>>>>> struct device *dev =&pci_dev->dev;
>>>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>>>
>>>>>>> + if (!bridge || !bridge->parent) {
>>>>>>> + if (!bridge)
>>>>>>> + pr_err("PCI bridge not found\n");
>>>>>>> + if (!bridge->parent)
>>>>>>> + pr_err("PCI bridge parent not found\n");
>>>>>>
>>>>>>
>>>>>> You'll see a crash here if bridge is NULL. Maybe add an else before
>>>>>> the second
>>>>>> if statement ? Also, dev_err might be a bit more useful and would be
>>>>>> available.
>>>>>>
>>>>> Fixed and attached.
>>>>>
>>>>> Murali
>>>>>>
>>>>>> Thanks,
>>>>>> Guenter
>>>>>>
>>>>>>> + return;
>>>>>>> + }
>>>>>>> +
>>>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>>>> pci_put_host_bridge_device(bridge);
>>>>>>> }
>>>>>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>>>>>> index 3e5bbf9..ef2ab51 100644
>>>>>>> --- a/drivers/pci/host-bridge.c
>>>>>>> +++ b/drivers/pci/host-bridge.c
>>>>>>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct
>>>>>>> pci_dev *dev)
>>>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>>>> struct device *bridge = root_bus->bridge;
>>>>>>>
>>>>>>> + if (!bridge) {
>>>>>>> + pr_err("PCI: bridge not found\n");
>>>>>>> + return NULL;
>>>>>>> + }
>>>>>>> +
>>>>>>> kobject_get(&bridge->kobj);
>>>>>>> return bridge;
>>>>>>> }
>>>>>>> --
>>>>>>> 1.7.9.5
>>>>>>>
>>>>>>
>>>>>
>>>> BJorn,
>>>>
>>>> Any chance of applying the attached debug patch to see if this fixes
>>>> and
>>>> provide some additional information on this BUG? Not sure who will
>>>> pick this
>>>> one and apply.
>>>
>>> The change that caused the oops (0b2af171520e ("PCI: Update DMA
>>> configuration from DT")) only exists on my pci/iommu branch, so I'm
>>> the one to apply it.
>>>
>>> It's much easier for me to deal with plain text patches (not
>>> attachments).
>>>
>>> I'm hesitating because I don't want to encourage use of the 0-day
>>> testing robot as a tool at which we can just throw debug patches. The
>>> robot is a service that costs somebody real money, and I want to be a
>>> good neighbor when using it.
>>
>> Thanks for the clarification as I don't have much information on the
>> testing robot. At the same time the question is how similar incidence
>> in the past have been handled. I am a newbie w.r.t to this. This is
>> first time I have introduced a patch that impacts multiple arch/machines.
>>
>>>
>>> Was the information in the robot's report enough to reproduce the
>>> oops? If not, is there additional information we could add to the
>>> report that would enable you to reproduce it? Even if we can't
>>> reproduce the oops, the report seems detailed enough that we should be
>>> able to deduce the problem and produce a fix in which we have high
>>> confidence.
>>
>> The BUG report essentially indicates the crash happened in
>> of_pci_dma_configure(). The machine specific log make sense to a
>> person familiar with this arch and I am not familiar with the same. So
>> anyone can help narrow down the root cause of this?
>>
>> Looking at the code, there are two ptr variables that are accessed
>> without checking for NULL as initial thinking was that these can never
>> be NULL. So the debug patch is just adding addition check before
>> accessing the ptr. I can send this patch without debug prints if that
>> make sense. I was thinking to get confirmation that this is indeed the
>> case before adding the check. What do you think the right approach
>> here? Send a patch for this to the ML for adding the check as a
>> potential fix? Or someone can help me investigate the crash dump and
>> root cause it? or if we can use test robot to confirm this, I can
>> re-send the patch ASIS to the list. Please clarify.
>>
> If the assumption is that the pointers can never be NULL,
> wouldn't it be important to see a call trace and to find out
> if the NULL pointers can actually be seen by design,
> or if there is some other bug ?

Call trace shows

  [    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
[    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820


And BUG seems to be in of_pci_dma_configure() as shown in the BUG report.

of_pci_dma_configure() calls newly added API call to 
pci_get_host_bridge_device(). Seems like this has succeeded which means 
bridge is non NULL IMO. However in this function it passes 
bridge->parent->of_node to of_dma_configure(). So I suspect 
bridge->parent is NULL for some reason. Is there a chance for parent 
being NULL in this or any other platform?

>
> I am a bit concerned that adding those NULL pointer checks
> might end up hiding some other bug, ie that they just hide
> the real bug without fixing it.
>

I agree with you as well. That is the reason I had added the debug 
prints in the attached patch to check what is NULL here and that can 
help us dig into this more.

If BJorn can accept this debug patch for finding this, that will help. I 
can re-send it to the list as a debug patch if everyone agrees. 
Otherwise I don't know how to proceed from here.

Thanks and regards,

Murali
> Thanks,
> Guenter
>


-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 17:03                 ` Murali Karicheri
@ 2015-03-09 17:34                   ` Guenter Roeck
  2015-03-09 18:09                     ` Murali Karicheri
  0 siblings, 1 reply; 16+ messages in thread
From: Guenter Roeck @ 2015-03-09 17:34 UTC (permalink / raw)
  To: Murali Karicheri
  Cc: Bjorn Helgaas, Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 10:03 AM, Murali Karicheri wrote:
> On 03/09/2015 12:07 PM, Guenter Roeck wrote:
>> On 03/09/2015 08:53 AM, Murali Karicheri wrote:
>>> On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
>>>> On Mon, Mar 9, 2015 at 9:17 AM, Murali Karicheri<m-karicheri2@ti.com>
>>>> wrote:
>>>>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>>>>
>>>>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>>>>
>>>>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>>>>> [ ... ]
>>>>>>>
>>>>>>>>> From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17
>>>>>>>>> 00:00:00 2001
>>>>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>>>>
>>>>>>>> This is a debug patch to root cause the kernel crash
>>>>>>>>
>>>>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>>>>
>>>>>>>> PCI: Update DMA configuration from DT
>>>>>>>>
>>>>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>> ---
>>>>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>>>>> 2 files changed, 13 insertions(+)
>>>>>>>>
>>>>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>>>>> index 86d3c38..5a59fb8 100644
>>>>>>>> --- a/drivers/of/of_pci.c
>>>>>>>> +++ b/drivers/of/of_pci.c
>>>>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev
>>>>>>>> *pci_dev)
>>>>>>>> struct device *dev =&pci_dev->dev;
>>>>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>>>>
>>>>>>>> + if (!bridge || !bridge->parent) {
>>>>>>>> + if (!bridge)
>>>>>>>> + pr_err("PCI bridge not found\n");
>>>>>>>> + if (!bridge->parent)
>>>>>>>> + pr_err("PCI bridge parent not found\n");
>>>>>>>
>>>>>>>
>>>>>>> You'll see a crash here if bridge is NULL. Maybe add an else before
>>>>>>> the second
>>>>>>> if statement ? Also, dev_err might be a bit more useful and would be
>>>>>>> available.
>>>>>>>
>>>>>> Fixed and attached.
>>>>>>
>>>>>> Murali
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Guenter
>>>>>>>
>>>>>>>> + return;
>>>>>>>> + }
>>>>>>>> +
>>>>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>>>>> pci_put_host_bridge_device(bridge);
>>>>>>>> }
>>>>>>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>>>>>>> index 3e5bbf9..ef2ab51 100644
>>>>>>>> --- a/drivers/pci/host-bridge.c
>>>>>>>> +++ b/drivers/pci/host-bridge.c
>>>>>>>> @@ -28,6 +28,11 @@ struct device *pci_get_host_bridge_device(struct
>>>>>>>> pci_dev *dev)
>>>>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>>>>> struct device *bridge = root_bus->bridge;
>>>>>>>>
>>>>>>>> + if (!bridge) {
>>>>>>>> + pr_err("PCI: bridge not found\n");
>>>>>>>> + return NULL;
>>>>>>>> + }
>>>>>>>> +
>>>>>>>> kobject_get(&bridge->kobj);
>>>>>>>> return bridge;
>>>>>>>> }
>>>>>>>> --
>>>>>>>> 1.7.9.5
>>>>>>>>
>>>>>>>
>>>>>>
>>>>> BJorn,
>>>>>
>>>>> Any chance of applying the attached debug patch to see if this fixes
>>>>> and
>>>>> provide some additional information on this BUG? Not sure who will
>>>>> pick this
>>>>> one and apply.
>>>>
>>>> The change that caused the oops (0b2af171520e ("PCI: Update DMA
>>>> configuration from DT")) only exists on my pci/iommu branch, so I'm
>>>> the one to apply it.
>>>>
>>>> It's much easier for me to deal with plain text patches (not
>>>> attachments).
>>>>
>>>> I'm hesitating because I don't want to encourage use of the 0-day
>>>> testing robot as a tool at which we can just throw debug patches. The
>>>> robot is a service that costs somebody real money, and I want to be a
>>>> good neighbor when using it.
>>>
>>> Thanks for the clarification as I don't have much information on the
>>> testing robot. At the same time the question is how similar incidence
>>> in the past have been handled. I am a newbie w.r.t to this. This is
>>> first time I have introduced a patch that impacts multiple arch/machines.
>>>
>>>>
>>>> Was the information in the robot's report enough to reproduce the
>>>> oops? If not, is there additional information we could add to the
>>>> report that would enable you to reproduce it? Even if we can't
>>>> reproduce the oops, the report seems detailed enough that we should be
>>>> able to deduce the problem and produce a fix in which we have high
>>>> confidence.
>>>
>>> The BUG report essentially indicates the crash happened in
>>> of_pci_dma_configure(). The machine specific log make sense to a
>>> person familiar with this arch and I am not familiar with the same. So
>>> anyone can help narrow down the root cause of this?
>>>
>>> Looking at the code, there are two ptr variables that are accessed
>>> without checking for NULL as initial thinking was that these can never
>>> be NULL. So the debug patch is just adding addition check before
>>> accessing the ptr. I can send this patch without debug prints if that
>>> make sense. I was thinking to get confirmation that this is indeed the
>>> case before adding the check. What do you think the right approach
>>> here? Send a patch for this to the ML for adding the check as a
>>> potential fix? Or someone can help me investigate the crash dump and
>>> root cause it? or if we can use test robot to confirm this, I can
>>> re-send the patch ASIS to the list. Please clarify.
>>>
>> If the assumption is that the pointers can never be NULL,
>> wouldn't it be important to see a call trace and to find out
>> if the NULL pointers can actually be seen by design,
>> or if there is some other bug ?
>
> Call trace shows
>
>   [    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
> [    0.576666]  [<7976c1ac>] pci_device_add+0xbc/0x820
>
>
> And BUG seems to be in of_pci_dma_configure() as shown in the BUG report.
>
> of_pci_dma_configure() calls newly added API call to pci_get_host_bridge_device(). Seems like this has succeeded which means bridge is non NULL IMO. However in this function it passes bridge->parent->of_node to of_dma_configure(). So I suspect bridge->parent is NULL for some reason. Is there a chance for parent being NULL in this or any other platform?
>

Can bridge be the root bridge ?

Guenter

>>
>> I am a bit concerned that adding those NULL pointer checks
>> might end up hiding some other bug, ie that they just hide
>> the real bug without fixing it.
>>
>
> I agree with you as well. That is the reason I had added the debug prints in the attached patch to check what is NULL here and that can help us dig into this more.
>
> If BJorn can accept this debug patch for finding this, that will help. I can re-send it to the list as a debug patch if everyone agrees. Otherwise I don't know how to proceed from here.
>
> Thanks and regards,
>
> Murali
>> Thanks,
>> Guenter
>>
>
>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 17:34                   ` Guenter Roeck
@ 2015-03-09 18:09                     ` Murali Karicheri
  2015-03-09 18:12                       ` Guenter Roeck
  0 siblings, 1 reply; 16+ messages in thread
From: Murali Karicheri @ 2015-03-09 18:09 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Bjorn Helgaas, Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 01:34 PM, Guenter Roeck wrote:
> On 03/09/2015 10:03 AM, Murali Karicheri wrote:
>> On 03/09/2015 12:07 PM, Guenter Roeck wrote:
>>> On 03/09/2015 08:53 AM, Murali Karicheri wrote:
>>>> On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
>>>>> On Mon, Mar 9, 2015 at 9:17 AM, Murali Karicheri<m-karicheri2@ti.com>
>>>>> wrote:
>>>>>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>>>>>
>>>>>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>>>>>
>>>>>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>>>>>> [ ... ]
>>>>>>>>
>>>>>>>>>> From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17
>>>>>>>>>> 00:00:00 2001
>>>>>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>>>>>
>>>>>>>>> This is a debug patch to root cause the kernel crash
>>>>>>>>>
>>>>>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>>>>>
>>>>>>>>> PCI: Update DMA configuration from DT
>>>>>>>>>
>>>>>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>> ---
>>>>>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>>>>>> 2 files changed, 13 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>>>>>> index 86d3c38..5a59fb8 100644
>>>>>>>>> --- a/drivers/of/of_pci.c
>>>>>>>>> +++ b/drivers/of/of_pci.c
>>>>>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev
>>>>>>>>> *pci_dev)
>>>>>>>>> struct device *dev =&pci_dev->dev;
>>>>>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>>>>>
>>>>>>>>> + if (!bridge || !bridge->parent) {
>>>>>>>>> + if (!bridge)
>>>>>>>>> + pr_err("PCI bridge not found\n");
>>>>>>>>> + if (!bridge->parent)
>>>>>>>>> + pr_err("PCI bridge parent not found\n");
>>>>>>>>
>>>>>>>>
>>>>>>>> You'll see a crash here if bridge is NULL. Maybe add an else before
>>>>>>>> the second
>>>>>>>> if statement ? Also, dev_err might be a bit more useful and
>>>>>>>> would be
>>>>>>>> available.
>>>>>>>>
>>>>>>> Fixed and attached.
>>>>>>>
>>>>>>> Murali
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Guenter
>>>>>>>>
>>>>>>>>> + return;
>>>>>>>>> + }
>>>>>>>>> +
>>>>>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>>>>>> pci_put_host_bridge_device(bridge);
>>>>>>>>> }
>>>>>>>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>>>>>>>> index 3e5bbf9..ef2ab51 100644
>>>>>>>>> --- a/drivers/pci/host-bridge.c
>>>>>>>>> +++ b/drivers/pci/host-bridge.c
>>>>>>>>> @@ -28,6 +28,11 @@ struct device
>>>>>>>>> *pci_get_host_bridge_device(struct
>>>>>>>>> pci_dev *dev)
>>>>>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>>>>>> struct device *bridge = root_bus->bridge;
>>>>>>>>>
>>>>>>>>> + if (!bridge) {
>>>>>>>>> + pr_err("PCI: bridge not found\n");
>>>>>>>>> + return NULL;
>>>>>>>>> + }
>>>>>>>>> +
>>>>>>>>> kobject_get(&bridge->kobj);
>>>>>>>>> return bridge;
>>>>>>>>> }
>>>>>>>>> --
>>>>>>>>> 1.7.9.5
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>> BJorn,
>>>>>>
>>>>>> Any chance of applying the attached debug patch to see if this fixes
>>>>>> and
>>>>>> provide some additional information on this BUG? Not sure who will
>>>>>> pick this
>>>>>> one and apply.
>>>>>
>>>>> The change that caused the oops (0b2af171520e ("PCI: Update DMA
>>>>> configuration from DT")) only exists on my pci/iommu branch, so I'm
>>>>> the one to apply it.
>>>>>
>>>>> It's much easier for me to deal with plain text patches (not
>>>>> attachments).
>>>>>
>>>>> I'm hesitating because I don't want to encourage use of the 0-day
>>>>> testing robot as a tool at which we can just throw debug patches. The
>>>>> robot is a service that costs somebody real money, and I want to be a
>>>>> good neighbor when using it.
>>>>
>>>> Thanks for the clarification as I don't have much information on the
>>>> testing robot. At the same time the question is how similar incidence
>>>> in the past have been handled. I am a newbie w.r.t to this. This is
>>>> first time I have introduced a patch that impacts multiple
>>>> arch/machines.
>>>>
>>>>>
>>>>> Was the information in the robot's report enough to reproduce the
>>>>> oops? If not, is there additional information we could add to the
>>>>> report that would enable you to reproduce it? Even if we can't
>>>>> reproduce the oops, the report seems detailed enough that we should be
>>>>> able to deduce the problem and produce a fix in which we have high
>>>>> confidence.
>>>>
>>>> The BUG report essentially indicates the crash happened in
>>>> of_pci_dma_configure(). The machine specific log make sense to a
>>>> person familiar with this arch and I am not familiar with the same. So
>>>> anyone can help narrow down the root cause of this?
>>>>
>>>> Looking at the code, there are two ptr variables that are accessed
>>>> without checking for NULL as initial thinking was that these can never
>>>> be NULL. So the debug patch is just adding addition check before
>>>> accessing the ptr. I can send this patch without debug prints if that
>>>> make sense. I was thinking to get confirmation that this is indeed the
>>>> case before adding the check. What do you think the right approach
>>>> here? Send a patch for this to the ML for adding the check as a
>>>> potential fix? Or someone can help me investigate the crash dump and
>>>> root cause it? or if we can use test robot to confirm this, I can
>>>> re-send the patch ASIS to the list. Please clarify.
>>>>
>>> If the assumption is that the pointers can never be NULL,
>>> wouldn't it be important to see a call trace and to find out
>>> if the NULL pointers can actually be seen by design,
>>> or if there is some other bug ?
>>
>> Call trace shows
>>
>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>>
>>
>> And BUG seems to be in of_pci_dma_configure() as shown in the BUG report.
>>
>> of_pci_dma_configure() calls newly added API call to
>> pci_get_host_bridge_device(). Seems like this has succeeded which
>> means bridge is non NULL IMO. However in this function it passes
>> bridge->parent->of_node to of_dma_configure(). So I suspect
>> bridge->parent is NULL for some reason. Is there a chance for parent
>> being NULL in this or any other platform?
>>
>
> Can bridge be the root bridge ?

Going by the code below, bridge is assigned the ptr to bridge on the 
root bus.

+struct device *pci_get_host_bridge_device(struct pci_dev *dev)
+{
+	struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
+	struct device *bridge = root_bus->bridge;
+
+	kobject_get(&bridge->kobj);
+	return bridge;
+}
+

So to answer your question, yes it is the root bridge.

-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 18:09                     ` Murali Karicheri
@ 2015-03-09 18:12                       ` Guenter Roeck
  2015-03-09 20:52                         ` Murali Karicheri
  2015-03-10 15:29                         ` Murali Karicheri
  0 siblings, 2 replies; 16+ messages in thread
From: Guenter Roeck @ 2015-03-09 18:12 UTC (permalink / raw)
  To: Murali Karicheri
  Cc: Bjorn Helgaas, Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 11:09 AM, Murali Karicheri wrote:
> On 03/09/2015 01:34 PM, Guenter Roeck wrote:
>> On 03/09/2015 10:03 AM, Murali Karicheri wrote:
>>> On 03/09/2015 12:07 PM, Guenter Roeck wrote:
>>>> On 03/09/2015 08:53 AM, Murali Karicheri wrote:
>>>>> On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
>>>>>> On Mon, Mar 9, 2015 at 9:17 AM, Murali Karicheri<m-karicheri2@ti.com>
>>>>>> wrote:
>>>>>>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>>>>>>
>>>>>>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>>>>>>
>>>>>>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>>>>>>> [ ... ]
>>>>>>>>>
>>>>>>>>>>> From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17
>>>>>>>>>>> 00:00:00 2001
>>>>>>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>>>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>>>>>>
>>>>>>>>>> This is a debug patch to root cause the kernel crash
>>>>>>>>>>
>>>>>>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>>>>>>
>>>>>>>>>> PCI: Update DMA configuration from DT
>>>>>>>>>>
>>>>>>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>>> ---
>>>>>>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>>>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>>>>>>> 2 files changed, 13 insertions(+)
>>>>>>>>>>
>>>>>>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>>>>>>> index 86d3c38..5a59fb8 100644
>>>>>>>>>> --- a/drivers/of/of_pci.c
>>>>>>>>>> +++ b/drivers/of/of_pci.c
>>>>>>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev
>>>>>>>>>> *pci_dev)
>>>>>>>>>> struct device *dev =&pci_dev->dev;
>>>>>>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>>>>>>
>>>>>>>>>> + if (!bridge || !bridge->parent) {
>>>>>>>>>> + if (!bridge)
>>>>>>>>>> + pr_err("PCI bridge not found\n");
>>>>>>>>>> + if (!bridge->parent)
>>>>>>>>>> + pr_err("PCI bridge parent not found\n");
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> You'll see a crash here if bridge is NULL. Maybe add an else before
>>>>>>>>> the second
>>>>>>>>> if statement ? Also, dev_err might be a bit more useful and
>>>>>>>>> would be
>>>>>>>>> available.
>>>>>>>>>
>>>>>>>> Fixed and attached.
>>>>>>>>
>>>>>>>> Murali
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Guenter
>>>>>>>>>
>>>>>>>>>> + return;
>>>>>>>>>> + }
>>>>>>>>>> +
>>>>>>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>>>>>>> pci_put_host_bridge_device(bridge);
>>>>>>>>>> }
>>>>>>>>>> diff --git a/drivers/pci/host-bridge.c b/drivers/pci/host-bridge.c
>>>>>>>>>> index 3e5bbf9..ef2ab51 100644
>>>>>>>>>> --- a/drivers/pci/host-bridge.c
>>>>>>>>>> +++ b/drivers/pci/host-bridge.c
>>>>>>>>>> @@ -28,6 +28,11 @@ struct device
>>>>>>>>>> *pci_get_host_bridge_device(struct
>>>>>>>>>> pci_dev *dev)
>>>>>>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>>>>>>> struct device *bridge = root_bus->bridge;
>>>>>>>>>>
>>>>>>>>>> + if (!bridge) {
>>>>>>>>>> + pr_err("PCI: bridge not found\n");
>>>>>>>>>> + return NULL;
>>>>>>>>>> + }
>>>>>>>>>> +
>>>>>>>>>> kobject_get(&bridge->kobj);
>>>>>>>>>> return bridge;
>>>>>>>>>> }
>>>>>>>>>> --
>>>>>>>>>> 1.7.9.5
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>> BJorn,
>>>>>>>
>>>>>>> Any chance of applying the attached debug patch to see if this fixes
>>>>>>> and
>>>>>>> provide some additional information on this BUG? Not sure who will
>>>>>>> pick this
>>>>>>> one and apply.
>>>>>>
>>>>>> The change that caused the oops (0b2af171520e ("PCI: Update DMA
>>>>>> configuration from DT")) only exists on my pci/iommu branch, so I'm
>>>>>> the one to apply it.
>>>>>>
>>>>>> It's much easier for me to deal with plain text patches (not
>>>>>> attachments).
>>>>>>
>>>>>> I'm hesitating because I don't want to encourage use of the 0-day
>>>>>> testing robot as a tool at which we can just throw debug patches. The
>>>>>> robot is a service that costs somebody real money, and I want to be a
>>>>>> good neighbor when using it.
>>>>>
>>>>> Thanks for the clarification as I don't have much information on the
>>>>> testing robot. At the same time the question is how similar incidence
>>>>> in the past have been handled. I am a newbie w.r.t to this. This is
>>>>> first time I have introduced a patch that impacts multiple
>>>>> arch/machines.
>>>>>
>>>>>>
>>>>>> Was the information in the robot's report enough to reproduce the
>>>>>> oops? If not, is there additional information we could add to the
>>>>>> report that would enable you to reproduce it? Even if we can't
>>>>>> reproduce the oops, the report seems detailed enough that we should be
>>>>>> able to deduce the problem and produce a fix in which we have high
>>>>>> confidence.
>>>>>
>>>>> The BUG report essentially indicates the crash happened in
>>>>> of_pci_dma_configure(). The machine specific log make sense to a
>>>>> person familiar with this arch and I am not familiar with the same. So
>>>>> anyone can help narrow down the root cause of this?
>>>>>
>>>>> Looking at the code, there are two ptr variables that are accessed
>>>>> without checking for NULL as initial thinking was that these can never
>>>>> be NULL. So the debug patch is just adding addition check before
>>>>> accessing the ptr. I can send this patch without debug prints if that
>>>>> make sense. I was thinking to get confirmation that this is indeed the
>>>>> case before adding the check. What do you think the right approach
>>>>> here? Send a patch for this to the ML for adding the check as a
>>>>> potential fix? Or someone can help me investigate the crash dump and
>>>>> root cause it? or if we can use test robot to confirm this, I can
>>>>> re-send the patch ASIS to the list. Please clarify.
>>>>>
>>>> If the assumption is that the pointers can never be NULL,
>>>> wouldn't it be important to see a call trace and to find out
>>>> if the NULL pointers can actually be seen by design,
>>>> or if there is some other bug ?
>>>
>>> Call trace shows
>>>
>>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>>>
>>>
>>> And BUG seems to be in of_pci_dma_configure() as shown in the BUG report.
>>>
>>> of_pci_dma_configure() calls newly added API call to
>>> pci_get_host_bridge_device(). Seems like this has succeeded which
>>> means bridge is non NULL IMO. However in this function it passes
>>> bridge->parent->of_node to of_dma_configure(). So I suspect
>>> bridge->parent is NULL for some reason. Is there a chance for parent
>>> being NULL in this or any other platform?
>>>
>>
>> Can bridge be the root bridge ?
>
> Going by the code below, bridge is assigned the ptr to bridge on the root bus.
>
> +struct device *pci_get_host_bridge_device(struct pci_dev *dev)
> +{
> +    struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
> +    struct device *bridge = root_bus->bridge;
> +
> +    kobject_get(&bridge->kobj);
> +    return bridge;
> +}
> +
>
> So to answer your question, yes it is the root bridge.
>
AFAIK the root bridge does not have a parent.

Guenter


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 18:12                       ` Guenter Roeck
@ 2015-03-09 20:52                         ` Murali Karicheri
  2015-03-10 15:29                         ` Murali Karicheri
  1 sibling, 0 replies; 16+ messages in thread
From: Murali Karicheri @ 2015-03-09 20:52 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Bjorn Helgaas, Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 02:12 PM, Guenter Roeck wrote:
> On 03/09/2015 11:09 AM, Murali Karicheri wrote:
>> On 03/09/2015 01:34 PM, Guenter Roeck wrote:
>>> On 03/09/2015 10:03 AM, Murali Karicheri wrote:
>>>> On 03/09/2015 12:07 PM, Guenter Roeck wrote:
>>>>> On 03/09/2015 08:53 AM, Murali Karicheri wrote:
>>>>>> On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
>>>>>>> On Mon, Mar 9, 2015 at 9:17 AM, Murali
>>>>>>> Karicheri<m-karicheri2@ti.com>
>>>>>>> wrote:
>>>>>>>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>>>>>>>
>>>>>>>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>>>>>>>
>>>>>>>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>>>>>>>> [ ... ]
>>>>>>>>>>
>>>>>>>>>>>> From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17
>>>>>>>>>>>> 00:00:00 2001
>>>>>>>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>>>>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>>>>>>>
>>>>>>>>>>> This is a debug patch to root cause the kernel crash
>>>>>>>>>>>
>>>>>>>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>>>>>>>
>>>>>>>>>>> PCI: Update DMA configuration from DT
>>>>>>>>>>>
>>>>>>>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>>>> ---
>>>>>>>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>>>>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>>>>>>>> 2 files changed, 13 insertions(+)
>>>>>>>>>>>
>>>>>>>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>>>>>>>> index 86d3c38..5a59fb8 100644
>>>>>>>>>>> --- a/drivers/of/of_pci.c
>>>>>>>>>>> +++ b/drivers/of/of_pci.c
>>>>>>>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev
>>>>>>>>>>> *pci_dev)
>>>>>>>>>>> struct device *dev =&pci_dev->dev;
>>>>>>>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>>>>>>>
>>>>>>>>>>> + if (!bridge || !bridge->parent) {
>>>>>>>>>>> + if (!bridge)
>>>>>>>>>>> + pr_err("PCI bridge not found\n");
>>>>>>>>>>> + if (!bridge->parent)
>>>>>>>>>>> + pr_err("PCI bridge parent not found\n");
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> You'll see a crash here if bridge is NULL. Maybe add an else
>>>>>>>>>> before
>>>>>>>>>> the second
>>>>>>>>>> if statement ? Also, dev_err might be a bit more useful and
>>>>>>>>>> would be
>>>>>>>>>> available.
>>>>>>>>>>
>>>>>>>>> Fixed and attached.
>>>>>>>>>
>>>>>>>>> Murali
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Guenter
>>>>>>>>>>
>>>>>>>>>>> + return;
>>>>>>>>>>> + }
>>>>>>>>>>> +
>>>>>>>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>>>>>>>> pci_put_host_bridge_device(bridge);
>>>>>>>>>>> }
>>>>>>>>>>> diff --git a/drivers/pci/host-bridge.c
>>>>>>>>>>> b/drivers/pci/host-bridge.c
>>>>>>>>>>> index 3e5bbf9..ef2ab51 100644
>>>>>>>>>>> --- a/drivers/pci/host-bridge.c
>>>>>>>>>>> +++ b/drivers/pci/host-bridge.c
>>>>>>>>>>> @@ -28,6 +28,11 @@ struct device
>>>>>>>>>>> *pci_get_host_bridge_device(struct
>>>>>>>>>>> pci_dev *dev)
>>>>>>>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>>>>>>>> struct device *bridge = root_bus->bridge;
>>>>>>>>>>>
>>>>>>>>>>> + if (!bridge) {
>>>>>>>>>>> + pr_err("PCI: bridge not found\n");
>>>>>>>>>>> + return NULL;
>>>>>>>>>>> + }
>>>>>>>>>>> +
>>>>>>>>>>> kobject_get(&bridge->kobj);
>>>>>>>>>>> return bridge;
>>>>>>>>>>> }
>>>>>>>>>>> --
>>>>>>>>>>> 1.7.9.5
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> BJorn,
>>>>>>>>
>>>>>>>> Any chance of applying the attached debug patch to see if this
>>>>>>>> fixes
>>>>>>>> and
>>>>>>>> provide some additional information on this BUG? Not sure who will
>>>>>>>> pick this
>>>>>>>> one and apply.
>>>>>>>
>>>>>>> The change that caused the oops (0b2af171520e ("PCI: Update DMA
>>>>>>> configuration from DT")) only exists on my pci/iommu branch, so I'm
>>>>>>> the one to apply it.
>>>>>>>
>>>>>>> It's much easier for me to deal with plain text patches (not
>>>>>>> attachments).
>>>>>>>
>>>>>>> I'm hesitating because I don't want to encourage use of the 0-day
>>>>>>> testing robot as a tool at which we can just throw debug patches.
>>>>>>> The
>>>>>>> robot is a service that costs somebody real money, and I want to
>>>>>>> be a
>>>>>>> good neighbor when using it.
>>>>>>
>>>>>> Thanks for the clarification as I don't have much information on the
>>>>>> testing robot. At the same time the question is how similar incidence
>>>>>> in the past have been handled. I am a newbie w.r.t to this. This is
>>>>>> first time I have introduced a patch that impacts multiple
>>>>>> arch/machines.
>>>>>>
>>>>>>>
>>>>>>> Was the information in the robot's report enough to reproduce the
>>>>>>> oops? If not, is there additional information we could add to the
>>>>>>> report that would enable you to reproduce it? Even if we can't
>>>>>>> reproduce the oops, the report seems detailed enough that we
>>>>>>> should be
>>>>>>> able to deduce the problem and produce a fix in which we have high
>>>>>>> confidence.
>>>>>>
>>>>>> The BUG report essentially indicates the crash happened in
>>>>>> of_pci_dma_configure(). The machine specific log make sense to a
>>>>>> person familiar with this arch and I am not familiar with the
>>>>>> same. So
>>>>>> anyone can help narrow down the root cause of this?
>>>>>>
>>>>>> Looking at the code, there are two ptr variables that are accessed
>>>>>> without checking for NULL as initial thinking was that these can
>>>>>> never
>>>>>> be NULL. So the debug patch is just adding addition check before
>>>>>> accessing the ptr. I can send this patch without debug prints if that
>>>>>> make sense. I was thinking to get confirmation that this is indeed
>>>>>> the
>>>>>> case before adding the check. What do you think the right approach
>>>>>> here? Send a patch for this to the ML for adding the check as a
>>>>>> potential fix? Or someone can help me investigate the crash dump and
>>>>>> root cause it? or if we can use test robot to confirm this, I can
>>>>>> re-send the patch ASIS to the list. Please clarify.
>>>>>>
>>>>> If the assumption is that the pointers can never be NULL,
>>>>> wouldn't it be important to see a call trace and to find out
>>>>> if the NULL pointers can actually be seen by design,
>>>>> or if there is some other bug ?
>>>>
>>>> Call trace shows
>>>>
>>>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>>>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>>>>
>>>>
>>>> And BUG seems to be in of_pci_dma_configure() as shown in the BUG
>>>> report.
>>>>
>>>> of_pci_dma_configure() calls newly added API call to
>>>> pci_get_host_bridge_device(). Seems like this has succeeded which
>>>> means bridge is non NULL IMO. However in this function it passes
>>>> bridge->parent->of_node to of_dma_configure(). So I suspect
>>>> bridge->parent is NULL for some reason. Is there a chance for parent
>>>> being NULL in this or any other platform?
>>>>
>>>
>>> Can bridge be the root bridge ?
>>
>> Going by the code below, bridge is assigned the ptr to bridge on the
>> root bus.
>>
>> +struct device *pci_get_host_bridge_device(struct pci_dev *dev)
>> +{
>> + struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>> + struct device *bridge = root_bus->bridge;
>> +
>> + kobject_get(&bridge->kobj);
>> + return bridge;
>> +}
>> +
>>
>> So to answer your question, yes it is the root bridge.
>>
> AFAIK the root bridge does not have a parent.

Aha! That seems to be the problem. A grep on the tree showed up a bunch 
of calling pci_create_root_bus() with first arg (parent) being null 
(x86, ia64). So the code needs to check for the parent node being non 
null and potentially causing this crash. I will send an incremental 
patch to add this check.

Murali

>
> Guenter
>


-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PCI] BUG: unable to handle kernel
  2015-03-09 18:12                       ` Guenter Roeck
  2015-03-09 20:52                         ` Murali Karicheri
@ 2015-03-10 15:29                         ` Murali Karicheri
  1 sibling, 0 replies; 16+ messages in thread
From: Murali Karicheri @ 2015-03-10 15:29 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: Bjorn Helgaas, Fengguang Wu, LKP, linux-pci, linux-kernel

On 03/09/2015 02:12 PM, Guenter Roeck wrote:
> On 03/09/2015 11:09 AM, Murali Karicheri wrote:
>> On 03/09/2015 01:34 PM, Guenter Roeck wrote:
>>> On 03/09/2015 10:03 AM, Murali Karicheri wrote:
>>>> On 03/09/2015 12:07 PM, Guenter Roeck wrote:
>>>>> On 03/09/2015 08:53 AM, Murali Karicheri wrote:
>>>>>> On 03/09/2015 10:44 AM, Bjorn Helgaas wrote:
>>>>>>> On Mon, Mar 9, 2015 at 9:17 AM, Murali
>>>>>>> Karicheri<m-karicheri2@ti.com>
>>>>>>> wrote:
>>>>>>>> On 03/06/2015 12:58 PM, Murali Karicheri wrote:
>>>>>>>>>
>>>>>>>>> On 03/06/2015 11:55 AM, Guenter Roeck wrote:
>>>>>>>>>>
>>>>>>>>>> On Fri, Mar 06, 2015 at 10:48:59AM -0500, Murali Karicheri wrote:
>>>>>>>>>> [ ... ]
>>>>>>>>>>
>>>>>>>>>>>> From 098b4f5e4ab9407fbdbfcca3a91785c17e25cf03 Mon Sep 17
>>>>>>>>>>>> 00:00:00 2001
>>>>>>>>>>> From: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>>>> Date: Fri, 6 Mar 2015 10:23:08 -0500
>>>>>>>>>>> Subject: [PATCH] pci: of : fix kernel crash
>>>>>>>>>>>
>>>>>>>>>>> This is a debug patch to root cause the kernel crash
>>>>>>>>>>>
>>>>>>>>>>> commit 0b2af171520e5d5e7d5b5f479b90a6a5014d9df6
>>>>>>>>>>>
>>>>>>>>>>> PCI: Update DMA configuration from DT
>>>>>>>>>>>
>>>>>>>>>>> Signed-off-by: Murali Karicheri<m-karicheri2@ti.com>
>>>>>>>>>>> ---
>>>>>>>>>>> drivers/of/of_pci.c | 8 ++++++++
>>>>>>>>>>> drivers/pci/host-bridge.c | 5 +++++
>>>>>>>>>>> 2 files changed, 13 insertions(+)
>>>>>>>>>>>
>>>>>>>>>>> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
>>>>>>>>>>> index 86d3c38..5a59fb8 100644
>>>>>>>>>>> --- a/drivers/of/of_pci.c
>>>>>>>>>>> +++ b/drivers/of/of_pci.c
>>>>>>>>>>> @@ -129,6 +129,14 @@ void of_pci_dma_configure(struct pci_dev
>>>>>>>>>>> *pci_dev)
>>>>>>>>>>> struct device *dev =&pci_dev->dev;
>>>>>>>>>>> struct device *bridge = pci_get_host_bridge_device(pci_dev);
>>>>>>>>>>>
>>>>>>>>>>> + if (!bridge || !bridge->parent) {
>>>>>>>>>>> + if (!bridge)
>>>>>>>>>>> + pr_err("PCI bridge not found\n");
>>>>>>>>>>> + if (!bridge->parent)
>>>>>>>>>>> + pr_err("PCI bridge parent not found\n");
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> You'll see a crash here if bridge is NULL. Maybe add an else
>>>>>>>>>> before
>>>>>>>>>> the second
>>>>>>>>>> if statement ? Also, dev_err might be a bit more useful and
>>>>>>>>>> would be
>>>>>>>>>> available.
>>>>>>>>>>
>>>>>>>>> Fixed and attached.
>>>>>>>>>
>>>>>>>>> Murali
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Guenter
>>>>>>>>>>
>>>>>>>>>>> + return;
>>>>>>>>>>> + }
>>>>>>>>>>> +
>>>>>>>>>>> of_dma_configure(dev, bridge->parent->of_node);
>>>>>>>>>>> pci_put_host_bridge_device(bridge);
>>>>>>>>>>> }
>>>>>>>>>>> diff --git a/drivers/pci/host-bridge.c
>>>>>>>>>>> b/drivers/pci/host-bridge.c
>>>>>>>>>>> index 3e5bbf9..ef2ab51 100644
>>>>>>>>>>> --- a/drivers/pci/host-bridge.c
>>>>>>>>>>> +++ b/drivers/pci/host-bridge.c
>>>>>>>>>>> @@ -28,6 +28,11 @@ struct device
>>>>>>>>>>> *pci_get_host_bridge_device(struct
>>>>>>>>>>> pci_dev *dev)
>>>>>>>>>>> struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>>>>>>>>>>> struct device *bridge = root_bus->bridge;
>>>>>>>>>>>
>>>>>>>>>>> + if (!bridge) {
>>>>>>>>>>> + pr_err("PCI: bridge not found\n");
>>>>>>>>>>> + return NULL;
>>>>>>>>>>> + }
>>>>>>>>>>> +
>>>>>>>>>>> kobject_get(&bridge->kobj);
>>>>>>>>>>> return bridge;
>>>>>>>>>>> }
>>>>>>>>>>> --
>>>>>>>>>>> 1.7.9.5
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> BJorn,
>>>>>>>>
>>>>>>>> Any chance of applying the attached debug patch to see if this
>>>>>>>> fixes
>>>>>>>> and
>>>>>>>> provide some additional information on this BUG? Not sure who will
>>>>>>>> pick this
>>>>>>>> one and apply.
>>>>>>>
>>>>>>> The change that caused the oops (0b2af171520e ("PCI: Update DMA
>>>>>>> configuration from DT")) only exists on my pci/iommu branch, so I'm
>>>>>>> the one to apply it.
>>>>>>>
>>>>>>> It's much easier for me to deal with plain text patches (not
>>>>>>> attachments).
>>>>>>>
>>>>>>> I'm hesitating because I don't want to encourage use of the 0-day
>>>>>>> testing robot as a tool at which we can just throw debug patches.
>>>>>>> The
>>>>>>> robot is a service that costs somebody real money, and I want to
>>>>>>> be a
>>>>>>> good neighbor when using it.
>>>>>>
>>>>>> Thanks for the clarification as I don't have much information on the
>>>>>> testing robot. At the same time the question is how similar incidence
>>>>>> in the past have been handled. I am a newbie w.r.t to this. This is
>>>>>> first time I have introduced a patch that impacts multiple
>>>>>> arch/machines.
>>>>>>
>>>>>>>
>>>>>>> Was the information in the robot's report enough to reproduce the
>>>>>>> oops? If not, is there additional information we could add to the
>>>>>>> report that would enable you to reproduce it? Even if we can't
>>>>>>> reproduce the oops, the report seems detailed enough that we
>>>>>>> should be
>>>>>>> able to deduce the problem and produce a fix in which we have high
>>>>>>> confidence.
>>>>>>
>>>>>> The BUG report essentially indicates the crash happened in
>>>>>> of_pci_dma_configure(). The machine specific log make sense to a
>>>>>> person familiar with this arch and I am not familiar with the
>>>>>> same. So
>>>>>> anyone can help narrow down the root cause of this?
>>>>>>
>>>>>> Looking at the code, there are two ptr variables that are accessed
>>>>>> without checking for NULL as initial thinking was that these can
>>>>>> never
>>>>>> be NULL. So the debug patch is just adding addition check before
>>>>>> accessing the ptr. I can send this patch without debug prints if that
>>>>>> make sense. I was thinking to get confirmation that this is indeed
>>>>>> the
>>>>>> case before adding the check. What do you think the right approach
>>>>>> here? Send a patch for this to the ML for adding the check as a
>>>>>> potential fix? Or someone can help me investigate the crash dump and
>>>>>> root cause it? or if we can use test robot to confirm this, I can
>>>>>> re-send the patch ASIS to the list. Please clarify.
>>>>>>
>>>>> If the assumption is that the pointers can never be NULL,
>>>>> wouldn't it be important to see a call trace and to find out
>>>>> if the NULL pointers can actually be seen by design,
>>>>> or if there is some other bug ?
>>>>
>>>> Call trace shows
>>>>
>>>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>>>> [ 0.576666] [<7976c1ac>] pci_device_add+0xbc/0x820
>>>>
>>>>
>>>> And BUG seems to be in of_pci_dma_configure() as shown in the BUG
>>>> report.
>>>>
>>>> of_pci_dma_configure() calls newly added API call to
>>>> pci_get_host_bridge_device(). Seems like this has succeeded which
>>>> means bridge is non NULL IMO. However in this function it passes
>>>> bridge->parent->of_node to of_dma_configure(). So I suspect
>>>> bridge->parent is NULL for some reason. Is there a chance for parent
>>>> being NULL in this or any other platform?
>>>>
>>>
>>> Can bridge be the root bridge ?
>>
>> Going by the code below, bridge is assigned the ptr to bridge on the
>> root bus.
>>
>> +struct device *pci_get_host_bridge_device(struct pci_dev *dev)
>> +{
>> + struct pci_bus *root_bus = find_pci_root_bus(dev->bus);
>> + struct device *bridge = root_bus->bridge;
>> +
>> + kobject_get(&bridge->kobj);
>> + return bridge;
>> +}
>> +
>>
>> So to answer your question, yes it is the root bridge.
>>
> AFAIK the root bridge does not have a parent.
>
> Guenter
>
BJorn,

Just posted a patch to the PCI list which I believe is a potential fix 
for this issue. Please review and apply if looks good.

Subject patch : pci: of : fix BUG: unable to handle kernel

-- 
Murali Karicheri
Linux Kernel, Texas Instruments

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-03-10 15:29 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-06  6:06 [PCI] BUG: unable to handle kernel Fengguang Wu
2015-03-06 15:13 ` Murali Karicheri
2015-03-06 15:48   ` Murali Karicheri
2015-03-06 16:55     ` Guenter Roeck
2015-03-06 17:50       ` Murali Karicheri
2015-03-06 17:58       ` Murali Karicheri
2015-03-09 14:17         ` Murali Karicheri
2015-03-09 14:44           ` Bjorn Helgaas
2015-03-09 15:53             ` Murali Karicheri
2015-03-09 16:07               ` Guenter Roeck
2015-03-09 17:03                 ` Murali Karicheri
2015-03-09 17:34                   ` Guenter Roeck
2015-03-09 18:09                     ` Murali Karicheri
2015-03-09 18:12                       ` Guenter Roeck
2015-03-09 20:52                         ` Murali Karicheri
2015-03-10 15:29                         ` Murali Karicheri

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).