Bug 43054 - Enabling CONFIG_X86_X2APIC results in hard lock up on Lenovo W520
Enabling CONFIG_X86_X2APIC results in hard lock up on Lenovo W520
Status: NEW
Product: Platform Specific/Hardware
Classification: Unclassified
Component: x86-64
All Linux
: P1 normal
Assigned To: platform_x86_64@kernel-bugs.osdl.org
:
: 34262 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-05 23:39 UTC by hansbee
Modified: 2016-08-10 08:29 UTC (History)
19 users (show)

See Also:
Kernel Version: 3.4.0-rc1-custom SMP x86_64
Tree: Mainline
Regression: No


Attachments
dmesg from t420 that x2apic is working (94.16 KB, text/plain)
2012-10-20 00:39 UTC, Yinghai Lu
Details
dmidecode from t420 that x2apic is working (16.41 KB, text/plain)
2012-10-20 00:39 UTC, Yinghai Lu
Details
dmidecode from W520, x2apic prevents boot (15.24 KB, application/octet-stream)
2012-10-20 04:33 UTC, Robert Lewis
Details
dmesg with nox2apic (122.52 KB, text/plain)
2012-10-23 22:34 UTC, Robert Lewis
Details
x86-apic-set-x2apic-blacklist-for-broken-SMI.patch (1.78 KB, patch)
2012-11-26 08:18 UTC, Song Youquan
Details | Diff
0001-x86-apic-Blacklist-x2apic-when-Nivida-graphics-enab.patch (3.27 KB, patch)
2012-12-01 12:32 UTC, Song Youquan
Details | Diff
x86,apic: Blacklist x2apic when Nvidia graphics enabled on some platforms (4.15 KB, patch)
2012-12-03 05:28 UTC, Song Youquan
Details | Diff
x86,apic: Blacklist x2APIC when nvidia graphics enabled on some platforms (3.66 KB, patch)
2012-12-04 06:49 UTC, Song Youquan
Details | Diff
x86-apic-Blacklist-x2APIC-on-some-platforms.patch (3.87 KB, patch)
2012-12-05 04:35 UTC, Song Youquan
Details | Diff
x86-apic-Blacklist-x2APIC-on-some-platforms.patch (3.92 KB, patch)
2012-12-12 06:52 UTC, Song Youquan
Details | Diff
dmidecode of working T430 with CSM off, x2apic on (16.29 KB, text/plain)
2013-06-30 15:47 UTC, Richard Foltyn
Details
dmesg of working T430 with CSM off, x2apic on (48.60 KB, text/plain)
2013-06-30 15:48 UTC, Richard Foltyn
Details

Description hansbee 2012-04-05 23:39:20 UTC
When CONFIG_X86_X2APIC is set, the machine in question (Lenovo W520) will lock
up during early stages of system boot. Machine suddenly becomes completely
unresponsive and no further diagnostics can be obtained.

Kernel boots correctly until root file system is mounted and udev starts its
"settle" phase, loading the modules for pending uevents. There seems to be no
correlation between the modules being loaded and the lock up event occurring,
yet it always happens during this stage.

11.716922 udevd[133]: Starting version xxx (here it hangs often)

If X2APIC is disabled by setting the nox2apic kernel option, everything works fine. When the VT-d is disabled in the BIOS (version 1.36) things also become stable.

See also Bug 34262 for 2.6.x kernels.
Comment 1 H. Peter Anvin 2012-04-05 23:46:54 UTC
Sounds like a classic BIOS bug.  This should be reported to Lenovo, and probably we should blacklist x2APIC on this machine.

What does "dmidecode" show?
Comment 2 hansbee 2012-04-06 00:14:12 UTC
See also http://forums.lenovo.com/t5/Linux-Discussion/W520-Debian-64-bit-Testing-VT-enabled/td-p/671621, comment from Mark_Lenovo

# dmidecode
# dmidecode 2.11
SMBIOS 2.6 present.
72 structures occupying 2723 bytes.
Table at 0xBF69C000.

Handle 0x0000, DMI type 134, 16 bytes
OEM-specific Type
        Header and Data:
                86 10 00 00 00 53 54 4D 20 01 01 00 00 02 01 02
        Strings:
                TPM INFO
                System Reserved

Handle 0x0001, DMI type 4, 42 bytes
Processor Information
        Socket Designation: CPU
        Type: Central Processor
        Family: Core i7
        Manufacturer: Intel(R) Corporation
        ID: A7 06 02 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 42, Stepping 7
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz
        Voltage: 1.2 V
        External Clock: 100 MHz
        Max Speed: 2400 MHz
        Current Speed: 2400 MHz
        Status: Populated, Enabled
        Upgrade: ZIF Socket
        L1 Cache Handle: 0x0002
        L2 Cache Handle: 0x0003
        L3 Cache Handle: 0x0004
        Serial Number: Not Supported by CPU
        Asset Tag: None
        Part Number: None
        Core Count: 4
        Core Enabled: 4
        Thread Count: 8
        Characteristics:
                64-bit capable

