lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 06 May 2012 11:22:11 +0800
From:	Jiang Liu <liuj97@...il.com>
To:	Nico Schottelius <nico-linux-20120419@...ottelius.org>,
	Francois Rigaut <frigaut@...il.com>,
	Yinghai Lu <yinghai@...nel.org>,
	Greg KH <gregkh@...uxfoundation.org>,
	linux-pci@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: Linux Support for Thunderbolt using Apple Monitor

I'm afraid it won't work by just changing the OSDW() return value.
After analysis the ACPI table, I guess the BIOS ACPI implementation doesn't
confirm to the ACPI specification for hotplug, it needs special support in
OS to enable Thunderbolt cable hotplug on that system. Maybe that's the
reason why it's only enabled on Apple's OSes, not sure it's due to technical
or business considerations.

This PCIe device "05:00.0 System peripheral: Intel Corporation Device 151a
(rev 01)" may play a role in the Thunderbolt cable hotplug operations, but
haven't figured it out yet.

On 05/06/2012 12:48 AM, Nico Schottelius wrote:
> Hey Jiang,
> 
> Jiang Liu [Sat, May 05, 2012 at 11:18:09PM +0800]:
>> 	It seems that the PCI topology related to the Thunderbird is:
> 
> Thanks for digging into this, I've the feeling we could somehow get
> this running in the end...
> 
>> [...] 
>> According to the acpidump sent out by you, I guess the relationship among PCIe and ACPI is as below:
>>         Device (PCI0)	// PCIe host bridge
>>         {
>>             Name (_HID, EisaId ("PNP0A08"))
>>             Device (P0P2)	//00:01.0
>>             {
>>                 Name (_ADR, 0x00010000)
>>                 Device (UPSB)	//03:00.0
>>                 {
>>                     Name (_ADR, 0x00)
>>                     Device (DSB2)	//04:04.0
>>                     {
>>                         Name (_ADR, 0x00040000)
>>                         Method (_RMV, 0, NotSerialized)
>>                         {
>>                             Return (OSDW ()) // OSDW-> OS is Darwin
>>                         }
>>                         Device (UPS2)	//37:00.0
>>                         {
>>                             Name (_ADR, 0x00)
>> 			}
>> 		    }
>> 		}
>> 	    }
>> 	}
>>
>> But _RMV method only returns 1 on iOS or Max OS X. That means ACPI based hotplug is disabled
>> on Linux for your system. And as Yinghai has pointed out, all the PCIe downstream ports on 
>> the system don't support PCIe hotplug. So need BIOS or hardware changes to support Thunderbolt
>> cable hotplug on your system.
> 
> I'm not deep into how acpi works, but wondering: Can't we replace that part,
> change the tree or emulate a different OSDW() method similar to LD_PRELOAD?
> 
> Cheers,
> 
> Nico
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