[ltp] Re: A20p questions...

Keith Frechette linux-thinkpad@www.bm-soft.com
Wed, 3 Jan 2001 13:35:53 -0500


--=_mixed 00663A5F852569C9_=
Content-Type: multipart/alternative; boundary="=_alternative 00663A5F852569C9_="


--=_alternative 00663A5F852569C9_=
Content-Type: text/plain; charset="us-ascii"

>> actually, i think the problem is that win2k provides it's own version 
of
>> hibernation mode seperate from the thinkpad's.
>
> That's what I meant by "uses ACPI instead of APM".  Doesn't everyone
> know the difference?  8^)
>
> I'm not sure there's a way to get Win2k to use the BIOS hibernation
> (ie, APM), which is why I suggested looking for a copy of the win9x
> hibernation file utility.

Actually, BIOS-suspend isn't an ACPI vs. APM deal. Windows 2000 uses it's 
own hibernation regardless of whether it's using ACPI or APM, partly in 
order to support hibernation files on NTFS partitions, but also to enable 
hibernation on systems that don't support any form of power management. 
(There are probably other reasons, as well.)

On our Linux preload models, we include a FAT partition solely for the 
purpose of enabling hibernation. We use the DOS-based tool "phdisk" to 
create the hibernation file on the fat partition. When BIOS boots up, it 
checks for the presence of the hibernation file and, if found, enables 
BIOS-based hibernation for that session. The only funky thing we needed to 
do in our preloads to accomodate hibernation was to modify apmd_proxy so 
that it switched away from the "X" session before hibernation and then 
switched back on resume -- this was to avoid X corruption and 
video-related lock-ups.

Here's the apmd_proxy we use:

 

-- Keith

Keith Frechette
Linux Development Lead, Mobile Computing Options and Software Development
IBM Research Triangle Park, North Carolina
kfrechet@us.ibm.com / 919-543-3761 / TieLine:441-3761

--=_alternative 00663A5F852569C9_=
Content-Type: text/html; charset="us-ascii"


<br><font size=2><tt>&gt;&gt; actually, i think the problem is that win2k provides it's own version of<br>
&gt;&gt; hibernation mode seperate from the thinkpad's.<br>
&gt;</tt></font>
<br><font size=2><tt>&gt; That's what I meant by &quot;uses ACPI instead of APM&quot;. &nbsp;Doesn't everyone<br>
&gt; know the difference? &nbsp;8^)<br>
&gt;</tt></font>
<br><font size=2><tt>&gt; I'm not sure there's a way to get Win2k to use the BIOS hibernation<br>
&gt; (ie, APM), which is why I suggested looking for a copy of the win9x<br>
&gt; hibernation file utility.<br>
</tt></font>
<br><font size=2 face="sans-serif">Actually, BIOS-suspend isn't an ACPI vs. APM deal. Windows 2000 uses it's own hibernation regardless of whether it's using ACPI or APM, partly in order to support hibernation files on NTFS partitions, but also to enable hibernation on systems that don't support any form of power management. (There are probably other reasons, as well.)</font>
<br>
<br><font size=2 face="sans-serif">On our Linux preload models, we include a FAT partition solely for the purpose of enabling hibernation. We use the DOS-based tool &quot;phdisk&quot; to create the hibernation file on the fat partition. When BIOS boots up, it checks for the presence of the hibernation file and, if found, enables BIOS-based hibernation for that session. The only funky thing we needed to do in our preloads to accomodate hibernation was to modify apmd_proxy so that it switched away from the &quot;X&quot; session before hibernation and then switched back on resume -- this was to avoid X corruption and video-related lock-ups.</font>
<br>
<br><font size=2 face="sans-serif">Here's the apmd_proxy we use:</font>
<br>
<br><font size=2 face="sans-serif">&nbsp;</font>
<br>
<br><font size=2 face="sans-serif">-- Keith<br>
<br>
Keith Frechette<br>
Linux Development Lead, Mobile Computing Options and Software Development<br>
IBM Research Triangle Park, North Carolina<br>
kfrechet@us.ibm.com / 919-543-3761 / TieLine:441-3761<br>
</font>
--=_alternative 00663A5F852569C9_=--
--=_mixed 00663A5F852569C9_=
Content-Type: application/octet-stream; name="apmd_proxy"
Content-Disposition: attachment; filename="apmd_proxy"
Content-Transfer-Encoding: base64