Handle 0x0002, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L1-Cache
        Configuration: Enabled, Not Socketed, Level 1
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 64 kB
        Maximum Size: 64 kB
        Supported SRAM Types:
                Synchronous
        Installed SRAM Type: Synchronous
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Data
        Associativity: 8-way Set-associative

Handle 0x0003, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L2-Cache
        Configuration: Enabled, Not Socketed, Level 2
        Operational Mode: Write Through
        Location: Internal
        Installed Size: 256 kB
        Maximum Size: 256 kB
        Supported SRAM Types:
                Synchronous
        Installed SRAM Type: Synchronous
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Data
        Associativity: 8-way Set-associative

Handle 0x0004, DMI type 7, 19 bytes
Cache Information
        Socket Designation: L3-Cache
        Configuration: Enabled, Not Socketed, Level 3
        Operational Mode: Write Back
        Location: Internal
        Installed Size: 6144 kB
        Maximum Size: 6144 kB
        Supported SRAM Types:
                Synchronous
        Installed SRAM Type: Synchronous
        Speed: Unknown
        Error Correction Type: Single-bit ECC
        System Type: Unified
        Associativity: 12-way Set-associative

Handle 0x0005, DMI type 16, 15 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 32 GB
        Error Information Handle: Not Provided
        Number Of Devices: 4

Handle 0x0006, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x0005
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 4096 MB
        Form Factor: SODIMM
        Set: None
        Locator: ChannelA-DIMM0
        Bank Locator: BANK 0
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1333 MHz
        Manufacturer: Samsung
        Serial Number: 0055F9CE
        Asset Tag: 9876543210
        Part Number: M471B5273CH0-CH9  
        Rank: Unknown

Handle 0x0007, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x0005
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: No Module Installed
        Form Factor: DIMM
        Set: None
        Locator: ChannelA-DIMM1
        Bank Locator: BANK 1
        Type: Unknown
        Type Detail: None
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: 9876543210
        Part Number: Not Specified
        Rank: Unknown

Handle 0x0008, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x0005
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 4096 MB
        Form Factor: SODIMM
        Set: None
        Locator: ChannelB-DIMM0
        Bank Locator: BANK 2
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1333 MHz
        Manufacturer: Kingston
        Serial Number: 4F229C84
        Asset Tag: 9876543210
        Part Number: 9905428-051.A00LF 
        Rank: Unknown

Handle 0x0009, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x0005
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 2048 MB
        Form Factor: SODIMM
        Set: None
        Locator: ChannelB-DIMM1
        Bank Locator: BANK 3
        Type: DDR3
        Type Detail: Synchronous
        Speed: 1333 MHz
        Manufacturer: Micron
        Serial Number: 3245F12E
        Asset Tag: 9876543210
        Part Number: 8KTF25664HZ-1G4M1 
        Rank: Unknown

Handle 0x000A, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x000FFFFFFFF
        Range Size: 4 GB
        Physical Device Handle: 0x0006
        Memory Array Mapped Address Handle: 0x000F
        Partition Row Position: 1
        Interleave Position: 1
        Interleaved Data Depth: 2

Handle 0x000B, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x000FFFFFFFF
        Range Size: 4 GB
        Physical Device Handle: 0x0007
        Memory Array Mapped Address Handle: 0x000F
        Partition Row Position: 1
        Interleave Position: 2
        Interleaved Data Depth: 2

Handle 0x000C, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00100000000
        Ending Address: 0x0017FFFFFFF
        Range Size: 2 GB
        Physical Device Handle: 0x0008
        Memory Array Mapped Address Handle: 0x000F
        Partition Row Position: 1

Handle 0x000D, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00180000000
        Ending Address: 0x001FFFFFFFF
        Range Size: 2 GB
        Physical Device Handle: 0x0009
        Memory Array Mapped Address Handle: 0x000F
        Partition Row Position: 1

Handle 0x000E, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00200000000
        Ending Address: 0x0027FFFFFFF
        Range Size: 2 GB
        Physical Device Handle: 0x0006
        Memory Array Mapped Address Handle: 0x000F
        Partition Row Position: 1

Handle 0x000F, DMI type 19, 15 bytes
Memory Array Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x0027FFFFFFF
        Range Size: 10 GB
        Physical Array Handle: 0x0005
        Partition Width: 4

Handle 0x0010, DMI type 129, 8 bytes
OEM-specific Type
        Header and Data:
                81 08 10 00 01 01 02 01
        Strings:
                Intel_ASF
                Intel_ASF_001

