Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S265478AbUAWKbY (ORCPT ); Fri, 23 Jan 2004 05:31:24 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S265515AbUAWKbY (ORCPT ); Fri, 23 Jan 2004 05:31:24 -0500 Received: from [211.167.76.68] ([211.167.76.68]:13782 "HELO soulinfo.com") by vger.kernel.org with SMTP id S265478AbUAWKbR (ORCPT ); Fri, 23 Jan 2004 05:31:17 -0500 Date: Fri, 23 Jan 2004 18:30:30 +0800 From: Hugang To: Benjamin Herrenschmidt Cc: Nigel Cunningham , ncunningham@clear.net.nz, Linux Kernel Mailing List , debian-powerpc@lists.debian.org Subject: Re: Help port swsusp to ppc. Message-Id: <20040123183030.02fd16d6@localhost> In-Reply-To: <1074841973.974.217.camel@gaston> References: <20040119105237.62a43f65@localhost> <1074483354.10595.5.camel@gaston> <1074489645.2111.8.camel@laptop-linux> <1074490463.10595.16.camel@gaston> <1074534964.2505.6.camel@laptop-linux> <1074549790.10595.55.camel@gaston> <20040122211746.3ec1018c@localhost> <1074841973.974.217.camel@gaston> Organization: Beijing Soul X-Mailer: Sylpheed version 0.9.8claws (GTK+ 1.2.10; powerpc-unknown-linux-gnu) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Fri__23_Jan_2004_18_30_30_+0800_WnBaxbuZCvv_J6BL" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 15722 Lines: 234 This is a multi-part message in MIME format. --Multipart=_Fri__23_Jan_2004_18_30_30_+0800_WnBaxbuZCvv_J6BL Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Fri, 23 Jan 2004 18:12:53 +1100 Benjamin Herrenschmidt wrote: > There is at least one reason I think your code cannot work: When > resuming, you are basically blowing up the MMU hash table and kernel > page tables when copying the pages. I'm hacking on an implementation > of pmdisk at the moment that switches the MMU off during the page > copy to avoid that problem. This isn't the best way though. I has hacking on swsusp2 to ppc for whole day. Here is the update swsusp2-asm.S. First I can true suspend is ok, the data and CPU context are full write to disk. Then in resume, the copyback function works. How I know it? I'm adding printk before do_swsusp2_lowleve finished, I has printf the r1, That is the pointer to cpu context, it must right on resume, when resume it'll triger xmon, I d pm_sleep_storage, and check the pointer, I see that same things, So I true the copyback is ok, at least the cpu context memory has backed. very tire day. The current problem that is, In resume, It stop with all register (r0-r32) is zero. I don't known where I am. :) > I'll keep you informed of my progress I'm too. :) -- Hu Gang / Steve Linux Registered User 204016 GPG Public Key: http://soulinfo.com/~hugang/HuGang.asc --Multipart=_Fri__23_Jan_2004_18_30_30_+0800_WnBaxbuZCvv_J6BL Content-Type: application/octet-stream; name="swsusp2-asm.S" Content-Disposition: attachment; filename="swsusp2-asm.S" Content-Transfer-Encoding: base64 I2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5oPgojaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgojaW5j bHVkZSA8YXNtL3BhZ2UuaD4KI2luY2x1ZGUgPGFzbS9wcGNfYXNtLmg+CiNpbmNsdWRlIDxhc20v Y3B1dGFibGUuaD4KI2luY2x1ZGUgPGFzbS9jYWNoZS5oPgojaW5jbHVkZSA8YXNtL3RocmVhZF9p bmZvLmg+CiNpbmNsdWRlIDxhc20vb2Zmc2V0cy5oPgoKLyoKICogU3RydWN0dXJlIGZvciBzdG9y aW5nIENQVSByZWdpc3RlcnMgb24gdGhlIHN0YWNrLgogKi8KI2RlZmluZSBTTF9TUAkJMAojZGVm aW5lIFNMX1BDCQkoU0xfU1AgKyAweDQpCiNkZWZpbmUgU0xfTVNSCQkoU0xfU1AgKyAweDgpCiNk ZWZpbmUgU0xfU0RSMQkJKFNMX1NQICsgMHhjKQojZGVmaW5lIFNMX1NQUkcwCShTTF9TUCArIDB4 MTApCQkvKiA0IHNwcmcncyAqLwojZGVmaW5lIFNMX0RCQVQwCShTTF9TUCArIDB4MjApCiNkZWZp bmUgU0xfSUJBVDAJKFNMX1NQICsgMHgyOCkKI2RlZmluZSBTTF9EQkFUMQkoU0xfU1AgKyAweDMw KQojZGVmaW5lIFNMX0lCQVQxCShTTF9TUCArIDB4MzgpCiNkZWZpbmUgU0xfREJBVDIJKFNMX1NQ ICsgMHg0MCkKI2RlZmluZSBTTF9JQkFUMgkoU0xfU1AgKyAweDQ4KQojZGVmaW5lIFNMX0RCQVQz CShTTF9TUCArIDB4NTApCiNkZWZpbmUgU0xfSUJBVDMJKFNMX1NQICsgMHg1OCkKI2RlZmluZSBT TF9UQgkJKFNMX1NQICsgMHg2MCkKI2RlZmluZSBTTF9SMgkJKFNMX1NQICsgMHg2OCkKI2RlZmlu ZSBTTF9DUgkJKFNMX1NQICsgMHg2YykKI2RlZmluZSBTTF9SMTIJCShTTF9TUCArIDB4NzApCS8q IHIxMiB0byByMzEgKi8KI2RlZmluZSBTTF9TSVpFCQkoU0xfUjEyICsgODApCgojaWYgMAoJLnNl Y3Rpb24gLnJvZGF0YQpwdHJfZGVidWc6Cgkuc3RyaW5nICJwdHIgJXhcbiIKI2VuZGlmCgoJLnNl Y3Rpb24gLnRleHQKCS5hbGlnbiA1Cl9HTE9CQUwoZG9fc3dzdXNwX2xvd2xldmVsKQoJbWZscgly MAkJCQkJLyogc2F2ZSByZXR1cm4gYWRkcmVzcyBpbnRvIHIwICovCgoJY21wd2kJMCxyMywwCgli Ywk0LDIsLkwzNjI3CgoJYmwJZG9fc3dzdXNwMl9zdXNwZW5kXzEKCglzdHcJCXIwLFNMX1BDKHIx KQkJLyogc2F2ZSByZXR1cm4gYWRkcmVzcyBpbnRvIHIxICsgNCAqLwoJc3R3dQlyMSwtU0xfU0la RShyMSkgCS8qIHNhdmUgcjEgaW50byByMSAtIFNMX1NJWkUgKi8KCgltZmNyCXIwCQkJCQkvKiBj b25kaXRpb24gcmVnaXN0ZXIgc2F2ZSAqLwoJc3R3CXIwLFNMX0NSKHIxKQoJc3R3CXIyLFNMX1Iy KHIxKQkJCS8qIHIyICovCglzdG13CXIxMixTTF9SMTIocjEpCQkvKiByMTIgKi8KCQoJLyogU2F2 ZSBNU1IgJiBTRFIxICovCgltZm1zcglyNAoJc3R3CXI0LFNMX01TUihyMSkKCW1mc2RyMQlyNAoJ c3R3CXI0LFNMX1NEUjEocjEpCgoJLyogR2V0IGEgc3RhYmxlIHRpbWViYXNlIGFuZCBzYXZlIGl0 ICovCjE6CW1mdGJ1CXI0CglzdHcJcjQsU0xfVEIocjEpCgltZnRiCXI1CglzdHcJcjUsU0xfVEIr NChyMSkKCW1mdGJ1CXIzCgljbXB3CXIzLHI0CglibmUJMWIKCgkvKiBTYXZlIFNQUkdzICovCglt ZnNwcmcJcjQsMAoJc3R3CXI0LFNMX1NQUkcwKHIxKQoJbWZzcHJnCXI0LDEKCXN0dwlyNCxTTF9T UFJHMCs0KHIxKQoJbWZzcHJnCXI0LDIKCXN0dwlyNCxTTF9TUFJHMCs4KHIxKQoJbWZzcHJnCXI0 LDMKCXN0dwlyNCxTTF9TUFJHMCsxMihyMSkKCgkvKiBTYXZlIEJBVHMgKi8KCW1mZGJhdHUJcjQs MAoJc3R3CXI0LFNMX0RCQVQwKHIxKQoJbWZkYmF0bAlyNCwwCglzdHcJcjQsU0xfREJBVDArNChy MSkKCW1mZGJhdHUJcjQsMQoJc3R3CXI0LFNMX0RCQVQxKHIxKQoJbWZkYmF0bAlyNCwxCglzdHcJ cjQsU0xfREJBVDErNChyMSkKCW1mZGJhdHUJcjQsMgoJc3R3CXI0LFNMX0RCQVQyKHIxKQoJbWZk YmF0bAlyNCwyCglzdHcJcjQsU0xfREJBVDIrNChyMSkKCW1mZGJhdHUJcjQsMwoJc3R3CXI0LFNM X0RCQVQzKHIxKQoJbWZkYmF0bAlyNCwzCglzdHcJcjQsU0xfREJBVDMrNChyMSkKCW1maWJhdHUJ cjQsMAoJc3R3CXI0LFNMX0lCQVQwKHIxKQoJbWZpYmF0bAlyNCwwCglzdHcJcjQsU0xfSUJBVDAr NChyMSkKCW1maWJhdHUJcjQsMQoJc3R3CXI0LFNMX0lCQVQxKHIxKQoJbWZpYmF0bAlyNCwxCglz dHcJcjQsU0xfSUJBVDErNChyMSkKCW1maWJhdHUJcjQsMgoJc3R3CXI0LFNMX0lCQVQyKHIxKQoJ bWZpYmF0bAlyNCwyCglzdHcJcjQsU0xfSUJBVDIrNChyMSkKCW1maWJhdHUJcjQsMwoJc3R3CXI0 LFNMX0lCQVQzKHIxKQoJbWZpYmF0bAlyNCwzCglzdHcJcjQsU0xfSUJBVDMrNChyMSkKCiNpZiAw IC8qIFRFU1RfQ09ERSAqLwoJbGlzCQlyNCwweDEyMzQKCW9yaQkJcjQscjQsMHg1NgoJc3R3CQly NCwtKFNMX1NJWkUgKyA0KShyMSkKI2VuZGlmCgoJLyogZ2V0IHIxIHBoeXNpY2FsIHB0ciAqLwoJ dG9waHlzKHI1LHIxKQoJYWRkaQlyNSxyNSxTTF9QQwoKCS8qIHNhdmUgc3RvcmFnZSBwdHIgKi8J CglsaXMJcjMscG1fc2xlZXBfc3RvcmFnZUBoYQoJYWRkaQlyMyxyMyxwbV9zbGVlcF9zdG9yYWdl QGwKCXN0dwlyNSwwKHIzKQoKI2lmIDAKCS8qIHByaW50ZiBwdHIgKi8KCWxpcwlyMyxwdHJfZGVi dWdAaGEKCWxhIHIzLHB0cl9kZWJ1Z0BsKHIzKQoJYmwJcHJpbnRrCiNlbmRpZgoKCS8qIEJhY2t1 cCB2YXJpb3VzIENQVSBjb25maWdzIHN0dWZmcyAqLwkKCWJsCV9fc2F2ZV9jcHVfc2V0dXAKCgli bAlkb19zd3N1c3AyX3N1c3BlbmRfMgoKCWIJcmVzdG9yZV9zdGFjawoJCQouTDM2Mjc6CglibCBk b19zd3N1c3AyX3Jlc3VtZV8xCgoJbGlzIHI5LHN3c3VzcF9hY3Rpb25AaGEKCWx3eiByMCxzd3N1 c3BfYWN0aW9uQGwocjkpCglsaXMgcjExLHN3c3VzcF9kZWJ1Z19zdGF0ZUBoYQoJbGlzIHI5LHN0 YXRlMUBoYQoJc3R3IHIwLHN0YXRlMUBsKHI5KQoJbHd6IHI4LHN3c3VzcF9kZWJ1Z19zdGF0ZUBs KHIxMSkKCWxpcyByMTAsY29uc29sZV9wcmludGtAaGEKCWxpcyByOSxzdGF0ZTJAaGEKCWxpcyBy MTEscGFnZWRpcl9yZXN1bWVAaGEKCXN0dyByOCxzdGF0ZTJAbChyOSkKCWxhIHIxMSxwYWdlZGly X3Jlc3VtZUBsKHIxMSkKCWx3eiByMCxjb25zb2xlX3ByaW50a0BsKHIxMCkKCWx3eiByNSwxMihy MTEpCglsaXMgcjksc3RhdGUzQGhhCglzdHcgcjAsc3RhdGUzQGwocjkpCglsd3ogcjEwLDAocjUp Cglsd3ogcjQsNTYocjExKQoJbGlzIHI5LG9yaWdvZmZzZXRAaGEKCXN0dyByMTAsb3JpZ29mZnNl dEBsKHI5KQoJbHd6IHIwLDAocjQpCglsaXMgcjExLGNvcHlvZmZzZXRAaGEKCXN0dyByMCxjb3B5 b2Zmc2V0QGwocjExKQoJbHd6IHIxMCxvcmlnb2Zmc2V0QGwocjkpCglsd3ogcjgsY29weW9mZnNl dEBsKHIxMSkKCXNsd2kgcjkscjEwLHIyCglzbHdpIHIxMSxyOCxyMgoJYWRkIHI5LHI5LHIxMAoJ YWRkIHIxMSxyMTEsOAoJbGlzIHIwLDB4Y2NjYwoJb3JpIHIwLHIwLDUyNDI5CglzbHdpIHI5LHI5 LHIzCglzbHdpIHIxMSxyMTEscjMKCW11bGx3IHIxMSxyMTEscjAKCW11bGx3IHI5LHI5LHIwCglz bHdpIHIxMSxyMTEscjkKCXNsd2kgcjkscjkscjkKCWNtcHdpIHIwLHI1LHIwCglhZGRpcyByOSxy OSwweGMwMDAKCWFkZGlzIHIxMSxyMTEsMHhjMDAwCglsaXMgcjcsb3JpZ3JhbmdlQGhhCglsaXMg cjYsY29weXJhbmdlQGhhCglsaXMgcjEwLG9yaWdwYWdlQGhhCglsaXMgcjgsY29weXBhZ2VAaGEK CWxpcyByMjQsb3JpZ3JhbmdlQGhhCglsaXMgcjI1LGNvcHlyYW5nZUBoYQoJbGlzIHIxMixvcmln b2Zmc2V0QGhhCglsaXMgcjMsY29weW9mZnNldEBoYQoJc3R3IHI5LG9yaWdwYWdlQGwocjEwKQoJ c3R3IHIxMSxjb3B5cGFnZUBsKHI4KQoJc3R3IHI1LG9yaWdyYW5nZUBsKHI3KQoJc3R3IHI0LGNv cHlyYW5nZUBsKHI2KQoJYmMgcjEyLHIyLC5MMzY0NgoJbGlzIHI0LDB4Y2NjYwoJbGlzIHIyOCxs b29wQGhhCglsaXMgcjI2LG9yaWdvZmZzZXRAaGEKCWxpcyByMjksb3JpZ3JhbmdlQGhhCglsaXMg cjMwLG9yaWdwYWdlQGhhCglvcmkgcjQscjQsNTI0MjkKCWxpcyByMjcsY29weW9mZnNldEBoYQoJ bGlzIHIzMSxjb3B5cGFnZUBoYQouTDM2MzI6CglsaSByMCxyMAoJc3R3IHIwLGxvb3BAbChyMjgp Cglsd3ogcjksbG9vcEBsKHIyOCkKCWNtcGx3aSByMCxyOSwxMDIzCgliYyByMTIscjEsLkwzNjM3 CglsaXMgcjcsbG9vcEBoYQoJbGlzIHI1LG9yaWdwYWdlQGhhCglsaXMgcjYsY29weXBhZ2VAaGEK LkwzNjM1OgoJbHd6IHI4LGxvb3BAbChyNykKCWx3eiByOSxsb29wQGwocjcpCglsd3ogcjExLGNv cHlwYWdlQGwocjYpCglzbHdpIHI5LHI5LHIyCglsd3p4IHIwLHI5LHIxMQoJbHd6IHIxMCxvcmln cGFnZUBsKHI1KQoJc2x3aSByOCxyOCxyMgoJc3R3eCByMCxyOCxyMTAKCWx3eiByOSxsb29wQGwo cjcpCglhZGRpIHI5LHI5LHIxCglzdHcgcjksbG9vcEBsKHI3KQoJbHd6IHIwLGxvb3BAbChyNykK CWNtcGx3aSByMCxyMCwxMDIzCgliYyByNCxyMSwuTDM2MzUKLkwzNjM3OgoJbHd6IHIxMSxvcmln cmFuZ2VAbChyMjkpCglsd3ogcjksb3JpZ29mZnNldEBsKHIyNikKCWx3eiByMCw0KHIxMSkKCWNt cGx3IHIwLHI5LHIwCgliYyByNCxyMCwuTDM2MzgKCWx3eiByOSxvcmlnb2Zmc2V0QGwocjEyKQoJ bHd6IHIxMSxvcmlncGFnZUBsKHIzMCkKCWFkZGkgcjkscjkscjEKCWFkZGkgcjExLHIxMSw0MDk2 CglzdHcgcjksb3JpZ29mZnNldEBsKHIxMikKCXN0dyByMTEsb3JpZ3BhZ2VAbChyMzApCgliIC5M MzYzOQouTDM2Mzg6Cglsd3ogcjksOChyMTEpCgljbXB3aSByMCxyOSxyMAoJc3R3IHI5LG9yaWdy YW5nZUBsKHIyNCkKCWJjIHIxMixyMiwuTDM2MzkKCWx3eiByOSwwKHI5KQoJc3R3IHI5LG9yaWdv ZmZzZXRAbChyMTIpCglsd3ogcjAsb3JpZ29mZnNldEBsKHIxMikKCXNsd2kgcjkscjAscjIKCWFk ZCByOSxyOSxyMAoJc2x3aSByOSxyOSxyMwoJbXVsbHcgcjkscjkscjQKCXNsd2kgcjkscjkscjkK CWFkZGlzIHI5LHI5LDB4YzAwMAoJc3R3IHI5LG9yaWdwYWdlQGwocjMwKQouTDM2Mzk6CglsaXMg cjksY29weXJhbmdlQGhhCglsd3ogcjksY29weXJhbmdlQGwocjkpCglsd3ogcjExLGNvcHlvZmZz ZXRAbChyMjcpCglsd3ogcjAsNChyOSkKCWNtcGx3IHIwLHIxMSxyMAoJYmMgcjQscjAsLkwzNjQy Cglsd3ogcjksY29weW9mZnNldEBsKHIzKQoJbHd6IHIxMSxjb3B5cGFnZUBsKHIzMSkKCWFkZGkg cjkscjkscjEKCWFkZGkgcjExLHIxMSw0MDk2CglzdHcgcjksY29weW9mZnNldEBsKHIzKQoJc3R3 IHIxMSxjb3B5cGFnZUBsKHIzMSkKCWIgLkwzNjMwCi5MMzY0MjoKCWx3eiByOSxyOChyOSkKCWNt cHdpIHIwLHI5LHIwCglzdHcgcjksY29weXJhbmdlQGwocjI1KQoJYmMgcjEyLHIyLC5MMzYzMAoJ bHd6IHI5LDAocjkpCglzdHcgcjksY29weW9mZnNldEBsKHIzKQoJbHd6IHIwLGNvcHlvZmZzZXRA bChyMykKCXNsd2kgcjkscjAscjIKCWFkZCByOSxyOSxyMAoJc2x3aSByOSxyOSxyMwoJbXVsbHcg cjkscjkscjQKCXNsd2kgcjkscjkscjkKCWFkZGlzIHI5LHI5LDB4YzAwMAoJc3R3IDksY29weXBh Z2VAbChyMzEpCi5MMzYzMDoKCWx3eiByMCxvcmlncmFuZ2VAbChyMjkpCgljbXB3aSByMCxyMCxy MAoJYmMgcjQscjIsLkwzNjMyCi5MMzY0NjoKCWxpcyByOSxzdGF0ZTFAaGEKCWx3eiByNyxzdGF0 ZTFAbChyOSkKCWxpcyByMTEsc3RhdGUyQGhhCglsd3ogcjgsc3RhdGUyQGwocjExKQoJbGlzIHI5 LHN0YXRlM0BoYQoJbHd6IHIwLHN0YXRlM0BsKHI5KQoJbGlzIHIxMSxzd3N1c3BfYWN0aW9uQGhh CglsaXMgcjksc3dzdXNwX2RlYnVnX3N0YXRlQGhhCglsaXMgcjEwLGNvbnNvbGVfcHJpbnRrQGhh CglzdHcgcjcsc3dzdXNwX2FjdGlvbkBsKHIxMSkKCXN0dyByOCxzd3N1c3BfZGVidWdfc3RhdGVA bChyOSkKCXN0dyByMCxjb25zb2xlX3ByaW50a0BsKHIxMCkKCiNpZiAwCi8vCWJsCXBtX3R1cm5f b2ZmX21tdQovLyNlbHNlCi8vCW1mbXNyCXIzCi8vCWFuZGkuCXIwLHIzLE1TUl9EUnxNU1JfSVIJ CS8qIE1NVSBlbmFibGVkPyAqLwoJYmVxbHIKCWFuZGMJcjMscjMscjAKCW10c3ByCVNSUjAscjQK CW10c3ByCVNSUjEscjMKCXN5bmMKI2VuZGlmCgojaWYgMAoJLyogVHVybiBvZmYgZGF0YSByZWxv Y2F0aW9uLiAqLwoJbWZtc3IJcjMJCS8qIFNhdmUgTVNSIGluIHIzICovCglybHdpbm0JcjMscjMs MCwyOCwyNgkvKiBUdXJuIG9mZiBEUiBiaXQgKi8KCXN5bmMKCW10bXNyCXIzCglpc3luYwojZW5k aWYKCiNpZiAwCS8qIGZvcmNlIHN1cGVydmlzb3IgKi8KCW1mbXNyICAgcjQKCWxpICByMyxNU1Jf UFIgICAvKiBlbnN1cmUgc3VwZXJ2aXNvciEgKi8KCW9yaSByMyxyMyxNU1JfSVJ8TVNSX0RSCglh bmRjICAgIHI0LHI0LHIzCgltdG1zciAgIHI0Cglpc3luYwojZW5kaWYKCiNpZiAwIC8qIE1NVSBv ZmYgKi8KCWxpICByMywwCgltdHNwciAgIElCQVQwVSxyMwoJbXRzcHIgICBJQkFUMEwscjMKCW10 c3ByICAgSUJBVDFVLHIzCgltdHNwciAgIElCQVQxTCxyMwoJbXRzcHIgICBJQkFUMlUscjMKCW10 c3ByICAgSUJBVDJMLHIzCgltdHNwciAgIElCQVQzVSxyMwoJbXRzcHIgICBJQkFUM0wscjMKCW10 c3ByICAgREJBVDBVLHIzCgltdHNwciAgIERCQVQwTCxyMwoJbXRzcHIgICBEQkFUMVUscjMKCW10 c3ByICAgREJBVDFMLHIzCgltdHNwciAgIERCQVQyVSxyMwoJbXRzcHIgICBEQkFUMkwscjMKCW10 c3ByICAgREJBVDNVLHIzCgltdHNwciAgIERCQVQzTCxyMwojZW5kaWYKCiNpZiAwCgkvKiBNYWtl IHN1cmUgSElEMCBubyBsb25nZXIgY29udGFpbnMgYW55IHNsZWVwIGJpdCAqLwoJbWZzcHIJcjMs SElEMAoJcmx3aW5tCXIzLHIzLDAsMTEsNwkJLyogY2xlYXIgU0xFRVAsIE5BUCwgRE9aRSBiaXRz ICovCgltdHNwcglISUQwLHIzCglzeW5jCglpc3luYwojZW5kaWYKCiNpZiAwCgkvKiBXb24ndCB0 aGF0IGNhdXNlIHByb2JsZW1zIG9uIENQVSB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBpdCA/ICovCgls aXMJcjMsIDAKCW10c3ByCVNQUk5fTU1DUjAsIHIzCiNlbmRpZgoKCS8qIHNhbml0aXplIE1TUiAq LwoJbWZtc3IJcjMKCW9yaQlyMyxyMyxNU1JfRUV8TVNSX0lQCgl4b3JpCXIzLHIzLE1TUl9FRXxN U1JfSVAKCXN5bmMKCWlzeW5jCgltdG1zcglyMwoJc3luYwoJaXN5bmMKCgkvKiBSZWNvdmVyIHNs ZWVwIHN0b3JhZ2UgKi8KCWxpcwlyMyxwbV9zbGVlcF9zdG9yYWdlQGhhCglhZGRpCXIzLHIzLHBt X3NsZWVwX3N0b3JhZ2VAbAoJdG9waHlzKHIzLHIzKQoJbHd6CXIxLDAocjMpCgoJLyogSW52YWxp ZGF0ZSAmIGVuYWJsZSBMMSBjYWNoZSwgd2UgZG9uJ3QgY2FyZSBhYm91dAoJICogd2hhdGV2ZXIg dGhlIFJPTSBtYXkgaGF2ZSB0cmllZCB0byB3cml0ZSB0byBtZW1vcnkKCSAqLwoJYmwJX19pbnZh bF9lbmFibGVfTDEKCgkvKiBSZXN0b3JlIHRoZSBrZXJuZWwncyBzZWdtZW50IHJlZ2lzdGVycyBi ZWZvcmUKCSAqIHdlIGRvIGFueSByMSBtZW1vcnkgYWNjZXNzIGFzIHdlIGFyZSBub3Qgc3VyZSB0 aGV5CgkgKiBhcmUgaW4gYSBzYW5lIHN0YXRlIGFib3ZlIHRoZSBmaXJzdCAyNTZNYiByZWdpb24K CSAqLwoJbGkJcjAsMTYJCS8qIGxvYWQgdXAgc2VnbWVudCByZWdpc3RlciB2YWx1ZXMgKi8KCW10 Y3RyCXIwCQkvKiBmb3IgY29udGV4dCAwICovCglsaXMJcjMsMHgyMDAwCS8qIEt1ID0gMSwgVlNJ RCA9IDAgKi8KCWxpCXI0LDAKMzoJbXRzcmluCXIzLHI0CglhZGRpCXIzLHIzLDB4MTExCS8qIGlu Y3JlbWVudCBWU0lEICovCglhZGRpcwlyNCxyNCwweDEwMDAJLyogYWRkcmVzcyBvZiBuZXh0IHNl Z21lbnQgKi8KCWJkbnoJM2IKCXN5bmMKCWlzeW5jCgoJc3ViaQlyMSxyMSxTTF9QQwoJCgkvKiBS ZXN0b3JlIHZhcmlvdXMgQ1BVIGNvbmZpZyBzdHVmZnMgKi8KCWJsCV9fcmVzdG9yZV9jcHVfc2V0 dXAKCQkJCgkvKiBSZXN0b3JlIHRoZSBCQVRzLCBhbmQgU0RSMS4gIFRoZW4gd2UgY2FuIHR1cm4g b24gdGhlIE1NVS4gKi8KCWx3eglyNCxTTF9TRFIxKHIxKQoJbXRzZHIxCXI0Cglsd3oJcjQsU0xf U1BSRzAocjEpCgltdHNwcmcJMCxyNAoJbHd6CXI0LFNMX1NQUkcwKzQocjEpCgltdHNwcmcJMSxy NAoJbHd6CXI0LFNMX1NQUkcwKzgocjEpCgltdHNwcmcJMixyNAoJbHd6CXI0LFNMX1NQUkcwKzEy KHIxKQoJbXRzcHJnCTMscjQKCglsd3oJcjQsU0xfREJBVDAocjEpCgltdGRiYXR1CTAscjQKCWx3 eglyNCxTTF9EQkFUMCs0KHIxKQoJbXRkYmF0bAkwLHI0Cglsd3oJcjQsU0xfREJBVDEocjEpCglt dGRiYXR1CTEscjQKCWx3eglyNCxTTF9EQkFUMSs0KHIxKQoJbXRkYmF0bAkxLHI0Cglsd3oJcjQs U0xfREJBVDIocjEpCgltdGRiYXR1CTIscjQKCWx3eglyNCxTTF9EQkFUMis0KHIxKQoJbXRkYmF0 bAkyLHI0Cglsd3oJcjQsU0xfREJBVDMocjEpCgltdGRiYXR1CTMscjQKCWx3eglyNCxTTF9EQkFU Mys0KHIxKQoJbXRkYmF0bAkzLHI0Cglsd3oJcjQsU0xfSUJBVDAocjEpCgltdGliYXR1CTAscjQK CWx3eglyNCxTTF9JQkFUMCs0KHIxKQoJbXRpYmF0bAkwLHI0Cglsd3oJcjQsU0xfSUJBVDEocjEp CgltdGliYXR1CTEscjQKCWx3eglyNCxTTF9JQkFUMSs0KHIxKQoJbXRpYmF0bAkxLHI0Cglsd3oJ cjQsU0xfSUJBVDIocjEpCgltdGliYXR1CTIscjQKCWx3eglyNCxTTF9JQkFUMis0KHIxKQoJbXRp YmF0bAkyLHI0Cglsd3oJcjQsU0xfSUJBVDMocjEpCgltdGliYXR1CTMscjQKCWx3eglyNCxTTF9J QkFUMys0KHIxKQoJbXRpYmF0bAkzLHI0CgpCRUdJTl9GVFJfU0VDVElPTgoJbGkJcjQsMAoJbXRz cHIJU1BSTl9EQkFUNFUscjQKCW10c3ByCVNQUk5fREJBVDRMLHI0CgltdHNwcglTUFJOX0RCQVQ1 VSxyNAoJbXRzcHIJU1BSTl9EQkFUNUwscjQKCW10c3ByCVNQUk5fREJBVDZVLHI0CgltdHNwcglT UFJOX0RCQVQ2TCxyNAoJbXRzcHIJU1BSTl9EQkFUN1UscjQKCW10c3ByCVNQUk5fREJBVDdMLHI0 CgltdHNwcglTUFJOX0lCQVQ0VSxyNAoJbXRzcHIJU1BSTl9JQkFUNEwscjQKCW10c3ByCVNQUk5f SUJBVDVVLHI0CgltdHNwcglTUFJOX0lCQVQ1TCxyNAoJbXRzcHIJU1BSTl9JQkFUNlUscjQKCW10 c3ByCVNQUk5fSUJBVDZMLHI0CgltdHNwcglTUFJOX0lCQVQ3VSxyNAoJbXRzcHIJU1BSTl9JQkFU N0wscjQKRU5EX0ZUUl9TRUNUSU9OX0lGU0VUKENQVV9GVFJfSEFTX0hJR0hfQkFUUykKCgkvKiBG bHVzaCBhbGwgVExCcyAqLwoJbGlzCXI0LDB4MTAwMAoxOglhZGRpYy4JcjQscjQsLTB4MTAwMAoJ dGxiaWUJcjQKCWJsdAkxYgoJc3luYwoKCS8qIHJlc3RvcmUgdGhlIE1TUiBhbmQgdHVybiBvbiB0 aGUgTU1VICovCglsd3oJcjMsU0xfTVNSKHIxKQoJYmwJcG1fdHVybl9vbl9tbXUKCgkvKiBnZXQg YmFjayB0aGUgc3RhY2sgcG9pbnRlciAqLwoJdG92aXJ0KHIxLHIxKQkKCgkvKiBSZXN0b3JlIFRC ICovCglsaQlyMywwCgltdHRibAlyMwoJbHd6CXIzLFNMX1RCKHIxKQoJbHd6CXI0LFNMX1RCKzQo cjEpCgltdHRidQlyMwoJbXR0YmwJcjQKCQoJYmwJZG9fc3dzdXNwMl9yZXN1bWVfMgoJCnJlc3Rv cmVfc3RhY2s6CQoJLyogUmVzdG9yZSB0aGUgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBhbmQgcmV0 dXJuICovCglsd3oJcjAsU0xfQ1IocjEpCgltdGNyCXIwCglsd3oJcjIsU0xfUjIocjEpCglsbXcJ cjEyLFNMX1IxMihyMSkKCWFkZGkJcjEscjEsU0xfU0laRQoJbHd6CXIwLDQocjEpCgltdGxyCXIw CglibHIKCnBtX3R1cm5fb25fbW11OgoJbWZscglyNAoJdG92aXJ0KHI0LHI0KQoJbXRzcnIwCXI0 CgltdHNycjEJcjMKCXN5bmMKCWlzeW5jCglyZmkKCnBtX3R1cm5fb2ZmX21tdToKCW1mbXNyCXIz CglhbmRpLglyMCxyMyxNU1JfRFJ8TVNSX0lSCQkvKiBNTVUgZW5hYmxlZD8gKi8KCWJlcWxyCglh bmRjCXIzLHIzLHIwCgltdHNwcglTUlIwLHI0CgltdHNwcglTUlIxLHIzCglzeW5jCglyZmkKCgku c2VjdGlvbgkiLmRhdGEubm9zYXZlIgpvcmlncmFuZ2U6CgkubG9uZyAwCmNvcHlyYW5nZToKCS5s b25nIDAKb3JpZ29mZnNldDoKCS5sb25nIDAKY29weW9mZnNldDoKCS5sb25nIDAKb3JpZ3BhZ2U6 CgkubG9uZyAwCmNvcHlwYWdlOgoJLmxvbmcgMApsb29wOgoJLmxvbmcgMApzdGF0ZTE6CgkubG9u ZyAwCnN0YXRlMjoKCS5sb25nIDAKc3RhdGUzOgoJLmxvbmcgMApjX2xvb3BzX3Blcl9qaWZmeV9y ZWY6CgkubG9uZyAwCmNwdV9raHpfcmVmOgoJLmxvbmcgMAoKCS5zZWN0aW9uIC5kYXRhCgkuYmFs aWduIEwxX0NBQ0hFX0xJTkVfU0laRQpwbV9zbGVlcF9zdG9yYWdlOgoJLmxvbmcgMAoJLmJhbGln biBMMV9DQUNIRV9MSU5FX1NJWkUsMAoJCgkudGV4dAo= --Multipart=_Fri__23_Jan_2004_18_30_30_+0800_WnBaxbuZCvv_J6BL-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/