Date: Tue, 22 Feb 2005 06:06:37 +0900 From: Takeharu KATO <takeharu1219@ybb.ne.jp> To: freebsd-current@freebsd.org, freebsd-amd64@FreeBSD.org Cc: nork@FreeBSD.org Subject: AMD64 Local APIC Timer Message-ID: <421A4D5D.6040205@ybb.ne.jp>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------030802060005060601090600 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi I ported the local APIC timer tick feature to AMD64. Please take a look on this patch. Regards, -- Takeharu KATO --------------030802060005060601090600 Content-Type: text/plain; name="amd64-lapic-timer.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="amd64-lapic-timer.patch" SW5kZXg6IGFtZDY0L2FtZDY0L2FwaWNfdmVjdG9yLlMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls ZTogL2hvbWUva2F0by9jdnMva2F0by1zeXMvYW1kNjQvYW1kNjQvYXBpY192ZWN0b3IuUyx2 CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xLjEuMQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMgpk aWZmIC11IC1yMS4xLjEuMSAtcjEuMgotLS0gYW1kNjQvYW1kNjQvYXBpY192ZWN0b3IuUwkx OCBGZWIgMjAwNSAxNDowNTo1NSAtMDAwMAkxLjEuMS4xCisrKyBhbWQ2NC9hbWQ2NC9hcGlj X3ZlY3Rvci5TCTIwIEZlYiAyMDA1IDE4OjE1OjI5IC0wMDAwCTEuMgpAQCAtMTM3LDYgKzEz NywyNiBAQAogCUlTUl9WRUMoNiwgYXBpY19pc3I2KQogCUlTUl9WRUMoNywgYXBpY19pc3I3 KQogCisvKgorICogTG9jYWwgQVBJQyBwZXJpb2RpYyB0aW1lciBoYW5kbGVyLgorICovCisJ LnRleHQKKwlTVVBFUkFMSUdOX1RFWFQKK0lEVFZFQyh0aW1lcmludCkKKwlQVVNIX0ZSQU1F CisKKwltb3ZxCWxhcGljLCAlcmR4CisJbW92bAkkMCwgTEFfRU9JKCVyZHgpCS8qIEVuZCBP ZiBJbnRlcnJ1cHQgdG8gQVBJQyAqLworCQorCUZBS0VfTUNPVU5UKFRGX1JJUCglcnNwKSkK KworCisJcHVzaHEJJDAJCS8qIFhYWCBjb252ZXJ0IHRyYXBmcmFtZSB0byBjbG9ja2ZyYW1l ICovCisJY2FsbAlsYXBpY19oYW5kbGVfdGltZXIKKwlhZGRxCSQ4LCAlcnNwCS8qIFhYWCBj b252ZXJ0IGNsb2NrZnJhbWUgdG8gdHJhcGZyYW1lICovCisJTUVYSVRDT1VOVAorCWptcAlk b3JldGkKKwogI2lmZGVmIFNNUAogLyoKICAqIEdsb2JhbCBhZGRyZXNzIHNwYWNlIFRMQiBz aG9vdGRvd24uCkluZGV4OiBhbWQ2NC9hbWQ2NC9sb2NhbF9hcGljLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpSQ1MgZmlsZTogL2hvbWUva2F0by9jdnMva2F0by1zeXMvYW1kNjQvYW1kNjQvbG9jYWxf YXBpYy5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEuMS4xCmRpZmYgLXUgLXIxLjEuMS4x IGxvY2FsX2FwaWMuYwotLS0gYW1kNjQvYW1kNjQvbG9jYWxfYXBpYy5jCTE4IEZlYiAyMDA1 IDE0OjA1OjU1IC0wMDAwCTEuMS4xLjEKKysrIGFtZDY0L2FtZDY0L2xvY2FsX2FwaWMuYwky MCBGZWIgMjAwNSAxOTo0MzowNiAtMDAwMApAQCAtMSw0ICsxLDYgQEAKIC8qLQorICogQ29w eXJpZ2h0IChjKSAyMDA1IFRha2VoYXJ1IEtBVE88dGFrZWhhcnUxMjE5QHliYi5uZS5qcD4K KyAqICAgICAgICAgICAgICAgICAgICAoQWRkIExBUElDIHRpbWVyIHN1cHBvcnQpLgogICog Q29weXJpZ2h0IChjKSAyMDAzIEpvaG4gQmFsZHdpbiA8amhiQEZyZWVCU0Qub3JnPgogICog Q29weXJpZ2h0IChjKSAxOTk2LCBieSBTdGV2ZSBQYXNzZQogICogQWxsIHJpZ2h0cyByZXNl cnZlZC4KQEAgLTY2LDYgKzY4LDkgQEAKIENUQVNTRVJUKEFQSUNfTE9DQUxfSU5UUyA9PSAy NDApOwogQ1RBU1NFUlQoSVBJX1NUT1AgPCBBUElDX1NQVVJJT1VTX0lOVCk7CiAKKyNkZWZp bmUJTEFQSUNfVElNRVJfU1RBVEhaCTEyOAorI2RlZmluZQlMQVBJQ19USU1FUl9QUk9GSFoJ MTAyNAorCiAvKgogICogU3VwcG9ydCBmb3IgbG9jYWwgQVBJQ3MuICBMb2NhbCBBUElDcyBt YW5hZ2UgaW50ZXJydXB0cyBvbiBlYWNoCiAgKiBpbmRpdmlkdWFsIHByb2Nlc3NvciBhcyBv cHBvc2VkIHRvIEkvTyBBUElDcyB3aGljaCByZWNlaXZlIGludGVycnVwdHMKQEAgLTkwLDYg Kzk1LDkgQEAKIAl1X2ludCBsYV9jbHVzdGVyOjQ7CiAJdV9pbnQgbGFfY2x1c3Rlcl9pZDoy OwogCXVfaW50IGxhX3ByZXNlbnQ6MTsKKwl1X2xvbmcgKmxhX3RpbWVyX2NvdW50OworCXVf bG9uZyBsYV9zdGF0X3RpY2tzOworCXVfbG9uZyBsYV9wcm9mX3RpY2tzOwogfSBzdGF0aWMg bGFwaWNzW01BWF9BUElDSURdOwogCiAvKiBYWFg6IHNob3VsZCB0aGVybWFsIGJlIGFuIE5N ST8gKi8KQEAgLTExNSw5ICsxMjMsMjMgQEAKIAlJRFRWRUMoYXBpY19pc3I3KSwJLyogMjI0 IC0gMjU1ICovCiB9OwogCitzdGF0aWMgdV9pbnQzMl90IGxhcGljX3RpbWVyX2Rpdmlzb3Jz W10gPSB7IAorCUFQSUNfVERDUl8xLCBBUElDX1REQ1JfMiwgQVBJQ19URENSXzQsIEFQSUNf VERDUl84LCBBUElDX1REQ1JfMTYsCisJQVBJQ19URENSXzMyLCBBUElDX1REQ1JfNjQsIEFQ SUNfVERDUl8xMjgKK307CisKKwogdm9sYXRpbGUgbGFwaWNfdCAqbGFwaWM7CitzdGF0aWMg dV9sb25nIGxhcGljX3RpbWVyX2Rpdmlzb3IsIGxhcGljX3RpbWVyX3BlcmlvZDsKK3N0YXRp YyB1X2xvbmcgKmxhcGljX3ZpcnR1YWxfaGFyZGNsb2NrLCAqbGFwaWNfdmlydHVhbF9zdGF0 Y2xvY2ssCisJKmxhcGljX3ZpcnR1YWxfcHJvZmNsb2NrOwogCiBzdGF0aWMgdm9pZAlsYXBp Y19lbmFibGUodm9pZCk7CitzdGF0aWMgdm9pZAlsYXBpY190aW1lcl9lbmFibGVfaW50cih2 b2lkKTsKK3N0YXRpYyB1X2xvbmcgICBjYWxjdWxhdGVfbGFwaWNfdGltZXJfcGVyaW9kKHZv aWQpOworc3RhdGljIHZvaWQJbGFwaWNfdGltZXJfb25lc2hvdCh1X2ludCBjb3VudCk7Citz dGF0aWMgdm9pZAlsYXBpY190aW1lcl9wZXJpb2RpYyh1X2ludCBjb3VudCk7CitzdGF0aWMg dm9pZAlsYXBpY190aW1lcl9zZXRfZGl2aXNvcih1X2ludCBkaXZpc29yKTsKIHN0YXRpYyB1 aW50MzJfdAlsdnRfbW9kZShzdHJ1Y3QgbGFwaWMgKmxhLCB1X2ludCBwaW4sIHVpbnQzMl90 IHZhbHVlKTsKIAogc3RhdGljIHVpbnQzMl90CkBAIC0xODEsNiArMjAzLDcgQEAKIAlQQ1BV X1NFVChhcGljX2lkLCBsYXBpY19pZCgpKTsKIAogCS8qIFhYWDogdGltZXIvZXJyb3IvdGhl cm1hbCBpbnRlcnJ1cHRzICovCisJc2V0aWR0KEFQSUNfVElNRVJfSU5ULCBJRFRWRUModGlt ZXJpbnQpLCBTRFRfU1lTSUdULCBTRUxfS1BMLDApOwogfQogCiAvKgpAQCAtMjQ0LDEzICsy NjcsNTYgQEAKIAkgICAgKCJObyBJU1IgaGFuZGxlciBmb3IgSVJRICV1IiwgaXJxKSk7CiAJ c2V0aWR0KHZlY3RvciwgaW9pbnRfaGFuZGxlcnNbdmVjdG9yIC8gMzJdLCBTRFRfU1lTSUdU LCBTRUxfS1BMLCAgMCk7CiB9CitzdGF0aWMgdV9sb25nCitjYWxjdWxhdGVfbGFwaWNfdGlt ZXJfcGVyaW9kKHZvaWQpCit7CisJdV9sb25nIHBlcmlvZCx2YWx1ZTsKKworCS8qIFN0YXJ0 IG9mZiB3aXRoIGEgZGl2aXNvciBvZiAyIChwb3dlciBvbiByZXNldCBkZWZhdWx0KS4gKi8K KwlsYXBpY190aW1lcl9kaXZpc29yID0gODsKKworCS8qIFRyeSB0byBjYWxpYnJhdGUgdGhl IGxvY2FsIEFQSUMgdGltZXIuICovCisJZG8geworCQlwcmludGYoImxhcGljIHRpbWVyIGRp dmlzb3I6JWx1XG4iLGxhcGljX3RpbWVyX2Rpdmlzb3IpOworCQlsYXBpY190aW1lcl9zZXRf ZGl2aXNvcihsYXBpY190aW1lcl9kaXZpc29yKTsKKwkJbGFwaWNfdGltZXJfb25lc2hvdChB UElDX1RJTUVSX01BWF9DT1VOVCk7CisJCURFTEFZKDIwMDAwMDApOworCQl2YWx1ZSA9IEFQ SUNfVElNRVJfTUFYX0NPVU5UIC0gbGFwaWMtPmNjcl90aW1lcjsKKwkJcHJpbnRmKCJ2YWx1 ZTolbHUoY2NyOiV1KVxuIix2YWx1ZSxsYXBpYy0+Y2NyX3RpbWVyKTsKKwkJaWYgKHZhbHVl ICE9IEFQSUNfVElNRVJfTUFYX0NPVU5UKQorCQkJYnJlYWs7CisJCWxhcGljX3RpbWVyX2Rp dmlzb3IgPDw9IDE7CisJfSB3aGlsZSAobGFwaWNfdGltZXJfZGl2aXNvciA8PSAxMjgpOwor CWlmIChsYXBpY190aW1lcl9kaXZpc29yID4gMTI4KQorCQlwYW5pYygibGFwaWM6IERpdmlz b3IgdG9vIGJpZyIpOworCXZhbHVlIC89IDI7CisJcHJpbnRmKCJsYXBpYzogRnJlcXVlbmN5 ICVsdSBoelxuIiwgdmFsdWUpOwogCisJLyoKKwkgKiBXZSB3aWxsIGRyaXZlIHRoZSB0aW1l ciB2aWEgaHouICBSZXF1aXJlIGh6IHRvIGJlIGdyZWF0ZXIgdGhhbgorCSAqIHN0YXRoeiwg YnV0IGlmIGh6IGlzIGxlc3MgdGhhbiB0aGUgZGVmYXVsdCBwcm9maHosIGNhcCBwcm9maHoK KwkgKiBhdCBoei4KKwkgKi8KKwlzdGF0aHogPSBMQVBJQ19USU1FUl9TVEFUSFo7CisJaWYg KGh6IDwgc3RhdGh6KSB7CisJCXByaW50ZigibGFwaWM6IEFkanVzdGluZyBoeiBmcm9tICVk IHRvICVkXG4iLCBoeiwgc3RhdGh6KTsKKwkJaHogPSBzdGF0aHo7CisJfQorCXBlcmlvZD12 YWx1ZSAvIGh6OworCUtBU1NFUlQocGVyaW9kIT0wLCAoIkNQVTolZCBsYXBpYyV1OiB6ZXJv IGRpdmlzb3IiLFBDUFVfR0VUKGNwdWlkKSxsYXBpY19pZCgpKSk7CisjaWYgMCAgLyogIFBs ZWFzZSBlbmFibGUgZm9sbG93aW5nIGxpbmVzIGlmIHlvdSB3YW50IHRvIHNob3cgcGVyaW9k L2Rpdmlzb3IgKi8KKwlwcmludGYoIlNldHVwIENQVTolZCBwZXJpb2Q6JWx1IHZhbD0lbHVc biIsUENQVV9HRVQoY3B1aWQpLGxhcGljX3RpbWVyX3BlcmlvZCx2YWx1ZSk7CisJcHJpbnRm KCJTZXR1cCBDUFU6JWQgZGl2PSVsdVxuIixQQ1BVX0dFVChjcHVpZCksbGFwaWNfdGltZXJf ZGl2aXNvcik7CisjZW5kaWYKKwlyZXR1cm4gIHBlcmlvZDsKK30KIHZvaWQKIGxhcGljX3Nl dHVwKHZvaWQpCiB7CiAJc3RydWN0IGxhcGljICpsYTsKIAl1X2ludDMyX3QgdmFsdWUsIG1h eGx2dDsKIAlyZWdpc3Rlcl90IGVmbGFnczsKKwljaGFyIGJ1ZltNQVhDT01MRU4gKyAxXTsK IAogCWxhID0gJmxhcGljc1tsYXBpY19pZCgpXTsKIAlLQVNTRVJUKGxhLT5sYV9wcmVzZW50 LCAoIm1pc3NpbmcgQVBJQyBzdHJ1Y3R1cmUiKSk7CkBAIC0yODEsOSArMzQ3LDQ3IEBACiAJ bGFwaWMtPmx2dF9saW50MSA9IGx2dF9tb2RlKGxhLCBMVlRfTElOVDEsIGxhcGljLT5sdnRf bGludDEpOwogCiAJLyogWFhYOiBtb3JlIExWVCBlbnRyaWVzICovCisJLyogUHJvZ3JhbSB0 aW1lciBMVlQgYW5kIHNldHVwIGhhbmRsZXIuICovCisJbGFwaWMtPmx2dF90aW1lciA9IGx2 dF9tb2RlKGxhLCBMVlRfVElNRVIsIGxhcGljLT5sdnRfdGltZXIpOworCXNucHJpbnRmKGJ1 Ziwgc2l6ZW9mKGJ1ZiksICJsYXBpYyVkOiB0aW1lciIsIGxhcGljX2lkKCkpOworCWludHJj bnRfYWRkKGJ1ZiwgJmxhLT5sYV90aW1lcl9jb3VudCk7CisJaWYgKFBDUFVfR0VUKGNwdWlk KSAhPSAwKSB7CisJCWxhcGljX3RpbWVyX3BlcmlvZD1jYWxjdWxhdGVfbGFwaWNfdGltZXJf cGVyaW9kKCk7CisJCWxhcGljX3RpbWVyX3NldF9kaXZpc29yKGxhcGljX3RpbWVyX2Rpdmlz b3IpOworCQlsYXBpY190aW1lcl9wZXJpb2RpYyhsYXBpY190aW1lcl9wZXJpb2QpOworCQls YXBpY190aW1lcl9lbmFibGVfaW50cigpOworCX0KIAogCWludHJfcmVzdG9yZShlZmxhZ3Mp OwogfQorLyoKKyAqIENhbGxlZCBieSBjcHVfaW5pdGNsb2NrcygpIG9uIHRoZSBCU1AgdG8g c2V0dXAgdGhlIGxvY2FsIEFQSUMgdGltZXIgc28KKyAqIHRoYXQgaXQgY2FuIGRyaXZlIGhh cmRjbG9jaywgc3RhdGNsb2NrLCBhbmQgcHJvZmNsb2NrLiAgVGhpcyBmdW5jdGlvbgorICog cmV0dXJucyB0cnVlIGlmIGl0IGlzIGFibGUgdG8gdXNlIHRoZSBsb2NhbCBBUElDIHRpbWVy IHRvIGRyaXZlIHRoZQorICogY2xvY2tzIGFuZCBmYWxzZSBpZiBpdCBpcyBub3QgYWJsZS4K KyAqLworaW50CitsYXBpY19zZXR1cF9jbG9jayh2b2lkKQoreworCS8qIENhbid0IGRyaXZl IHRoZSB0aW1lciB3aXRob3V0IGEgbG9jYWwgQVBJQy4gKi8KKwlpZiAobGFwaWMgPT0gTlVM TCkKKwkJcmV0dXJuICgwKTsKKworCWxhcGljX3RpbWVyX3BlcmlvZCA9IGNhbGN1bGF0ZV9s YXBpY190aW1lcl9wZXJpb2QoKTsKKwlwcm9maHogPSBpbWluKGh6LCBMQVBJQ19USU1FUl9Q Uk9GSFopOworCWludHJjbnRfYWRkKCJsYXBpYzogaGFyZGNsb2NrIiwgJmxhcGljX3ZpcnR1 YWxfaGFyZGNsb2NrKTsKKwlpbnRyY250X2FkZCgibGFwaWM6IHN0YXRjbG9jayIsICZsYXBp Y192aXJ0dWFsX3N0YXRjbG9jayk7CisJaW50cmNudF9hZGQoImxhcGljOiBwcm9mY2xvY2si LCAmbGFwaWNfdmlydHVhbF9wcm9mY2xvY2spOworCisJLyoKKwkgKiBTdGFydCB1cCB0aGUg dGltZXIgb24gdGhlIEJTUC4gIFRoZSBBUHMgd2lsbCBraWNrIG9mZiB0aGVpcgorCSAqIHRp bWVyIGR1cmluZyBsYXBpY19zZXR1cCgpLgorCSAqLworCWxhcGljX3RpbWVyX3BlcmlvZGlj KGxhcGljX3RpbWVyX3BlcmlvZCk7CisJbGFwaWNfdGltZXJfZW5hYmxlX2ludHIoKTsKKwly ZXR1cm4gKDEpOworfQorCiAKIHZvaWQKIGxhcGljX2Rpc2FibGUodm9pZCkKQEAgLTUxNSw2 ICs2MTksODcgQEAKIAlpc3JjID0gaW50cl9sb29rdXBfc291cmNlKGFwaWNfaWR0X3RvX2ly cSh2ZWMpKTsKIAlpbnRyX2V4ZWN1dGVfaGFuZGxlcnMoaXNyYywgJmZyYW1lKTsKIH0KK3Zv aWQKK2xhcGljX2hhbmRsZV90aW1lcihzdHJ1Y3QgY2xvY2tmcmFtZSBmcmFtZSkKK3sKKwlz dHJ1Y3QgbGFwaWMgKmxhOworCisJbGEgPSAmbGFwaWNzW1BDUFVfR0VUKGFwaWNfaWQpXTsK KwkoKmxhLT5sYV90aW1lcl9jb3VudCkrKzsKKwljcml0aWNhbF9lbnRlcigpOworCisJLyog SGFyZGNsb2NrIGZpcmVzIG9uIGV2ZXJ5IGludGVycnVwdCBzaW5jZSB3ZSBpbnRlcnJ1cHQg YXQgaHouICovCisJaWYgKFBDUFVfR0VUKGNwdWlkKSA9PSAwKSB7CisJCSgqbGFwaWNfdmly dHVhbF9oYXJkY2xvY2spKys7CisJCWhhcmRjbG9jaygmZnJhbWUpOworCX0gZWxzZQorCQlo YXJkY2xvY2tfcHJvY2VzcygmZnJhbWUpOworCisJLyogVXNlIGEgcG9vciBtYW4ncyBhbGdv cml0aG0gdG8gZmlyZSBzdGF0Y2xvY2sgYXQgc3RhdGh6LiAqLworCWxhLT5sYV9zdGF0X3Rp Y2tzICs9IHN0YXRoejsKKwlpZiAobGEtPmxhX3N0YXRfdGlja3MgPj0gaHopIHsKKwkJbGEt PmxhX3N0YXRfdGlja3MgLT0gaHo7CisJCWlmIChQQ1BVX0dFVChjcHVpZCkgPT0gMCkKKwkJ CSgqbGFwaWNfdmlydHVhbF9zdGF0Y2xvY2spKys7CisJCXN0YXRjbG9jaygmZnJhbWUpOwor CX0KKworCS8qIFVzZSB0aGUgc2FtZSB0cmljayBmb3IgcHJvZmh6LiAqLworCWxhLT5sYV9w cm9mX3RpY2tzICs9IHByb2ZoejsKKwlpZiAobGEtPmxhX3Byb2ZfdGlja3MgPj0gaHopIHsK KwkJbGEtPmxhX3Byb2ZfdGlja3MgLT0gaHo7CisJCWlmIChQQ1BVX0dFVChjcHVpZCkgPT0g MCkKKwkJCSgqbGFwaWNfdmlydHVhbF9wcm9mY2xvY2spKys7CisJCWlmIChwcm9mcHJvY3Mg IT0gMCkKKwkJCXByb2ZjbG9jaygmZnJhbWUpOworCX0KKwljcml0aWNhbF9leGl0KCk7Cit9 CisKK3N0YXRpYyB2b2lkCitsYXBpY190aW1lcl9zZXRfZGl2aXNvcih1X2ludCBkaXZpc29y KQoreworCisJS0FTU0VSVChwb3dlcm9mMihkaXZpc29yKSwgKCJsYXBpYzogaW52YWxpZCBk aXZpc29yICV1IiwgZGl2aXNvcikpOworCUtBU1NFUlQoZmZzKGRpdmlzb3IpIDw9IHNpemVv ZihsYXBpY190aW1lcl9kaXZpc29ycykgLworCSAgICBzaXplb2YodV9pbnQzMl90KSwgKCJs YXBpYzogaW52YWxpZCBkaXZpc29yICV1IiwgZGl2aXNvcikpOworCWxhcGljLT5kY3JfdGlt ZXIgPSBsYXBpY190aW1lcl9kaXZpc29yc1tmZnMoZGl2aXNvcikgLSAxXTsKK30KKworc3Rh dGljIHZvaWQKK2xhcGljX3RpbWVyX29uZXNob3QodV9pbnQgY291bnQpCit7CisJdV9pbnQz Ml90IHZhbHVlOworCisJdmFsdWUgPSBsYXBpYy0+bHZ0X3RpbWVyOworCXZhbHVlICY9IH5B UElDX0xWVFRfVE07CisJdmFsdWUgfD0gQVBJQ19MVlRUX1RNX09ORV9TSE9UOworCWxhcGlj LT5sdnRfdGltZXIgPSB2YWx1ZTsKKwlsYXBpYy0+aWNyX3RpbWVyID0gY291bnQ7Cit9CisK K3N0YXRpYyB2b2lkCitsYXBpY190aW1lcl9wZXJpb2RpYyh1X2ludCBjb3VudCkKK3sKKwl1 X2ludDMyX3QgdmFsdWU7CisKKwl2YWx1ZSA9IGxhcGljLT5sdnRfdGltZXI7CisJdmFsdWUg Jj0gfkFQSUNfTFZUVF9UTTsKKwl2YWx1ZSB8PSBBUElDX0xWVFRfVE1fUEVSSU9ESUM7CisJ bGFwaWMtPmx2dF90aW1lciA9IHZhbHVlOworCWxhcGljLT5pY3JfdGltZXIgPSBjb3VudDsK K30KKworc3RhdGljIHZvaWQKK2xhcGljX3RpbWVyX2VuYWJsZV9pbnRyKHZvaWQpCit7CisJ dV9pbnQzMl90IHZhbHVlOworCisJdmFsdWUgPSBsYXBpYy0+bHZ0X3RpbWVyOworCXZhbHVl ICY9IH5BUElDX0xWVF9NOworCWxhcGljLT5sdnRfdGltZXIgPSB2YWx1ZTsKK30KKwogCiAv KiBUcmFuc2xhdGUgYmV0d2VlbiBJRFQgdmVjdG9ycyBhbmQgSVJRIHZlY3RvcnMuICovCiB1 X2ludApJbmRleDogYW1kNjQvYW1kNjQvbXBfbWFjaGRlcC5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9ob21lL2thdG8vY3ZzL2thdG8tc3lzL2FtZDY0L2FtZDY0L21wX21hY2hkZXAu Yyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xLjEuMQpyZXRyaWV2aW5nIHJldmlzaW9uIDEu MgpkaWZmIC11IC1yMS4xLjEuMSAtcjEuMgotLS0gYW1kNjQvYW1kNjQvbXBfbWFjaGRlcC5j CTE4IEZlYiAyMDA1IDE0OjA1OjU1IC0wMDAwCTEuMS4xLjEKKysrIGFtZDY0L2FtZDY0L21w X21hY2hkZXAuYwkyMCBGZWIgMjAwNSAxODoxNToyOSAtMDAwMAkxLjIKQEAgLTg3MSw3ICs4 NzEsNyBAQAogCQlzbXBfdGFyZ2V0ZWRfdGxiX3Nob290ZG93bihtYXNrLCBJUElfSU5WTFJO RywgYWRkcjEsIGFkZHIyKTsKIH0KIAotCisjaWYgMAogLyoKICAqIEZvciBzdGF0Y2xvY2ss IHdlIHNlbmQgYW4gSVBJIHRvIGFsbCBDUFUncyB0byBoYXZlIHRoZW0gY2FsbCB0aGlzCiAg KiBmdW5jdGlvbi4KQEAgLTkxNCwxNiArOTE0LDE2IEBACiAJaWYgKG1hcCAhPSAwKQogCQlp cGlfc2VsZWN0ZWQobWFwLCBJUElfSEFSRENMT0NLKTsKIH0KLQorI2VuZGlmIAogdm9pZAog aXBpX2JpdG1hcF9oYW5kbGVyKHN0cnVjdCBjbG9ja2ZyYW1lIGZyYW1lKQogewogCWludCBj cHUgPSBQQ1BVX0dFVChjcHVpZCk7CiAJdV9pbnQgaXBpX2JpdG1hcDsKLQlzdHJ1Y3QgdGhy ZWFkICp0ZDsKIAotCWlwaV9iaXRtYXAgPSBhdG9taWNfcmVhZGFuZGNsZWFyX2ludCgmY3B1 X2lwaV9wZW5kaW5nW2NwdV0pOwogCisJaXBpX2JpdG1hcCA9IGF0b21pY19yZWFkYW5kY2xl YXJfaW50KCZjcHVfaXBpX3BlbmRpbmdbY3B1XSk7CisjaWYgMAogCWNyaXRpY2FsX2VudGVy KCk7CiAKIAkvKiBOb3RoaW5nIHRvIGRvIGZvciBBU1QgKi8KQEAgLTk0OCw2ICs5NDgsNyBA QAogCX0KIAogCWNyaXRpY2FsX2V4aXQoKTsKKyNlbmRpZgogfQogCiAvKgpJbmRleDogYW1k NjQvY29uZi9DVVJSRU5ULU1BUlMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2F0 by9jdnMva2F0by1zeXMvYW1kNjQvY29uZi9DVVJSRU5ULU1BUlMsdgpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuMS4xLjEKcmV0cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtcjEuMS4x LjEgLXIxLjIKSW5kZXg6IGFtZDY0L2luY2x1ZGUvYXBpY3Zhci5oCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K UkNTIGZpbGU6IC9ob21lL2thdG8vY3ZzL2thdG8tc3lzL2FtZDY0L2luY2x1ZGUvYXBpY3Zh ci5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEuMS4xCnJldHJpZXZpbmcgcmV2aXNpb24g MS4yCmRpZmYgLXUgLXIxLjEuMS4xIC1yMS4yCi0tLSBhbWQ2NC9pbmNsdWRlL2FwaWN2YXIu aAkxOCBGZWIgMjAwNSAxNDowNTo1NSAtMDAwMAkxLjEuMS4xCisrKyBhbWQ2NC9pbmNsdWRl L2FwaWN2YXIuaAkyMCBGZWIgMjAwNSAxODoxNTozMyAtMDAwMAkxLjIKQEAgLTEyMyw5ICsx MjMsMTIgQEAKIAogLyogSVBJcyBoYW5kbGVkIGJ5IElQSV9CSVRNQVBFRF9WRUNUT1IgIChY WFggdXBzIGlzIHRoZXJlIGEgYmV0dGVyIHBsYWNlPykgKi8KICNkZWZpbmUJSVBJX0FTVAkJ MCAJLyogR2VuZXJhdGUgc29mdHdhcmUgdHJhcC4gKi8KKyNpZiAwCiAjZGVmaW5lCUlQSV9I QVJEQ0xPQ0sJMQkvKiBJbnRlci1DUFUgY2xvY2sgaGFuZGxpbmcuICovCiAjZGVmaW5lCUlQ SV9TVEFUQ0xPQ0sJMgogI2RlZmluZSBJUElfQklUTUFQX0xBU1QgSVBJX1NUQVRDTE9DSwor I2VuZGlmCisjZGVmaW5lIElQSV9CSVRNQVBfTEFTVCBJUElfQVNUCiAjZGVmaW5lIElQSV9J U19CSVRNQVBFRCh4KSAoKHgpIDw9IElQSV9CSVRNQVBfTEFTVCkKIAogI2RlZmluZQlJUElf U1RPUAkoQVBJQ19JUElfSU5UUyArIDYpCS8qIFN0b3AgQ1BVIHVudGlsIHJlc3RhcnRlZC4g Ki8KQEAgLTE3Miw3ICsxNzUsNyBAQAogaW50aGFuZF90CiAJSURUVkVDKGFwaWNfaXNyMSks IElEVFZFQyhhcGljX2lzcjIpLCBJRFRWRUMoYXBpY19pc3IzKSwKIAlJRFRWRUMoYXBpY19p c3I0KSwgSURUVkVDKGFwaWNfaXNyNSksIElEVFZFQyhhcGljX2lzcjYpLAotCUlEVFZFQyhh cGljX2lzcjcpLCBJRFRWRUMoc3B1cmlvdXNpbnQpOworCUlEVFZFQyhhcGljX2lzcjcpLCBJ RFRWRUMoc3B1cmlvdXNpbnQpLElEVFZFQyh0aW1lcmludCk7CiAKIHVfaW50CWFwaWNfaXJx X3RvX2lkdCh1X2ludCBpcnEpOwogdV9pbnQJYXBpY19pZHRfdG9faXJxKHVfaW50IHZlY3Rv cik7CkBAIC0yMDMsNiArMjA2LDcgQEAKIHZvaWQJbGFwaWNfaXBpX3ZlY3RvcmVkKHVfaW50 IHZlY3RvciwgaW50IGRlc3QpOwogaW50CWxhcGljX2lwaV93YWl0KGludCBkZWxheSk7CiB2 b2lkCWxhcGljX2hhbmRsZV9pbnRyKHZvaWQgKmNvb2tpZSwgc3RydWN0IGludHJmcmFtZSBm cmFtZSk7Cit2b2lkCWxhcGljX2hhbmRsZV90aW1lcihzdHJ1Y3QgY2xvY2tmcmFtZSBmcmFt ZSk7CiB2b2lkCWxhcGljX3NldF9sb2dpY2FsX2lkKHVfaW50IGFwaWNfaWQsIHVfaW50IGNs dXN0ZXIsIHVfaW50IGNsdXN0ZXJfaWQpOwogaW50CWxhcGljX3NldF9sdnRfbWFzayh1X2lu dCBhcGljX2lkLCB1X2ludCBsdnQsIHVfY2hhciBtYXNrZWQpOwogaW50CWxhcGljX3NldF9s dnRfbW9kZSh1X2ludCBhcGljX2lkLCB1X2ludCBsdnQsIHVfaW50MzJfdCBtb2RlKTsKQEAg LTIxMiw2ICsyMTYsNyBAQAogCSAgICBlbnVtIGludHJfdHJpZ2dlciB0cmlnZ2VyKTsKIHZv aWQJbGFwaWNfc2V0X3Rwcih1X2ludCB2ZWN0b3IpOwogdm9pZAlsYXBpY19zZXR1cCh2b2lk KTsKK2ludAlsYXBpY19zZXR1cF9jbG9jayh2b2lkKTsKIAogI2VuZGlmIC8qICFMT0NPUkUg Ki8KICNlbmRpZiAvKiBfTUFDSElORV9BUElDVkFSX0hfICovCkluZGV4OiBhbWQ2NC9pc2Ev Y2xvY2suYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9tZS9rYXRvL2N2cy9rYXRvLXN5 cy9hbWQ2NC9pc2EvY2xvY2suYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xLjEuMQpkaWZm IC11IC1yMS4xLjEuMSBjbG9jay5jCi0tLSBhbWQ2NC9pc2EvY2xvY2suYwkxOCBGZWIgMjAw NSAxNDowNTo1NSAtMDAwMAkxLjEuMS4xCisrKyBhbWQ2NC9pc2EvY2xvY2suYwkyMCBGZWIg MjAwNSAxODoyNTo1MCAtMDAwMApAQCAtNjQsMTMgKzY0LDE0IEBACiAjaW5jbHVkZSA8c3lz L3N5c2N0bC5oPgogI2luY2x1ZGUgPHN5cy9jb25zLmg+CiAjaW5jbHVkZSA8c3lzL3Bvd2Vy Lmg+Ci0KKyNkZWZpbmUgTEFQSUNfVElNRVIKICNpbmNsdWRlIDxtYWNoaW5lL2Nsb2NrLmg+ CiAjaW5jbHVkZSA8bWFjaGluZS9mcmFtZS5oPgogI2luY2x1ZGUgPG1hY2hpbmUvaW50cl9t YWNoZGVwLmg+CiAjaW5jbHVkZSA8bWFjaGluZS9tZF92YXIuaD4KICNpbmNsdWRlIDxtYWNo aW5lL3BzbC5oPgotI2lmZGVmIFNNUAorI2lmZGVmIExBUElDX1RJTUVSCisjaW5jbHVkZSA8 bWFjaGluZS9hcGljdmFyLmg+CiAjaW5jbHVkZSA8bWFjaGluZS9zbXAuaD4KICNlbmRpZgog I2luY2x1ZGUgPG1hY2hpbmUvc3BlY2lhbHJlZy5oPgpAQCAtMTEzLDYgKzExNCw3IEBACiBz dGF0aWMJdV9pbnQzMl90IGk4MjU0X29mZnNldDsKIHN0YXRpYwlpbnQJKCppODI1NF9wZW5k aW5nKShzdHJ1Y3QgaW50c3JjICopOwogc3RhdGljCWludAlpODI1NF90aWNrZWQ7CitzdGF0 aWMJaW50CXVzaW5nX2xhcGljX3RpbWVyOwogc3RhdGljCXVfY2hhcglydGNfc3RhdHVzYSA9 IFJUQ1NBX0RJVklERVIgfCBSVENTQV9OT1BST0Y7CiBzdGF0aWMJdV9jaGFyCXJ0Y19zdGF0 dXNiID0gUlRDU0JfMjRIUiB8IFJUQ1NCX1BJTlRSOwogCkBAIC0xMzksNyArMTQxLDYgQEAK IHN0YXRpYyB2b2lkCiBjbGtpbnRyKHN0cnVjdCBjbG9ja2ZyYW1lICpmcmFtZSkKIHsKLQog CWlmICh0aW1lY291bnRlci0+dGNfZ2V0X3RpbWVjb3VudCA9PSBpODI1NF9nZXRfdGltZWNv dW50KSB7CiAJCW10eF9sb2NrX3NwaW4oJmNsb2NrX2xvY2spOwogCQlpZiAoaTgyNTRfdGlj a2VkKQpAQCAtMTUxLDEwICsxNTIsOCBAQAogCQljbGtpbnRyX3BlbmRpbmcgPSAwOwogCQlt dHhfdW5sb2NrX3NwaW4oJmNsb2NrX2xvY2spOwogCX0KLQloYXJkY2xvY2soZnJhbWUpOwot I2lmZGVmIFNNUAotCWZvcndhcmRfaGFyZGNsb2NrKCk7Ci0jZW5kaWYKKwlpZiAoIXVzaW5n X2xhcGljX3RpbWVyKQkKKwkJaGFyZGNsb2NrKGZyYW1lKTsKIH0KIAogaW50CkBAIC0yMjEs OSArMjIwLDYgQEAKIAkJfQogCQlpZiAocHNjbnQgPT0gcHNkaXYpCiAJCQlzdGF0Y2xvY2so ZnJhbWUpOwotI2lmZGVmIFNNUAotCQlmb3J3YXJkX3N0YXRjbG9jaygpOwotI2VuZGlmCiAJ fQogfQogCkBAIC03MzEsNiArNzI3LDkgQEAKIAlpbnQgZGlhZzsKIAogCWlmIChzdGF0Y2xv Y2tfZGlzYWJsZSkgeworI2lmZGVmIExBUElDX1RJTUVSCisJdXNpbmdfbGFwaWNfdGltZXIg PSBsYXBpY19zZXR1cF9jbG9jaygpOworI2VuZGlmCiAJCS8qCiAJCSAqIFRoZSBzdGF0IGlu dGVycnVwdCBtYXNrIGlzIGRpZmZlcmVudCB3aXRob3V0IHRoZQogCQkgKiBzdGF0aXN0aWNz IGNsb2NrLiAgQWxzbywgZG9uJ3Qgc2V0IHRoZSBpbnRlcnJ1cHQKQEAgLTc1Niw3ICs3NTUs NyBAQAogCXdyaXRlcnRjKFJUQ19TVEFUVVNCLCBSVENTQl8yNEhSKTsKIAogCS8qIERvbid0 IGJvdGhlciBlbmFibGluZyB0aGUgc3RhdGlzdGljcyBjbG9jay4gKi8KLQlpZiAoIXN0YXRj bG9ja19kaXNhYmxlKSB7CisJaWYgKCFzdGF0Y2xvY2tfZGlzYWJsZSAmJiAhdXNpbmdfbGFw aWNfdGltZXIpIHsKIAkJZGlhZyA9IHJ0Y2luKFJUQ19ESUFHKTsKIAkJaWYgKGRpYWcgIT0g MCkKIAkJCXByaW50ZigiUlRDIEJJT1MgZGlhZ25vc3RpYyBlcnJvciAlYlxuIiwgZGlhZywg UlRDREdfQklUUyk7CkBAIC03NzQsNyArNzczLDggQEAKIHZvaWQKIGNwdV9zdGFydHByb2Zj bG9jayh2b2lkKQogewotCisJaWYgKHVzaW5nX2xhcGljX3RpbWVyKQorCQlyZXR1cm47CiAJ cnRjX3N0YXR1c2EgPSBSVENTQV9ESVZJREVSIHwgUlRDU0FfUFJPRjsKIAl3cml0ZXJ0YyhS VENfU1RBVFVTQSwgcnRjX3N0YXR1c2EpOwogCXBzZGl2ID0gcHNjbnQgPSBwc3JhdGlvOwpA QCAtNzgzLDcgKzc4Myw4IEBACiB2b2lkCiBjcHVfc3RvcHByb2ZjbG9jayh2b2lkKQogewot CisJaWYgKHVzaW5nX2xhcGljX3RpbWVyKQorCQlyZXR1cm47CiAJcnRjX3N0YXR1c2EgPSBS VENTQV9ESVZJREVSIHwgUlRDU0FfTk9QUk9GOwogCXdyaXRlcnRjKFJUQ19TVEFUVVNBLCBy dGNfc3RhdHVzYSk7CiAJcHNkaXYgPSBwc2NudCA9IDE7Cg== --------------030802060005060601090600--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?421A4D5D.6040205>