Handle 0x0011, DMI type 130, 20 bytes
OEM-specific Type
        Header and Data:
                82 14 11 00 24 41 4D 54 01 01 01 01 01 A5 FF 03
                00 00 01 00

Handle 0x0012, DMI type 131, 64 bytes
OEM-specific Type
        Header and Data:
                83 40 12 00 35 00 00 00 07 00 00 00 00 00 38 00
                F8 00 4F 1C FF FF FF FF 09 E0 00 00 01 00 07 00
                5F 04 14 00 00 00 00 00 C8 00 02 15 00 00 00 00
                00 00 00 00 F6 00 00 00 76 50 72 6F 00 00 00 00

Handle 0x0013, DMI type 134, 13 bytes
OEM-specific Type
        Header and Data:
                86 0D 13 00 26 01 12 20 00 00 00 00 00

Handle 0x0014, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: 8BET56WW (1.36 )
        Release Date: 01/19/2012
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 8192 kB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                3.5"/720 kB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
        BIOS Revision: 1.36
        Firmware Revision: 1.32

Handle 0x0015, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 42844LG
        Version: ThinkPad W520
        Serial Number: R9LD28A
        UUID: 272ECA01-5220-11CB-9F9F-E55E84DEDF9D
        Wake-up Type: Power Switch
        SKU Number: Not Specified
        Family: ThinkPad W520

Handle 0x0016, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: LENOVO
        Product Name: 42844LG
        Version: Not Available
        Serial Number: 1ZKBX2172LS
        Asset Tag: Not Available
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Not Available
        Chassis Handle: 0x0000
        Type: Motherboard
        Contained Object Handles: 0

Handle 0x0017, DMI type 3, 21 bytes
Chassis Information
        Manufacturer: LENOVO
        Type: Notebook
        Lock: Not Present
        Version: Not Available
        Serial Number: R9LD28A
        Asset Tag: No Asset Information
        Boot-up State: Unknown
        Power Supply State: Unknown
        Thermal State: Unknown
        Security Status: Unknown
        OEM Information: 0x00000000
        Height: Unspecified
        Number Of Power Cords: Unspecified
        Contained Elements: 0

Handle 0x0018, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: External Monitor
        External Connector Type: DB-15 female
        Port Type: Video Port

Handle 0x0019, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: DisplayPort
        External Connector Type: Other
        Port Type: Video Port

Handle 0x001A, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: DisplayPort/DVI-D 1
        External Connector Type: Other
        Port Type: Video Port

Handle 0x001B, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: DisplayPort/DVI-D 2
        External Connector Type: Other
        Port Type: Video Port

Handle 0x001C, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: Headphone/Microphone Combo Jack
        External Connector Type: Mini Jack (headphones)
        Port Type: Audio Port

Handle 0x001D, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: Headphone Jack
        External Connector Type: Mini Jack (headphones)
        Port Type: Audio Port

Handle 0x001E, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: Microphone Jack
        External Connector Type: Mini Jack (headphones)
        Port Type: Audio Port

Handle 0x001F, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: Ethernet
        External Connector Type: RJ-45
        Port Type: Network Port

Handle 0x0020, DMI type 126, 9 bytes
Inactive

Handle 0x0021, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 1
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0022, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 2
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0023, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 3
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0024, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB/eSATA Combo
        External Connector Type: Other
        Port Type: Other

Handle 0x0025, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 5
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0026, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 6
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0027, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 7
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0028, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 8
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x0029, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 9
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x002A, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: USB 10
        External Connector Type: Access Bus (USB)
        Port Type: USB

Handle 0x002B, DMI type 126, 9 bytes
Inactive

Handle 0x002C, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: Not Available
        Internal Connector Type: None
        External Reference Designator: eSATA
        External Connector Type: SAS/SATA Plug Receptacle
        Port Type: SATA

Handle 0x002D, DMI type 9, 17 bytes
System Slot Information
        Designation: ExpressCard Slot
        Type: x1 PCI Express
        Current Usage: Available
        Length: Other
        ID: 1
        Characteristics:
                Hot-plug devices are supported
        Bus Address: 0000:00:00.0

Handle 0x002E, DMI type 9, 17 bytes
System Slot Information
        Designation: Media Card Slot
        Type: Other
        Current Usage: Available
        Length: Other
        Characteristics:
                Hot-plug devices are supported
        Bus Address: 0000:00:00.0

Handle 0x002F, DMI type 9, 17 bytes
System Slot Information
        Designation: SmartCard Slot
        Type: Other
        Current Usage: Available
        Length: Other
        Characteristics:
                Hot-plug devices are supported
        Bus Address: 0000:00:00.0

Handle 0x0030, DMI type 10, 6 bytes
On Board Device Information
        Type: Other
        Status: Disabled
        Description: IBM Embedded Security hardware

Handle 0x0031, DMI type 12, 5 bytes
System Configuration Options