IyEvYmluL3NoCiMgCiMgYXBtZF9wcm94eSAtIHByb2dyYW0gZGlzcGF0Y2hlciBmb3IgQVBNIGRh
ZW1vbgojIENyYWlnIE1hcmt3YXJkdCAoY3JhaWdtQGxoZWFtYWlsLmdzZmMubmFzYS5nb3YpIDIx
IE1heSAxOTk5CiMgRGF2aWQgQnJvd25lbGwgKGRiQHBvc3QuaGFydmFyZC5lZHUpIDkgSnVuZSAx
OTk5CiMKIyBUaGlzIHNoZWxsIHNjcmlwdCBpcyBjYWxsZWQgYnkgdGhlIEFQTSBkYWVtb24gKGFw
bWQpIHdoZW4gdGhlIHN0YXRlCiMgb2YgYW55IHBvd2VyIG1hbmFnZW1lbnQgZnVuY3Rpb24gaGFz
IGNoYW5nZWQuICBUaGUgZXhhY3QgZXZlbnRzIHRoYXQKIyB0cmlnZ2VyIHRoZSBjYWxsaW5nIG9m
IGFwbWRfcHJveHkgZGVwZW5kIG9uIGhvdyBhcG1kIHdhcyBjb25maWd1cmVkCiMgYXQgY29tcGls
ZSB0aW1lLgojCiMgV2l0aGluIHRoaXMgc2NyaXB0IHRoZSBzeXN0ZW0gYWRtaW5pc3RyYXRvciBz
aG91bGQgcHV0IGFueSBjb21tYW5kcwojIG9yIGFjdGlvbnMgd2hpY2ggc2hvdWxkIGJlIHBlcmZv
cm1lZCB1cG9uIHN0YXRlIHRyYW5zaXRpb25zLgojCiMgYXBtZF9wcm94eSBpcyBjYWxsZWQgd2l0
aCBzcGVjaWZpYyBhcmd1bWVudHMgdGhhdCBkZXNjcmliZSB0aGUgZXZlbnQKIyB0aGF0IGhhcyBv
Y2N1cnJlZC4gIEl0IGlzIHRoaXMgc2NyaXB0J3MgcmVzcG9uc2liaWxpdHkgdG8gcXVlcnkgdGhl
CiMgaGFyZHdhcmUgb3IgdGhlIEFQTSBzZXJ2aWNlICh2aWEgL3Byb2MvYXBtKSBmb3IgbW9yZSBp
bmZvcm1hdGlvbiwKIyBhbmQgdG8gdGFrZSB0aGUgYXBwcm9wcmlhdGUgYWN0aW9uLgojCiMgRm9y
IGV4YW1wbGUsIGFwbWQgd2lsbCBjYWxsICJhcG1kX3Byb3h5IHN1c3BlbmQgc3lzdGVtIiBqdXN0
IGJlZm9yZQojIHRoZSBzeXN0ZW0gaXMgc2NoZWR1bGVkIHRvIGdvIGludG8gc3VzcGVuZCBtb2Rl
LiAgVGhlIGFkbWluaXN0cmF0b3IKIyBtYXkgd2lzaCB0byBwZXJmb3JtIHNpdGUtc3BlY2lmaWMg
YWN0aW9ucyBsaWtlIHVubG9hZGluZyBkcml2ZXJzIG9yCiMgZGlzYWJsaW5nIHRoZSBuZXR3b3Jr
IGludGVyZmFjZS4gIFdoZW4gdGhlIHN5c3RlbSBpcyByZXN1bWVkIGxhdGVyLAojIGFwbWQgd2ls
bCBjYWxsICJhcG1kX3Byb3h5IHJlc3VtZSBub3JtYWwiLCBhdCB3aGljaCB0aW1lIHRob3NlIGFj
dGlvbnMKIyBzaG91bGQgYmUgcmV2ZXJzZWQuCiMKIyBJZiB0aGUga2VybmVsIEFQTSBkcml2ZXIg
aXMgdmVyc2lvbiAxLjEwIG9yIGhpZ2hlciAodXNlIHRoZSAiYXBtIgojIGNvbW1hbmQgdG8gZmlu
ZCBvdXQpLCBhcG1kX3Byb3h5IGNhbiByZXR1cm4gYW4gZXJyb3IgY29kZSBmb3IgdGhlCiMgc3Vz
cGVuZCBhbmQgc3RhbmRieSBldmVudHMsIGluZGljYXRpbmcgd2hldGhlciB0aGUgcGVuZGluZyBt
b2RlCiMgc2hvdWxkIGJlIHJlamVjdGVkLiAgRm9yIGV4YW1wbGUsIGFwbWRfcHJveHkgbWF5IGRl
Y2lkZSBpZiwgYmFzZWQgb24KIyBDUFUgb3IgbmV0d29yayBhY3Rpdml0eSBvciB1c2VyIGluc3Ry
dWN0aW9ucywgYSBzdXNwZW5kIGluaXRpYXRlZCBieQojIHRoZSBBUE0gQklPUyBzaG91bGQgYmUg
cmVqZWN0ZWQuCiMKIyAgICAhISBOT1RFICEhICAgVGhpcyBpcyBub3QgdGhlIGFwbWRfcHJveHkg
dXNlZCBvbiBtb3N0IERlYmlhbiBzeXN0ZW1zIQojCiMgICBSRVRVUk4gVkFMVUU6CiMgICAgIDAg
LSBub21pbmFsIHJldHVybjsgc3VzcGVuZCBhbmQgc3RhbmRieSBldmVudHMgYXJlIGFjY2VwdGVk
CiMgICAgIDEgLSByZWplY3QgYSBzdXNwZW5kIG9yIHN0YW5kYnkgKE1VU1QgSEFWRSBBUE0gRFJJ
VkVSIDEuMTAgT1IgSElHSEVSKQojCiMgSGVyZSBhcmUgdGhlIGNhbGxpbmcgc2VxdWVuY2VzIGZv
ciBhcG1kX3Byb3h5OgojCiMgYXBtZF9wcm94eSBzdGFydCAgICAgICAgICAgICAgLSBBUE0gZGFl
bW9uIGhhcyBzdGFydGVkCiMgYXBtZF9wcm94eSBzdG9wICAgICAgICAgICAgICAgLSBBUE0gZGFl
bW9uIGlzIHNodXR0aW5nIGRvd24KIyBhcG1kX3Byb3h5IHN1c3BlbmQgc3lzdGVtICAgICAtIEFQ
TSBzeXN0ZW0gaGFzIHJlcXVlc3RlZCBzdXNwZW5kIG1vZGUKIyBhcG1kX3Byb3h5IHN1c3BlbmQg
Y3JpdGljYWwgICAtIEFQTSBzeXN0ZW0gaW5kaWNhdGVzIGNyaXRpY2FsIHN1c3BlbmQgKCopCiMg
YXBtZF9wcm94eSBzdGFuZGJ5IHN5c3RlbSAgICAgLSBBUE0gc3lzdGVtIGhhcyByZXF1ZXN0ZWQg
c3RhbmRieSBtb2RlIAojIGFwbWRfcHJveHkgc3VzcGVuZCB1c2VyICAgICAgIC0gVXNlciBoYXMg
cmVxdWVzdGVkIHN1c3BlbmQgbW9kZQojIGFwbWRfcHJveHkgc3RhbmRieSB1c2VyICAgICAgIC0g
VXNlciBoYXMgcmVxdWVzdGVkIHN0YW5kYnkgbW9kZQojIGFwbWRfcHJveHkgcmVzdW1lIHN1c3Bl
bmQgICAgIC0gU3lzdGVtIGhhcyByZXN1bWVkIGZyb20gc3VzcGVuZCBtb2RlCiMgYXBtZF9wcm94
eSByZXN1bWUgc3RhbmRieSAgICAgLSBTeXN0ZW0gaGFzIHJlc3VtZWQgZnJvbSBzdGFuZGJ5IG1v
ZGUKIyBhcG1kX3Byb3h5IHJlc3VtZSBjcml0aWNhbCAgICAtIFN5c3RlbSBoYXMgcmVzdW1lZCBm
cm9tIGNyaXRpY2FsIHN1c3BlbmQKIyBhcG1kX3Byb3h5IGNoYW5nZSBiYXR0ZXJ5ICAgICAtIEFQ
TSBzeXN0ZW0gcmVwb3J0ZWQgbG93IGJhdHRlcnkKIyBhcG1kX3Byb3h5IGNoYW5nZSBwb3dlciAg
ICAgICAtIEFQTSBzeXN0ZW0gcmVwb3J0ZWQgQUMvYmF0dGVyeSBjaGFuZ2UKIyBhcG1kX3Byb3h5
IGNoYW5nZSB0aW1lICAgICAgICAtIEFQTSBzeXN0ZW0gcmVwb3J0ZWQgbmVlZCBmb3IgdGltZSB1
cGRhdGUgKCopCiMgYXBtZF9wcm94eSBjaGFuZ2UgY2FwYWJpbGl0eSAgLSBBUE0gc3lzdGVtIHJl
cG9ydGVkIGNvbmZpZy4gY2hhbmdlICgrKQojCiMgKCopIC0gQVBNIGRhZW1vbiBtYXkgYmUgbW9k
aWZpZWQgdG8gY2FsbCB0aGVzZSBzZXF1ZW5jZXMKIyAoKykgLSBBdmFpbGFibGUgaWYga2VybmVs
IEFQTSBkcml2ZXIgc3VwcG9ydHMgaXQgKGRyaXZlciB2ZXIuIDEuMTAgb3IgaGlnaGVyKQojCiMg
U0lNUExJRklFRCBDT05GSUdVUkFUSU9OICAKIwojIFRoZSBvcGVyYXRpb24gb2YgdGhpcyBzY3Jp
cHQgY2FuIGJlIGNvbnRyb2xsZWQgZWl0aGVyIGJ5IHNldHRpbmcgdGhlCiMgZm9sbG93aW5nIHZh
cmlhYmxlcyBhcHByb3ByaWF0ZWx5LCBvciBieSBlZGl0aW5nIHRoZSBzY3JpcHQgaXRzZWxmLgoj
CiMgU2V0IFVUQyB0byB0cnVlIGlmIHlvdXIgY2xvY2sgaXMgYmFzZWQgb24gVVRDIHRpbWUuICBU
aGlzIHNldHR0aW5nCiMgaXMgb3ZlcnJpZGRlbiBieSBhbnkgc2V0dGluZ3MgaW4gL2V0Yy9zeXNj
b25maWcvY2xvY2suClVUQz1mYWxzZQojCiMgU2V0IFNVU1BFTkRfT05fQUMgdG8gZmFsc2UgaWYg
eW91IHdpc2ggdG8gYXZvaWQgc3VzcGVuZCBhbmQgc3RhbmRieQojIGV2ZW50cyB3aGVuIHlvdXIg
bWFjaGluZSBpcyBjb25uZWN0ZWQgdG8gQUMgcG93ZXIuICBCeSBkZWZhdWx0CiMgc3VzcGVuZHMg
Y2FuIG9jY3VyIG9uIGVpdGhlciBiYXR0ZXJ5IG9yIEFDIHBvd2VyLgpTVVNQRU5EX09OX0FDPXRy
dWUKIwojIFBDTUNJQSBjYXJkcyBjYW4gYmUgbW9yZSBvciBsZXNzIGFtZW5hYmxlIHRvIGFuIEFQ
TSBzdXNwZW5kIGV2ZW50LgojIElmIHlvdSBoYXZlIGEgY2FyZCB0aGF0IGNhbm5vdCBiZSBzdXNw
ZW5kZWQgcHJvcGVybHkgKHN1Y2ggYXMgYSBTQ1NJCiMgY2FyZCksIHRoZW4gaXQgc2hvdWxkIGJl
ICJlamVjdGVkIiBiZWZvcmUgZW50ZXJpbmcgc3VzcGVuZCBtb2RlLgojIFRoZSBjYXJkcyBhcmUg
bm90IHBoeXNpY2FsbHkgZWplY3RlZDsgcmF0aGVyLCB0aGUgcG93ZXIgaXMgdHVybmVkCiMgb2Zm
IHRvIHRoZW0gdmlhIHRoZSAiY2FyZGN0bCBlamVjdCIgY29tbWFuZCwgYW5kIGlzIHJlYWN0aXZh
dGVkIHVwb24gCiMgcmVzdW1lLgpQQ01DSUFfRUpFQ1RfT05fU1VTUEVORD1mYWxzZQojCiMKIyBE
RUJVR0dJTkcKIwojIFVuY29tbWVudCBjb21tYW5kcyB1bmRlciBlaXRoZXIgTUVUSE9EIDEgb3Ig
TUVUSE9EIDIgZm9yIGRlYnVnZ2luZwojIG1lc3NhZ2VzIHRvIHRoZSBzeXN0ZW0gbG9nLiAgTm90
IHJlY29tbWVuZGVkIGZvciBnZW5lcmFsIHVzZSwgc2luY2UKIyBpdCBtYXkgYWN0aXZhdGUgeW91
ciBkaXNrIG1vcmUgdGhhbiBuZWVkZWQuICBUaGUgc2Vjb25kIG1ldGhvZCB3aWxsCiMgbG9nIGFs
bCBjb21tYW5kcyBhbmQgZXJyb3IgbWVzc2FnZXMgZW5jb3VudGVyZWQgYnkgYXBtZF9wcm94eS4K
IwojIE1FVEhPRCAxIC0gTG9ncyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIG9mIGFwbWRfcHJveHkg
b25seQojIGxvZ2dlciBhcG1kX3Byb3h5ICQqICAgIAojIE1FVEhPRCAyIC0gTG9ncyBlbnRpcmUg
cnVuIG9mIGFwbWRfcHJveHkgdG8gL3RtcC9hcG1kX3Byb3h5LmxvZwogZWNobyAnKioqKioqKioq
KioqKioqKicgPj4gL3RtcC9hcG1kX3Byb3h5LmxvZwogZWNobyAiJDAgJCoiICAgICAgICAgICAg
Pj4gL3RtcC9hcG1kX3Byb3h5LmxvZwogZGF0ZSAgICAgICAgICAgICAgICAgICAgPj4gL3RtcC9h
cG1kX3Byb3h5LmxvZwogZWNobyAnLS0tLS0tLS0tLS0tLS0tLScgPj4gL3RtcC9hcG1kX3Byb3h5
LmxvZwogZXhlYyAgICAgICAgICAgICAgICAgICAyPj4gL3RtcC9hcG1kX3Byb3h5LmxvZwogc2V0
IC14CiMKIyBBIGNvbnZlbmllbmNlIGJhc2ggcm91dGluZSBpcyBpbmNsdWRlZCB0byBzaG93IGhv
dyB0byBxdWVyeSBBQyBwb3dlcgojIHN0YXR1cy4KIwojICoqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgpwb3dlcl9jb25z
ZXJ2ZSgpIHsKCSMgU2V0IElERSBoYXJkIGRpc2sgc3BpbmRvd24gdGltZSB0byBhIHNob3J0IHRp
bWUKCSMgRGlzYWJsZWQgYnkgZGVmYXVsdC4KIwkvc2Jpbi9oZHBhcm0gLXEgLVMgMTggL2Rldi9o
ZGEJCQkjIDE4ID09IDEuNSBtaW51dGVzCgl0cnVlOwp9Cgpwb3dlcl9wZXJmb3JtYW5jZSgpIHsK
CSMgRGlzYWJsZSBJREUgaGFyZCBkaXNrIHNwaW5kb3duCgkjIERpc2FibGVkIGJ5IGRlZmF1bHQu
CiMJL3NiaW4vaGRwYXJtIC1xIC1TIDAgL2Rldi9oZGEKCXRydWU7Cn0KCiMgTk9URTogIEFQTSBC
SU9TIGRyaXZlcnMgaW4ga2VybmVsIDIuMiBhbmQgbGF0ZXIgaGF2ZSBoYW5kbGVkIHRoaXMKdXBk
YXRlX2Nsb2NrICgpIHsKCSMgdXBkYXRlIGtlcm5lbCB0byBtYXRjaCBoYXJkd2FyZSBjbG9jawoJ
aWYgWyAtZiAvZXRjL3N5c2NvbmZpZy9jbG9jayBdOyB0aGVuCgkgICAgLiAvZXRjL3N5c2NvbmZp
Zy9jbG9jawoJICAgICMgb2xkIHN0eWxlCgkgICAgaWYgWyAiJENMT0NLTU9ERSIgPSBHTVQgXTsg
dGhlbgoJCVVUQz10cnVlCgkgICAgZmkKCWZpCglpZiBbICRVVEMgPSBmYWxzZSBdOyB0aGVuCgkg
ICAgRkxBRz0iIgoJZWxzZQoJICAgIEZMQUc9Ii11IgoJZmkKCVsgLXggL3NiaW4vY2xvY2sgXSAm
JiBjbG9jayAtcyAkRkxBRyB8fCBod2Nsb2NrIC1zICRGTEFHCn0KCiMgU3RhcnQgb2YgbWFpbiBw
cm9jZWR1cmUuICBJbmNsdWRlZCBhcmUgZXhhbXBsZXMgb2Ygc29tZSBtaWxkIHBvd2VyCiMgbWFu
YWdlbWVudCBwcm9maWxpbmcsIGRpc2FibGVkIGJ5IGRlZmF1bHQuICBUaW1lci1iYXNlZCBzeXN0
ZW0KIyBzdXNwZW5kcyBhbmQgc3RhbmRieXMgY2FuIGJlIHJlamVjdGVkIGlmIHdlIGFyZSBvbiBB
QyBwb3dlci4KIwoKY2FzZSAiJDEiIGluCgogICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU1VT
UEVORCBhbmQgU1RBTkRCWSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIyBIYW5kbGUgY3VzdG9t
aXplZCBiZWhhdmlvciBmb3IgQVBNIHN0YW5kYnkgYW5kIHN1c3BlbmQgZXZlbnRzCiAgIyBoZXJl
LiAgRGVwZW5kaW5nIG9uIHlvdXIgc3lzdGVtLCB5b3UgbWF5IHdpc2ggdG8gZW5hYmxlIHNvbWUg
b2YKICAjIHRoZSBleGFtcGxlIGFjdGlvbnMgdGhhdCBmb2xsb3cuCgogICJzdXNwZW5kInwic3Rh
bmRieSIpCgoJIyBBY3RpdmF0ZSB0aGlzIHNlZ21lbnQgaWYgeW91IHdpc2ggdG8gZGlzYWJsZSBu
b3JtYWwgc3VzcGVuZAoJIyBldmVudHMgd2hlbiB5b3UgYXJlIG9uIEFDIHBvd2VyLiAgVGhpcyBz
ZWdtZW50IG9ubHkgd29ya3MgaWYKCSMgeW91ciBBUE0gQklPUyBzZW5kcyAic3VzcGVuZCBzeXN0
ZW0iIGV2ZW50cyBhZnRlciBhbiBpZGxlCgkjIHBlcmlvZC4gIEFsc28sIHlvdSBtdXN0IGJlIHJ1
bm5pbmcgYSBMaW51eCBrZXJuZWwgQVBNCgkjIGRyaXZlciB2ZXJzaW9uIDEuMTAgb3IgaGlnaGVy
IChydW4gImFwbSIgdG8gZmluZCBvdXQpLgoJIwoJaWYgWyAkU1VTUEVORF9PTl9BQyA9IGZhbHNl
IC1hICQyID0gc3lzdGVtIF07IHRoZW4KCQlpZiBvbl9hY19wb3dlciA+L2Rldi9udWxsOyB0aGVu
CgkJCWV4aXQgMSAgIyBSZWplY3QgKE5PVEUga2VybmVsIHN1cHBvcnQgbXVzdCBiZSBlbmFibGVk
KQoJCWZpCglmaQoKCWlmIFsgJDEgPSBzdGFuZGJ5IF07IHRoZW4KCQlleGl0IDAKCWZpCgkjIFN0
YW5kYnkgZXZlbnRzIHR5cGljYWxseSBkbyBub3QgZ28gcGFzdCB0aGlzIHBvaW50LCBidXQgY2Fu
CgkjIGlmIHlvdSBjb21tZW50IG91dCB0aGUgYWJvdmUgbGluZXMuCgoJIyBBY3RpdmF0ZSB0aGlz
IHNlZ21lbnQgaWYgeW91IHdpc2ggdG8gZGlzYWJsZSBQQ01DSUEgc2VydmljZXMKCSMgdXBvbiBz
dXNwZW5kIGV2ZW50cy4gIFRoZSBQQ01DSUEgZHJpdmVyIG5vbWluYWxseSB3aWxsCgkjIHN1c3Bl
bmQgYWxsIGNhcmRzIGJlZm9yZSByZWFjaGluZyB0aGlzIHBvaW50LCBidXQgY2VydGFpbgoJIyBj
YXJkcyBjYW5ub3QgYmUgc3VzcGVuZGVkIHByb3Blcmx5IChub3RhYmx5LCBTQ1NJIGNhcmRzKS4K
CSMgVGhlc2UgY2FyZHMgbXVzdCBiZSBmb3JjZWZ1bGx5IHNvZnR3YXJlLWVqZWN0ZWQuICBJZiB5
b3UKCSMgdW5jb21tZW50IHRoaXMgY29kZSwgdGhlbiBiZSBzdXJlIHRvIGFsc28gdW5jb21tZW50
IHRoZQoJIyBjb3JyZXNwb25kaW5nIHNlZ21lbnQgdW5kZXIgUkVTVU1FLiAgQ2FsbGluZyAiY2Fy
ZGN0bAoJIyBzdXNwZW5kIiBpcyBuZWVkZWQgZm9yIHN5c3RlbXMgd2hvc2UgUENNQ0lBIG1vZHVs
ZXMgYXJlCgkjIGF2YWlsYWJsZSBidXQgbm90IEFQTS1hd2FyZS4gIENhbGxpbmcgaXQgbW9yZSB0
aGFuIG9uY2UgaXMKCSMgbm90IGhhcm1mdWwuCgkjCglpZiBbIC14IC9zYmluL2NhcmRjdGwgXTsg
dGhlbiAKCQlpZiBbICRQQ01DSUFfRUpFQ1RfT05fU1VTUEVORCA9IHRydWUgXTsgdGhlbgoJCQkv
c2Jpbi9jYXJkY3RsIGVqZWN0CgkJZWxzZQoJCQkvc2Jpbi9jYXJkY3RsIHN1c3BlbmQKCQlmaQoJ
ZmkKCgkjIFVuY29tbWVudCB0aGlzIHNlZ21lbnQgaWYgeW91ciBncmFwaGljcyBjYXJkIGRvZXMg
bm90IHJlc3VtZQoJIyBpbiBncmFwaGljcyBtb2RlIHByb3Blcmx5IChpZSwgaW4gWCB3aW5kb3dz
KS4gIFRoaXMgYWN0aW9uCgkjIGNoYW5nZXMgdGhlIHNjcmVlbiB0byB2aXJ0dWFsIGNvbnNvbGUg
bnVtYmVyIDEsIHdoaWNoIGlzCgkjIHVzdWFsbHkgYSB0ZXh0IGNvbnNvbGUuICBVcG9uIHJlc3Vt
ZSwgeW91IHdpbGwgbmVlZCB0bwoJIyBjaGFuZ2UgYmFjayB0byB5b3VyIFggY29uc29sZSBtYW51
YWxseS4KCSMKCSMgaWYgWyAteCAvdXNyL2Jpbi9jaHZ0IF07IHRoZW4KCSMgCS91c3IvYmluL2No
dnQgMTsgc2xlZXAgMQoJIyBmaQoKCWlmIFsgLXggL3Vzci9iaW4vY2h2dCBdOyB0aGVuCgkJaWYg
WyAteCAvdXNyL2Jpbi9mZ2NvbnNvbGUgXTsgdGhlbgoJCQkvdXNyL2Jpbi9mZ2NvbnNvbGUgPiAv
dmFyL3N0YXRlL2FwbWRfc3VzcGVuZF9YX2NvbnNvbGU7CgkJCS91c3IvYmluL2NodnQgMTsKCQlm
aQoJZmkKCgkjIG90aGVyIGNvbW1vbiBhY3Rpb25zOiAgdW5sb2FkIHRyb3VibGVzb21lIGRyaXZl
cnMKCSMgRVhBTVBMRTogT1NTIHNvdW5kIG1heSBub3Qgc3VzcGVuZC9yZXN1bWUgcHJvcGVybHkK
CSMgICAgLSBVbmxvYWQgdGhlIGRyaXZlcnMgaGVyZSBhbmQgdGhlbiByZWxvYWQgdXBvbiByZXN1
bWUKCSMgICAgICBQYXRoIG1heSB2YXJ5LiAgQmUgc3VyZSB0byBlbmFibGUgInNvdW5kb24iIGJl
bG93LgoJCS91c3IvbG9jYWwvYmluL3NvdW5kb2ZmCgk7OwoKICAjIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gUkVTVU1FIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICMgUmVz
dW1lIC4uLiBmcm9tIHN0YW5kYnkgaXMgYSBOT1AsIGV4Y2VwdCB0aGUgY2xvY2sgdXBkYXRlLgog
ICJyZXN1bWUiKQoJIyBUeXBpY2FsbHkgdGhlIExpbnV4IHN5c3RlbSBjbG9jayBuZWVkcyB0byBi
ZSByZXNldC4KCXVwZGF0ZV9jbG9jawoKCSMgQWN0aXZhdGUgdGhpcyBzZWdtZW50IGlmIHlvdSAi
ZWplY3RlZCIgUENNQ0lBIGNhcmRzIGFib3ZlLgoJIyBUaGUgZGVmYXVsdCBvcGVyYXRpb24gaXMg
dG8gInJlc3VtZSIsIHdoaWNoIGlzIHJlcXVpcmVkIGZvcgoJIyBzeXN0ZW1zIHdob3NlIFBDTUNJ
QSBtb2R1bGVzIGFyZSBub3QgQVBNLWF3YXJlLgoJIwoJaWYgWyAkMiA9IHN1c3BlbmQgLWEgLXgg
L3NiaW4vY2FyZGN0bCBdOyB0aGVuCgkJaWYgWyAkUENNQ0lBX0VKRUNUX09OX1NVU1BFTkQgPSB0
cnVlIF07IHRoZW4KCQkJL3NiaW4vY2FyZGN0bCBpbnNlcnQKCQllbHNlCgkJCS9zYmluL2NhcmRj
dGwgcmVzdW1lCgkJZmkKCWZpCgoJIyBEcml2ZXMgY2FuIGZvcmdldCB0aGVpciB0aW1lLW91dCBz
ZXR0aW5nIGFmdGVyIHN1c3BlbmQsCgkjIHNvIHdlIG1heSBoYXZlIHRvIHJlcHJvZ3JhbSB0aGUg
ZHJpdmUuCiAgICAgICAgaWYgb25fYWNfcG93ZXIgPi9kZXYvbnVsbDsgdGhlbgogICAgICAgICAg
ICAgICAgcG93ZXJfcGVyZm9ybWFuY2UKICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBwb3dl
cl9jb25zZXJ2ZQogICAgICAgIGZpCgoJaWYgWyAteCAvdXNyL2Jpbi9jaHZ0IF07IHRoZW4KCQlp
ZiBbIC1lIC92YXIvc3RhdGUvYXBtZF9zdXNwZW5kX1hfY29uc29sZSBdOyB0aGVuCgkJCS91c3Iv
YmluL2NodnQgIiQoIC9iaW4vY2F0IC92YXIvc3RhdGUvYXBtZF9zdXNwZW5kX1hfY29uc29sZSAp
IjsKCQkJcm0gL3Zhci9zdGF0ZS9hcG1kX3N1c3BlbmRfWF9jb25zb2xlCgkJZmkKCWZpCgoJIyBv
dGhlciBjb21tb24gYWN0aW9uczogIHJlbG9hZCB0cm91Ymxlc29tZSBkcml2ZXJzCgkjIEVYQU1Q
TEU6IHJlbG9hZCBPU1Mgc291bmQgZHJpdmVycy4gIFBhdGggbWF5IHZhcnkuCgkJL3Vzci9sb2Nh
bC9iaW4vc291bmRvbgoJOzsKCiAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNU
QVJUIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAjIENhbGxlZCB3aGVuIGFwbWQgZmly
c3Qgc3RhcnRzLgogICMgSWYgd2UgYXJlIG9uIGJhdHRlcnkgcG93ZXIsIHRoZW4gYXR0ZW1wdCB0
byAiY29uc2VydmUiIHBvd2VyLgogICJzdGFydCIpCiAgCWlmIG9uX2FjX3Bvd2VyID4vZGV2L251
bGw7IHRoZW4KCQlwb3dlcl9wZXJmb3JtYW5jZQoJZWxzZQoJCXBvd2VyX2NvbnNlcnZlCglmaQoJ
OzsKCiAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNUT1AgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KICAjIENhbGxlZCB3aGVuIGFwbWQgaXMgdGVybWluYXRlZC4KICAj
IERlZmF1bHQgbW9kZSwgd2hlbiBhcG1kIGlzIG9mZiwgaXMgdG8gYmUgaW4gInBlcmZvcm1hbmNl
IiBtb2RlLgogICJzdG9wIikKCXBvd2VyX3BlcmZvcm1hbmNlCgk7OyAKCiAgIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gQ0hBTkdFIGluIFNUQVRVUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
ICAiY2hhbmdlIikKCWNhc2UgJDIgaW4KCSAgICAicG93ZXIiKQoJCSMgc3dpdGNoZWQgdG8vZnJv
bSBBQyBwb3dlciwgYWRkZWQvcmVtb3ZlZCBiYXR0ZXJ5LCBldGMKCQlpZiBvbl9hY19wb3dlciA+
L2Rldi9udWxsOyB0aGVuCgkJCWlmIFsgIiQoIC91c3Ivc2Jpbi9sc29mIC10IC9kZXYvZHNwICki
IF07IHRoZW4KCQkJCS9zYmluL2Nsa3J1bl9maXggZGlzYWJsZQoJCQllbHNlCgkJCQkvc2Jpbi9j
bGtydW5fZml4IGF1dG9tYXRpYwoJCQlmaQoJCQkJcG93ZXJfcGVyZm9ybWFuY2UKCQllbHNlCgkJ
CWlmIFsgIiQoIC91c3Ivc2Jpbi9sc29mIC10IC9kZXYvZHNwICkiIF07IHRoZW4KCQkJCS9zYmlu
L2Nsa3J1bl9maXggZGlzYWJsZQoJCQllbHNlCgkJCQkvc2Jpbi9jbGtydW5fZml4IGF1dG9tYXRp
YwoJCQlmaQoJCQlwb3dlcl9jb25zZXJ2ZQoJCWZpCgkJOzsKCSAgICAidGltZSIpCgkJIyBub3Jt
YWxseSBub3QgY2FsbGVkCgkJdXBkYXRlX2Nsb2NrCgkJOzsKCSAgICAiYmF0dGVyeSIpCgkJIyBi
YXR0ZXJ5IGlzIGF0ICJsb3ciIGxldmVsIChCSU9TIGRlZmluZXMgLS0gZS5nLiBhcyA1MCUpCgkJ
IyBjYW4ndCBkbyBtdWNoIG9mIGFueXRoaW5nIHVzZWZ1bAoJCTs7CgkgICAgImNhcGFiaWxpdHki
KQoJCSMgZS5nLiBhZGRlZCBuZXcgaGFyZHdhcmUgKG5vdCBiYXR0ZXJ5ISkKCQk7OwoJZXNhYwoJ
OzsKCmVzYWMKCmV4aXQgMAo=
--=_mixed 00663A5F852569C9_=--
----- The Linux ThinkPad mailing list -----
The linux-thinkpad mailing list home page is at:
http://www.bm-soft.com/~bm/tp_mailing.html