Handle 0x0032, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Abbreviated
        Installable Languages: 1
                en-US
        Currently Installed Language: en-US

Handle 0x0033, DMI type 22, 26 bytes
Portable Battery
        Location: Rear
        Manufacturer: SANYO
        Name: 42T4799
        Design Capacity: 93240 mWh
        Design Voltage: 11100 mV
        SBDS Version: 03.01
        Maximum Error: Unknown
        SBDS Serial Number: 1494
        SBDS Manufacture Date: 2011-12-11
        SBDS Chemistry: LION
        OEM-specific Information: 0x00000000

Handle 0x0034, DMI type 126, 26 bytes
Inactive

Handle 0x0035, DMI type 18, 23 bytes
32-bit Memory Error Information
        Type: OK
        Granularity: Unknown
        Operation: Unknown
        Vendor Syndrome: Unknown
        Memory Array Address: Unknown
        Device Address: Unknown
        Resolution: Unknown

Handle 0x0036, DMI type 21, 7 bytes
Built-in Pointing Device
        Type: Track Point
        Interface: PS/2
        Buttons: 3

Handle 0x0037, DMI type 21, 7 bytes
Built-in Pointing Device
        Type: Touch Pad
        Interface: PS/2
        Buttons: 2

Handle 0x0038, DMI type 131, 22 bytes
OEM-specific Type
        Header and Data:
                83 16 38 00 01 00 00 00 00 00 00 00 00 00 00 00
                00 00 00 00 00 01
        Strings:
                TVT-Enablement

Handle 0x0039, DMI type 136, 6 bytes
OEM-specific Type
        Header and Data:
                88 06 39 00 5A 5A

Handle 0x003A, DMI type 135, 74 bytes
OEM-specific Type
        Header and Data:
                87 4A 3A 00 54 50 07 02 42 41 59 20 49 2F 4F 20
                02 00 06 FF 00 00 00 00 00 00 00 FF 00 00 00 00
                00 00 00 FF 00 00 00 00 00 00 00 FF 00 00 00 00
                00 00 00 FF 00 00 00 00 00 00 00 FF 00 00 00 00
                00 00 00 06 00 02 01 03 03 FF

Handle 0x003B, DMI type 133, 5 bytes
OEM-specific Type
        Header and Data:
                85 05 3B 00 01
        Strings:
                KHOIHGIUCCHHII

Handle 0x003C, DMI type 140, 19 bytes
OEM-specific Type
        Header and Data:
                8C 13 3C 00 4C 45 4E 4F 56 4F 0B 05 01 07 00 00
                00 00 00

Handle 0x003D, DMI type 140, 23 bytes
OEM-specific Type
        Header and Data:
                8C 17 3D 00 4C 45 4E 4F 56 4F 0B 06 01 7E 14 00
                00 00 00 00 00 00 00

Handle 0x003E, DMI type 15, 29 bytes
System Event Log
        Area Length: 66 bytes
        Header Start Offset: 0x0000
        Header Length: 16 bytes
        Data Start Offset: 0x0010
        Access Method: General-purpose non-volatile data functions
        Access Address: 0x00F0
        Status: Valid, Not Full
        Change Token: 0x00000003
        Header Format: Type 1
        Supported Log Type Descriptors: 3
        Descriptor 1: POST error
        Data Format 1: POST results bitmap
        Descriptor 2: Single-bit ECC memory error
        Data Format 2: Multiple-event
        Descriptor 3: Multi-bit ECC memory error
        Data Format 3: Multiple-event

Handle 0x003F, DMI type 140, 67 bytes
OEM-specific Type
        Header and Data:
                8C 43 3F 00 4C 45 4E 4F 56 4F 0B 00 01 CA 4E 88
                A5 E8 6B 80 3D B2 F2 29 3A 16 A7 A7 D3 01 00 00
                00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                00 00 00

Handle 0x0040, DMI type 140, 47 bytes
OEM-specific Type
        Header and Data:
                8C 2F 40 00 4C 45 4E 4F 56 4F 0B 01 01 09 00 08
                64 32 8D 31 6C 7E C6 7B 00 3A 8E 6E CE 4F 17 00
                00 00 00 10 00 10 00 10 01 D0 00 20 01 00 01

Handle 0x0041, DMI type 140, 63 bytes
OEM-specific Type
        Header and Data:
                8C 3F 41 00 4C 45 4E 4F 56 4F 0B 02 01 00 00 00
                00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
                00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Handle 0x0042, DMI type 140, 17 bytes
OEM-specific Type
        Header and Data:
                8C 11 42 00 4C 45 4E 4F 56 4F 0B 03 01 00 00 00
                00

Handle 0x0043, DMI type 140, 19 bytes
OEM-specific Type
        Header and Data:
                8C 13 43 00 4C 45 4E 4F 56 4F 0B 04 01 B2 00 4D
                53 20 00

Handle 0x0044, DMI type 24, 5 bytes
Hardware Security
        Power-On Password Status: Disabled
        Keyboard Password Status: Not Implemented
        Administrator Password Status: Disabled
        Front Panel Reset Status: Not Implemented

Handle 0x0045, DMI type 132, 7 bytes
OEM-specific Type
        Header and Data:
                84 07 45 00 01 D8 36

Handle 0x0046, DMI type 135, 18 bytes
OEM-specific Type
        Header and Data:
                87 12 46 00 54 50 07 01 01 C9 01 00 00 00 00 00
                00 00

Handle 0xFEFF, DMI type 127, 4 bytes
End Of Table
Comment 3 Yinghai Lu 2012-04-06 21:15:44 UTC
tried current kernel on my T420, vt-d, x2apic, irq-remapping, dmar all works well.

Only thing noticed is pciehp can not get loaded because BIOS does not turn over control with _OSC about pcie cap control.

[    1.893742]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    1.900990]  pci0000:00: ACPI _OSC request failed (AE_SUPPORT), returned control mask: 0x0d
[    1.901069] ACPI _OSC control for PCIe not granted, disabling ASPM
...
[    2.466942] calling  pcied_init+0x0/0xb0 @ 1
[    2.467042] bus: 'pci_express': add driver pciehp_dummy
[    2.467419] bus: 'pci_express': remove driver pciehp_dummy
[    2.467662] driver: 'pciehp_dummy': driver_release
[    2.467729] bus: 'pci_express': add driver pciehp
[    2.467993] pciehp: pcie_port_service_register = 0
[    2.468055] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    2.468121] initcall pcied_init+0x0/0xb0 returned 0 after 1094 usecs
...
[    2.469616] calling  acpiphp_init+0x0/0x2b @ 1
[    2.469676] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    2.469741]   add_bridge is called for \_SB_.PCI0 ffff8802138e84b0
[    2.470374] acpiphp_glue: found PCI-to-PCI bridge at PCI 0000:00:1c.3
[    2.472364] acpiphp_glue: found ACPI PCI Hotplug slot 1 at PCI 0000:05:00
[    2.472588] pci_bus 0000:05: dev 00, created physical slot 1
[    2.472980] pci_hotplug: __pci_hp_register: Added slot 1 to the list
[    2.473045] acpiphp: Slot [1] registered
[    2.473741] initcall acpiphp_init+0x0/0x2b returned 0 after 3976 usecs
Comment 4 Yinghai Lu 2012-04-06 21:16:54 UTC
Please check if you can bios 1.37 for your laptop.
Comment 5 hansbee 2012-04-06 22:16:36 UTC
as soon as it becomes available ;)
Comment 6 Suresh B Siddha 2012-04-06 22:41:44 UTC
So from the descriptions above, it sounds like the Lenovo BIOS SMI handling is not supporting x2apic mode. Will post a kernel patch to blacklist x2apic enabling on this system, once I figure out what I need to use for the blacklist. It looks like even some (not all) T420's are affected.
Comment 7 Daniel Swarbrick 2012-05-26 12:58:47 UTC
I'm fairly certain I'm seeing this bug on Ubuntu "quantal", kernel package 3.4.0-3-generic (x86_64). Since the 3.4 release candidates started landing in the Ubuntu repos, I had fairly consistent boot hangs on my Thinkpad T500. I've just disabled VT-d in my BIOS and so far two out of two boots succeeded.

I have the latest available BIOS installed (3.24, from December 2011).
Comment 8 willadams 2012-05-26 21:09:57 UTC
I'm experiencing the same thing on a Lenovo Thinkpad L520.  I had previously thought it was a bug in any 3.2.x kernel or later because that's when I started having problems but 3.2.x and 3.3.x kernels are working now with CONFIG_X86_X2APIC=n.  That option wasn't present in the Archlinux kernel configs before 3.2.0.  

Am I missing out on anything by not being able to enable x2apic?

I'm using the latest BIOS (8GET39WW 1.16 4/3/2012).
Comment 9 Alan 2012-08-23 13:50:01 UTC
*** Bug 34262 has been marked as a duplicate of this bug. ***
Comment 10 Robert Lewis 2012-10-19 02:54:47 UTC
Confirmed to still be an issue on the W520 with bios 1.39, kernel 3.6.2.

Current workarounds I have tried that work:
1) Use integrated graphics only
2) Use Optimus with bumblebee
3) Use 32-bit instead of 64-bit
4) Disable VT-D in the bios
5) intel_iommu=off
Comment 11 Robert Lewis 2012-10-19 06:07:23 UTC
Please ignore the previous workarounds in comment 10. Only 1 Seems and 4 seem to work consistently.
Comment 12 Yinghai Lu 2012-10-20 00:39:04 UTC
Created attachment 84071 [details]
dmesg from t420 that x2apic is working

requested by suresh
Comment 13 Yinghai Lu 2012-10-20 00:39:54 UTC
Created attachment 84081 [details]
dmidecode from t420 that x2apic is working

requested by suresh
Comment 14 Robert Lewis 2012-10-20 04:33:14 UTC
Created attachment 84091 [details]
dmidecode from W520, x2apic prevents boot

Attaching dmidecode output on my W520. W520 has not been able to boot since kernel 3.2 without nox2apic enabled.
Comment 15 Robert Lewis 2012-10-23 22:34:47 UTC
Created attachment 84571 [details]
dmesg with nox2apic

dmesg on a system where x2apic fails boot
Comment 16 Song Youquan 2012-11-26 08:18:51 UTC
Created attachment 87261 [details]
x86-apic-set-x2apic-blacklist-for-broken-SMI.patch

Please try the attached the patch: 0001-x86-apic-set-x2apic-blacklist.patch

Thanks
-Youquan
Comment 17 H. Peter Anvin 2012-11-26 18:36:17 UTC
From the looks of it it, it is specifically the combination of these Thinkpads with Nvidia discrete graphics that is causing problems, i.e. the problem is in the Nvidia-specific part of the BIOS.  I don't know if there is any sane way to qualify this based on a PCI quirk or something like that, though.
Comment 18 Yinghai Lu 2012-11-26 21:07:54 UTC
On Mon, Nov 26, 2012 at 10:36 AM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=43054
>
>
>
>
>
> --- Comment #17 from H. Peter Anvin <hpa@zytor.com>  2012-11-26 18:36:17 ---
> From the looks of it it, it is specifically the combination of these Thinkpads
> with Nvidia discrete graphics that is causing problems, i.e. the problem is in
> the Nvidia-specific part of the BIOS.  I don't know if there is any sane way to
> qualify this based on a PCI quirk or something like that, though.

could check that in

arch/x86/kernel/early_quirks.c::early_quirks
Comment 19 Song Youquan 2012-12-01 12:32:56 UTC
Created attachment 88031 [details]
0001-x86-apic-Blacklist-x2apic-when-Nivida-graphics-enab.patch

Set blacklist x2apic when Nivida graphics enabled on some platforms: like ThinkPad W520 and ThinkPad T420.
Comment 20 Song Youquan 2012-12-01 12:38:26 UTC
I do not add quirk at arch/x86/kernel/early_quirks.c::early_quirks, because we only need check the Nivida graphics enabled or not at when issued platform detected like ThinkPad W520 and ThinkPad T420 which have x2apic capability.
Comment 21 Yinghai Lu 2012-12-01 22:11:08 UTC
On Sat, Dec 1, 2012 at 4:38 AM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> --- Comment #20 from Song Youquan <youquan.song@intel.com>  2012-12-01 12:38:26 ---
> I do not add quirk at arch/x86/kernel/early_quirks.c::early_quirks, because we
> only need check the Nivida graphics enabled or not at when issued platform
> detected like ThinkPad W520 and ThinkPad T420 which have x2apic capability.


you should add one variable and quirk in early-quirk.c. when it detect
nvidia card,
set that variable.

then use that variable later. instead of loop pci devices again .
Comment 22 Song Youquan 2012-12-03 05:28:35 UTC
Created attachment 88251 [details]
x86,apic: Blacklist x2apic when Nvidia graphics enabled on some platforms
Comment 23 Song Youquan 2012-12-03 05:32:38 UTC
Update the patch in according to Yinghai's comments. Please reviewing. 

Thanks
-Youquan
Comment 24 Song Youquan 2012-12-03 05:33:23 UTC
Update the patch in according to Yinghai's comments. Please reviewing. 

Thanks
-Youquan
Comment 25 Yinghai Lu 2012-12-03 18:51:27 UTC
On Sun, Dec 2, 2012 at 9:33 PM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=43054
>
>
>
>
>
> --- Comment #24 from Song Youquan <youquan.song@intel.com>  2012-12-03 05:33:23 ---
> Update the patch in according to Yinghai's comments. Please reviewing.

can you use my patch at:

http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=patch;h=de38757e964cfee20e6da1977572a2191d7f4aa0

at first one?

then second patch will create one early_quirk to set
early_found_nvidia_display_card.

then third one will be use that early_found_nvidia_display_card?
Comment 26 willadams 2012-12-03 19:20:57 UTC
(In reply to comment #17)
> From the looks of it it, it is specifically the combination of these Thinkpads
> with Nvidia discrete graphics that is causing problems, i.e. the problem is in
> the Nvidia-specific part of the BIOS.

This bug affects my laptop which doesn't have nvidia graphics.  Thinkpad L520 with intel graphics only.
Comment 27 Song Youquan 2012-12-04 06:49:39 UTC
Created attachment 88371 [details]
 x86,apic: Blacklist x2APIC when nvidia graphics enabled on some platforms

Rebased the patch on Yinghai's commit: http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=patch;h=de38757e964cfee20e6da1977572a2191d7f4aa0
Comment 28 Yinghai Lu 2012-12-04 07:49:02 UTC
On Mon, Dec 3, 2012 at 10:49 PM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:


can you define early_found_nvidia_display_card in arch/x86/kernel/early_quirk.c?

thus you can remove one #ifdef and later could resuse it in other case.
Comment 29 Yinghai Lu 2012-12-04 07:54:00 UTC
On Mon, Dec 3, 2012 at 11:20 AM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> This bug affects my laptop which doesn't have nvidia graphics.  Thinkpad L520
> with intel graphics only.

interesting.

Actually I checked one T520 with Nvidia graphics, it seems x2apic works well.

Now it is very confusing now.

my test:
t420 without nvidia chipset, works with x2apic.
t510 with nvidia chipset, works with x2apic.
Comment 30 H. Peter Anvin 2012-12-04 18:50:52 UTC
BIOS versions?
Comment 31 H. Peter Anvin 2012-12-04 18:51:22 UTC
T510 or T520?  T510 is a completely different box...
Comment 32 Song Youquan 2012-12-05 04:35:57 UTC
Created attachment 88481 [details]
x86-apic-Blacklist-x2APIC-on-some-platforms.patch

x86,apic: Blacklist x2APIC on some platforms.
Refer to bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/922037
T420 with Nvidia graphics: The BIOS version from: 83ET63WW(1.33) to 83ET72WW (1.42 ), the issue always shows. T420 without Nvidia graphics, the issue disappears. So blacklist x2apic on T420 only Nvidia graphics enabled. 

Thinkpad T520 with Nivida graphics and L520 without Nvidia graphics, both of them have the issue, so blacklist them for a simple solution.
Comment 33 Song Youquan 2012-12-11 09:34:55 UTC
Hi Yinghai,

When will you push your patch to kernel? http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=patch;h=de38757e964cfee20e6da1977572a2191d7f4aa0?

Can I submit the "x86,apic: Blacklist x2APIC on some platforms" patch?

Thanks
-Youquan
Comment 34 Yinghai Lu 2012-12-11 16:52:27 UTC
On Tue, Dec 11, 2012 at 1:34 AM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=43054

> Can I submit the "x86,apic: Blacklist x2APIC on some platforms" patch?

can you move declaring of
   extern int early_found_nvidia_display_card;
to other .h instead of apic.h ?

It does not look like belonging to apic.h

Yinghai
Comment 35 Song Youquan 2012-12-12 06:52:37 UTC
Created attachment 88951 [details]
x86-apic-Blacklist-x2APIC-on-some-platforms.patch

Hi Yinghai,

Thanks.
Update in according to your comment.  please reviewing.

-Youquan
Comment 36 Yinghai Lu 2012-12-17 17:04:20 UTC
On Tue, Dec 11, 2012 at 10:52 PM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=43054
>
>
> Song Youquan <youquan.song@intel.com> changed:
>
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>   Attachment #88481 [details]|0                           |1
>         is obsolete|                            |
>
>
>
>
> --- Comment #35 from Song Youquan <youquan.song@intel.com>  2012-12-12 06:52:37 ---
> Created an attachment (id=88951)
>  --> (https://bugzilla.kernel.org/attachment.cgi?id=88951)
> x86-apic-Blacklist-x2APIC-on-some-platforms.patch
>
> Hi Yinghai,
>
> Thanks.
> Update in according to your comment.  please reviewing.
>
> -Youquan

Please post that patch to the LKML with my Reviewed-by.

Thanks
Comment 37 Song Youquan 2012-12-18 05:57:22 UTC
Thanks a lot Yinghai!
I have just posted the patch to LKML.

Thanks
-Youquan
Comment 38 Song Youquan 2013-03-05 02:42:25 UTC
Hi Yinghai,

Can you get your patch http://git.kernel.org/cgit/linux/kernel/git/yinghai/linux-yinghai.git/diff/?id=de38757e964cfee20e6da1977572a2191d7f4aa0 upstream 

and then take the x2APIC fix patch http://lkml.org/lkml/2012/12/18/1 to upstream.

After that, we can close this bug.

Thanks
-Youquan
Comment 39 Richard Foltyn 2013-06-30 15:45:50 UTC
One additional solution seems to be to disable CSM in the UEFI configuration, without the additional need to specify 'nox2apic' or to disable VT-d. With CSM on, I otherwise observe the same issues reported above on my T430.

Thus the following configurations work in my machine with discrete graphics:
1) CSM off
2) CSM on, 'nox2apic' kernel parameter
3) CSM on, VT-d off

Unfortunately, the Lenovo Forums claim that CSM is required if you are dual-booting Windows 7 or lower on these ThinkPads, so turning it off may not be viable for everyone. For a pure Linux setup it's not required, though.
Comment 40 Richard Foltyn 2013-06-30 15:47:13 UTC
Created attachment 106481 [details]
dmidecode of working T430 with CSM off, x2apic on
Comment 41 Richard Foltyn 2013-06-30 15:48:15 UTC
Created attachment 106491 [details]
dmesg of working T430 with CSM off, x2apic on
Comment 42 Fredy Neeser 2014-09-04 09:21:59 UTC
I'm getting the same early boot hang with a Lenovo W530 on which I have VT-d enabled, and adding nox2apic to the commandline resolves the issue.

This is not on a vanilla kernel, but I'm pretty sure that there is a problem with the W530 across all distros, so it seems the kernel should blacklist the W530 from using x2apic if Discrete Graphics are detected.
At least for the current BIOS version (2.53) -- not sure if upgrading to the latest BIOS (2.59) will change anything.

Steps to reproduce:
1. BIOS:
   - Configure for Discrete Graphics  
   - Enable VT-x and VT-d under Security -> Virtualization
2. Use Nvidia driver
3. Configure kernel commandline *without* nox2apic
4. Boot Fedora
5. Early boot hang when udev becomes active, close to the
   likely unrelated "Could not configure common clock" message

Boot hang is 100% reproducible with the S/W versions shown below.


Option A to avoid boot hang (preferred):
Steps as above, but add nox2apic to kernel commandline

Option B to avoid boot hang:
Steps as above, but disable VT-d in BIOS


Digging further, I found the following related bugs, and infos [2] on the solution combining VT-x + VT-d with the nox2apic kernel parameter, which is preferable to disabling VT-d:

[1] https://bugzilla.kernel.org/show_bug.cgi?id=43054
    (this thread)
[2] https://lkml.org/lkml/2011/5/23/196
[3] https://groups.google.com/forum/?fromgroups#!topic/fa.linux.kernel/iCAzjSyIHdI

[4] http://forums.lenovo.com/t5/W-Series-ThinkPad-Laptops/W520-BIOS-Bug-Please-fix-or-comment-Lenovo/td-p/802085
[5] http://forums.lenovo.com/t5/Linux-Discussion/W520-Debian-64-bit-Testing-VT-enabled/td-p/671621


Installed BIOS, kernel and driver
---------------------------------

# dmidecode -s bios-version && dmidecode -t11
G5ET93WW (2.53 )
# dmidecode 2.12
SMBIOS 2.7 present.
(latest BIOS is 2.59, unclear from README if it's worth updating)

# uname -r
3.15.10-201.fc20.x86_64

kmod-nvidia-3.15.10-201.fc20.x86_64-331.89-2.fc20.10.x86_64
Comment 43 Jacob Whiteley 2014-09-27 21:39:11 UTC
(In reply to Fredy Neeser from comment #42)
> I'm getting the same early boot hang with a Lenovo W530 on which I have VT-d
> enabled, and adding nox2apic to the commandline resolves the issue.
> ...
> 2. Use Nvidia driver

Have you tried nouveau? I'm also using a W530 with VT-x, VT-d, and discrete graphics without the nox2apic parameter and experiencing no issues with the nouveau driver.

It does not seem to matter which UEFI/Legacy setting is chosen. I normally boot with UEFI only, with CSM support, but have tried all of the UEFI supporting options.

# dmidecode -s bios-version && dmidecode -t11
G5ET97WW (2.57 )
# dmidecode 2.12
# SMBIOS entry point at 0xdf69e000
SMBIOS 2.7 present.

# uname -r
3.16.3-1-ARCH
Comment 44 Peter Linnell 2015-04-29 05:14:30 UTC
This affects W-530 as well.  

Adding nox2apic to grub config works around this. 

I'm using discrete mode with Nvidia blob, but nouveau has heat and performance issues still.
Comment 45 Jamin W. Collins 2015-05-29 01:45:06 UTC
I'm running into exactly the same problem with a W530 using the nouveau driver, VT-d enable, and discrete graphics (obviously).  I have to pass the nox2apic parameter or the system locks up, just as others have stated.

$ sudo dmidecode -s bios-version && sudo dmidecode -t11 && uname -r      
G5ET99WW (2.59 )
# dmidecode 2.12
# SMBIOS entry point at 0xdf69e000
SMBIOS 2.7 present.

What is necessary to get the quirk included in the mainline kernel?

4.0.4-2-ARCH
Comment 46 Jamin W. Collins 2015-05-29 02:01:34 UTC
I can confirm that disabling CSM allows for the removal of the nox2apic parameter on the W530 even with both VT-d and discrete graphics enabled.

Note You need to log in before you can comment on or make changes to this bug.