From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?euc-kr?B?t/nA57nO?= Subject: [PATCH 14/14] arm: implement basic interrupt handling mechanism. Date: Mon, 13 Feb 2012 08:06:36 +0000 (GMT) Message-ID: <0LZB003ABNV0NF70@mailout1.samsung.com> Reply-To: jm77.ryu@samsung.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=SAMSUNG_mySingle_MIME_MULTIPART_BOUNDARY" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jae-Min Ryu , Lars Kurth , Ian Campbell , Stefano Stabellini , "Keir (Xen.org)" , Ian Jackson , "xen-arm@lists.xensource.com" , "xen-devel@lists.xensource.com" Cc: =?euc-kr?Q?=BC=AD=BB=F3=B9=FC?= List-Id: xen-devel@lists.xenproject.org ------=SAMSUNG_mySingle_MIME_MULTIPART_BOUNDARY Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="euc-kr" MIME-Version: 1.0 Message-ID: <22301297.70441329120392655.JavaMail.weblogic@epv6ml04> YXJtOiBpbXBsZW1lbnQgYmFzaWMgaW50ZXJydXB0IGhhbmRsaW5nIG1lY2hhbmlzbS4NCg0KIHhl bi9hcmNoL2FybS90ZWdyYS90ZWdyYTI1MC5jIHwgICAgOSArKystDQogeGVuL2FyY2gvYXJtL3hl bi9jcHUuYyAgICAgICAgfCAgICA0ICstDQogeGVuL2FyY2gvYXJtL3hlbi9pcnEuYyAgICAgICAg fCAgMjAxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQ0KIDMgZmlsZXMgY2hhbmdlZCwg MjA0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KDQpTaWduZWQtb2ZmLWJ5OiBKYWVt aW4gUnl1IDxqbTc3LnJ5dUBzYW1zdW5nLmNvbT4NCg0KZGlmZiAtciAzZjFlNjRhOGY2MWEgeGVu L2FyY2gvYXJtL3RlZ3JhL3RlZ3JhMjUwLmMNCi0tLSBhL3hlbi9hcmNoL2FybS90ZWdyYS90ZWdy YTI1MC5jCVN1biBGZWIgMTIgMTU6NDk6MTIgMjAxMiArMDkwMA0KKysrIGIveGVuL2FyY2gvYXJt L3RlZ3JhL3RlZ3JhMjUwLmMJU3VuIEZlYiAxMiAxNjoxMjozOCAyMDEyICswOTAwDQpAQCAtMjQ1 LDEzICsyNDUsMjAgQEAgYXNtKA0KICIJLmxvbmcJdGVncmEyNTBfY29yZV9tYXAJCVxuIg0KICk7 DQogDQordm9pZCBtYWNoaW5lX3RyaWdnZXJfY3B1cyh1bnNpZ25lZCBsb25nIGNwdV9tYXAsIHVu c2lnbmVkIGludCBldmVudCkNCit7DQorICAgICAgICBtbWlvX3dyaXRlbChjcHVfbWFwIDw8IDE2 IHwgZXZlbnQsIHRlZ3JhX2dpY19kaXN0X2Jhc2UgKyBfSUNEU0dJUik7DQorfQ0KKw0KIGludCB3 YWtldXBfY3B1KHVuc2lnbmVkIGludCBjcHUpDQogew0KIAl0ZWdyYTI1MF9jb3JlX21hcCB8PSAx IDw8ICBjcHU7DQogDQogCWNwdV9mbHVzaF9jYWNoZV9hbGwoKTsNCiANCi0JcmV0dXJuIDA7DQor CW1hY2hpbmVfdHJpZ2dlcl9jcHVzKHRlZ3JhMjUwX2NvcmVfbWFwLCAxKTsNCisNCisJcmV0dXJu IDE7DQogfQ0KIA0KIGV4dGVybiB2b2lkIHRlZ3JhMjUwX3NsYXZlX2NwdV9zdGFydCh2b2lkKTsN CmRpZmYgLXIgM2YxZTY0YThmNjFhIHhlbi9hcmNoL2FybS94ZW4vY3B1LmMNCi0tLSBhL3hlbi9h cmNoL2FybS94ZW4vY3B1LmMJU3VuIEZlYiAxMiAxNTo0OToxMiAyMDEyICswOTAwDQorKysgYi94 ZW4vYXJjaC9hcm0veGVuL2NwdS5jCVN1biBGZWIgMTIgMTY6MTI6MzggMjAxMiArMDkwMA0KQEAg LTExNiw2ICsxMTYsOCBAQCBhc21saW5rYWdlIHZvaWQgc3RhcnRfeGVuX29uX3NsYXZlX2NwdSh2 DQogICAgICAgICB2ID0gaWRsZV92Y3B1W2NwdV07DQogCXNldF9jdXJyZW50KGlkbGVfdmNwdVtj cHVdKTsNCiANCisJVkNQVV9SRUcodiwgdHRicjApID0gZ2V0X3R0YnIoKTsNCisNCiAJc2V0X2Nw dV9zaWJsaW5nX21hcChjcHUpOw0KIA0KIAlub3RpZnlfY3B1X3N0YXJ0aW5nKGNwdSk7DQpAQCAt MTM5LDcgKzE0MSw3IEBAIHZvaWQgc21wX3NlbmRfZXZlbnRfY2hlY2tfbWFzayhjb25zdCBjcHUN CiAJCW1hcCB8PSAxIDw8IGNwdTsNCiAJfQ0KIA0KLQkvKiBUcmlnZ2VyIHJlbW90ZSBDUFUgKi8N CisJbWFjaGluZV90cmlnZ2VyX2NwdXMobWFwLCAxKTsNCiB9DQogDQogdm9pZCBzbXBfY2FsbF9m dW5jdGlvbih2b2lkICgqZikodm9pZCAqcGFyYW0pLCB2b2lkICpwYXJhbSwgaW50IHdhaXQpDQpk aWZmIC1yIDNmMWU2NGE4ZjYxYSB4ZW4vYXJjaC9hcm0veGVuL2lycS5jDQotLS0gYS94ZW4vYXJj aC9hcm0veGVuL2lycS5jCVN1biBGZWIgMTIgMTU6NDk6MTIgMjAxMiArMDkwMA0KKysrIGIveGVu L2FyY2gvYXJtL3hlbi9pcnEuYwlTdW4gRmViIDEyIDE2OjEyOjM4IDIwMTIgKzA5MDANCkBAIC00 Miw4ICs0Miw2IEBAIGh3X2lycV9jb250cm9sbGVyIG5vX2lycV90eXBlID0gew0KIAkuYWNrCSAg PSBpcnFfYWNrX25vbmUsDQogfTsNCiANCi0vL3N0cnVjdCBpcnFfZGVzYyAqaXJxX2Rlc2M7DQot DQogaXJxX2Rlc2NfdCBpcnFfZGVzY1tOUl9JUlFTXSA9IHsNCiAgICAgICAgIFswIC4uLiBOUl9J UlFTIC0gMV0gPSB7DQogICAgICAgICAgICAgICAgIC5zdGF0dXMgPSBJUlFfRElTQUJMRUQsDQpA QCAtNjAsNiArNTgsMzggQEAgc3RydWN0IGlycV9jZmcgaXJxX2NmZ1tOUl9JUlFTXSA9IHsNCiB9 Ow0KIA0KIA0KK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcGlycV9lb2koc3RydWN0IGRvbWFpbiAq ZCwgdW5zaWduZWQgaW50IGlycSkNCit7DQorICAgICAgICBpZiAoZC0+YXJjaC5waXJxX2VvaV9t YXApIHsNCisgICAgICAgICAgICAgICAgc2V0X2JpdChpcnEsIGQtPmFyY2gucGlycV9lb2lfbWFw KTsNCisgICAgICAgIH0NCit9DQorDQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX3BpcnFfZW9p KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBpcnEpDQorew0KKyAgICAgICAgaWYgKGQt PmFyY2gucGlycV9lb2lfbWFwKSB7DQorICAgICAgICAgICAgICAgIGNsZWFyX2JpdChpcnEsIGQt PmFyY2gucGlycV9lb2lfbWFwKTsNCisgICAgICAgIH0NCit9DQorDQordm9pZCBwaXJxX2d1ZXN0 X2VvaShzdHJ1Y3QgcGlycSAqcGlycSkNCit7DQorICAgICAgICBzdHJ1Y3QgaXJxX2Rlc2MgKmRl c2M7DQorICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7DQorDQorICAgICAgICBpZiAocGlycS0+ cGlycSA+PSBOUl9JUlFTKSB7DQorICAgICAgICAgICAgICAgIHJldHVybjsNCisgICAgICAgIH0N CisNCisgICAgICAgIGRlc2MgPSBpcnFfdG9fZGVzYyhwaXJxLT5waXJxKTsNCisgICAgICAgIHNw aW5fbG9ja19pcnFzYXZlKCZkZXNjLT5sb2NrLCBmbGFncyk7DQorDQorICAgICAgICBkZXNjLT5o YW5kbGVyLT5lbmQoZGVzYyk7DQorDQorICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZk ZXNjLT5sb2NrLCBmbGFncyk7DQorfQ0KKw0KKw0KIGludCBwaXJxX2d1ZXN0X3VubWFzayhzdHJ1 Y3QgZG9tYWluICpkKQ0KIHsNCiAJTk9UX1lFVCgpOw0KQEAgLTY3LDE2ICs5NywxMDUgQEAgaW50 IHBpcnFfZ3Vlc3RfdW5tYXNrKHN0cnVjdCBkb21haW4gKmQpDQogCXJldHVybiAwOw0KIH0NCiAN CisNCiBpbnQgcGlycV9ndWVzdF9iaW5kKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgcGlycSAqcGly cSwgaW50IHdpbGxfc2hhcmUpDQogew0KLQlOT1RfWUVUKCk7DQorICAgICAgICBpbnQgcmMgPSAw Ow0KKyAgICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjOw0KKyAgICAgICAgaXJxX2d1ZXN0X2Fj dGlvbl90ICphY3Rpb247DQorICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KKyAgICAgICAg dW5zaWduZWQgaW50IGlycTsNCiANCi0JcmV0dXJuIDA7DQorICAgICAgICBpcnEgPSBwaXJxLT5w aXJxOw0KKw0KKyAgICAgICAgaWYgKGlycSA+PSBOUl9JUlFTKSB7DQorICAgICAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZGVzYyA9IGlycV90b19k ZXNjKGlycSk7DQorDQorICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmZGVzYy0+bG9jaywgZmxh Z3MpOw0KKw0KKyAgICAgICAgaWYgKCEoZGVzYy0+c3RhdHVzICYgSVJRX0dVRVNUKSkgew0KKyAg ICAgICAgICAgICAgICBpZiAoZGVzYy0+YWN0aW9uICE9IE5VTEwpIHsNCisgICAgICAgICAgICAg ICAgICAgICAgICByYyA9IC1FQlVTWTsNCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG91 dDsNCisgICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgICBhY3Rpb24gPSB4bWFs bG9jKGlycV9ndWVzdF9hY3Rpb25fdCk7DQorICAgICAgICAgICAgICAgIGlmICgoZGVzYy0+YWN0 aW9uID0gKHN0cnVjdCBpcnFhY3Rpb24gKilhY3Rpb24pID09IE5VTEwgKSB7DQorICAgICAgICAg ICAgICAgICAgICAgICAgcmMgPSAtRU5PTUVNOw0KKyAgICAgICAgICAgICAgICAgICAgICAgIGdv dG8gb3V0Ow0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgIGFjdGlvbi0+ c2hhcmVhYmxlID0gMTsNCisgICAgICAgICAgICAgICAgYWN0aW9uLT5ucl9ndWVzdHMgPSAwOw0K KyAgICAgICAgICAgICAgICBhY3Rpb24tPmluX2ZsaWdodCA9IDA7DQorDQorICAgICAgICAgICAg ICAgIGRlc2MtPnN0YXR1cyB8PSBJUlFfR1VFU1Q7DQorDQorICAgICAgICAgICAgICAgIGRlc2Mt PmhhbmRsZXItPmVuYWJsZShkZXNjKTsNCisgICAgICAgIH0gZWxzZSBpZiAoIXdpbGxfc2hhcmUp IHsNCisgICAgICAgICAgICAgICAgcmMgPSAtRUJVU1k7DQorICAgICAgICAgICAgICAgIGdvdG8g b3V0Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgaWYgKCBhY3Rpb24tPm5yX2d1ZXN0cyA9PSBJ UlFfTUFYX0dVRVNUUyApIHsNCisgICAgICAgICAgICAgICAgcmMgPSAtRUJVU1k7DQorICAgICAg ICAgICAgICAgIGdvdG8gb3V0Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgYWN0aW9uLT5ndWVz dFthY3Rpb24tPm5yX2d1ZXN0cysrXSA9IHYtPmRvbWFpbjsNCisNCitvdXQ6DQorICAgICAgICBz cGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXNjLT5sb2NrLCBmbGFncyk7DQorDQorICAgICAgICBy ZXR1cm4gcmM7Ow0KIH0NCiANCiB2b2lkIHBpcnFfZ3Vlc3RfdW5iaW5kKHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCBwaXJxICpwaXJxKQ0KIHsNCi0JTk9UX1lFVCgpOw0KKyAgICAgICAgc3RydWN0 IGlycV9kZXNjICpkZXNjOw0KKyAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzLCBpcnEsIGk7DQor ICAgICAgICBpcnFfZ3Vlc3RfYWN0aW9uX3QgKmFjdGlvbjsNCisNCisgICAgICAgIGlycSA9IHBp cnEtPnBpcnE7DQorDQorICAgICAgICBpZiAoaXJxID49IE5SX0lSUVMpIHsNCisgICAgICAgICAg ICAgICAgcmV0dXJuOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZGVzYyA9IGlycV90b19kZXNj KGlycSk7DQorDQorICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmZGVzYy0+bG9jaywgZmxhZ3Mp Ow0KKw0KKyAgICAgICAgYWN0aW9uID0gKGlycV9ndWVzdF9hY3Rpb25fdCAqKWRlc2MtPmFjdGlv bjsNCisNCisgICAgICAgIGlmICh1bmxpa2VseShhY3Rpb24gPT0gTlVMTCkpIHsNCisgICAgICAg ICAgICAgICAgd2hpbGUoMSk7DQorICAgICAgICB9DQorDQorICAgICAgICBCVUdfT04oIShkZXNj LT5zdGF0dXMgJiBJUlFfR1VFU1QpKTsNCisNCisNCisgICAgICAgIGlmICggYWN0aW9uLT5ucl9n dWVzdHMgPT0gMSApIHsNCisgICAgICAgICAgICAgICAgZGVzYy0+YWN0aW9uID0gTlVMTDsNCisg ICAgICAgICAgICAgICAgeGZyZWUoYWN0aW9uKTsNCisNCisgICAgICAgICAgICAgICAgZGVzYy0+ c3RhdHVzICY9IH5JUlFfR1VFU1Q7DQorICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgICAg ICBpID0gMDsNCisgICAgICAgICAgICAgICAgd2hpbGUgKCBhY3Rpb24tPmd1ZXN0W2ldICYmIChh Y3Rpb24tPmd1ZXN0W2ldICE9IGQpICkNCisgICAgICAgICAgICAgICAgICAgICAgICBpKys7DQor ICAgICAgICAgICAgICAgIG1lbW1vdmUoJmFjdGlvbi0+Z3Vlc3RbaV0sICZhY3Rpb24tPmd1ZXN0 W2krMV0sIChhY3Rpb24tPm5yX2d1ZXN0cyAtIGkgLSAxKSAqIHNpemVvZihhY3Rpb24tPmd1ZXN0 WzBdKSk7DQorICAgICAgICAgICAgICAgIGFjdGlvbi0+bnJfZ3Vlc3RzLS07DQorICAgICAgICB9 DQorDQorICAgICAgICBkZXNjLT5zdGF0dXMgfD0gSVJRX0RJU0FCTEVEOw0KKw0KKyAgICAgICAg ZGVzYy0+aGFuZGxlci0+ZGlzYWJsZShkZXNjKTsNCisNCisgICAgICAgIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmRlc2MtPmxvY2ssIGZsYWdzKTsNCiB9DQogDQogDQpAQCAtODUsMTIgKzIwNCwx NyBAQCB2b2lkIHBpcnFfc2V0X2FmZmluaXR5KHN0cnVjdCBkb21haW4gKmQsDQogCU5PVF9ZRVQo KTsNCiB9DQogDQotDQogc3RydWN0IHBpcnEgKmFsbG9jX3BpcnFfc3RydWN0KHN0cnVjdCBkb21h aW4gKmQpDQogew0KLQlOT1RfWUVUKCk7DQorICAgICAgICBzdHJ1Y3QgcGlycSAqcGlycTsNCiAN Ci0JcmV0dXJuIE5VTEw7DQorICAgICAgICBwaXJxID0geG1hbGxvYyhzdHJ1Y3QgcGlycSk7DQor DQorICAgICAgICBpZiAoIXBpcnEpIHsNCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQor ICAgICAgICB9DQorDQorICAgICAgICByZXR1cm4gcGlycTsNCiB9DQogDQogaW50IHNldHVwX2ly cSh1bnNpZ25lZCBpbnQgaXJxLCBzdHJ1Y3QgaXJxYWN0aW9uICpuZXcpDQpAQCAtMTE5LDYgKzI0 Myw2NyBAQCBpbnQgc2V0dXBfaXJxKHVuc2lnbmVkIGludCBpcnEsIHN0cnVjdCBpDQogCXJldHVy biAwOw0KIH0NCiANCit2b2lkIGRvX2d1ZXN0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQ0KK3sNCisg ICAgICAgIGludCBpOw0KKyAgICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjOw0KKyAgICAgICAg c3RydWN0IGRvbWFpbiAqZDsNCisgICAgICAgIHN0cnVjdCBwaXJxICpwaXJxOw0KKw0KKyAgICAg ICAgaXJxX2d1ZXN0X2FjdGlvbl90ICphY3Rpb247DQorDQorICAgICAgICBkZXNjID0gaXJxX3Rv X2Rlc2MoaXJxKTsNCisNCisgICAgICAgIGFjdGlvbiA9IChpcnFfZ3Vlc3RfYWN0aW9uX3QgKilk ZXNjLT5hY3Rpb247DQorICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYWN0aW9uLT5ucl9ndWVzdHM7 IGkrKykgew0KKyAgICAgICAgICAgICAgICBkID0gYWN0aW9uLT5ndWVzdFtpXTsNCisgICAgICAg ICAgICAgICAgcGlycSA9IHBpcnFfaW5mbyhkLCBpcnEpOw0KKyAgICAgICAgICAgICAgICBhY3Rp b24tPmluX2ZsaWdodCsrOw0KKyAgICAgICAgICAgICAgICBzZW5kX2d1ZXN0X3BpcnEoZCwgcGly cSk7DQorICAgICAgICB9DQorDQorDQorfQ0KKw0KK2FzbWxpbmthZ2Ugdm9pZCBkb19pcGkodW5z aWduZWQgaW50IGlwaSwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQorew0KK30NCisNCith c21saW5rYWdlIHZvaWQgZG9faXJxKHVuc2lnbmVkIGludCBpcnEsIHN0cnVjdCBjcHVfdXNlcl9y ZWdzICpyZWdzKQ0KK3sNCisgICAgICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYzsNCisgICAgICAg IHN0cnVjdCBpcnFhY3Rpb24gKmFjdGlvbjsNCisNCisgICAgICAgIGlmIChpcnEgPj0gTlJfSVJR Uykgew0KKyAgICAgICAgICAgICAgICBwcmludGsoIkJhZCBJUlEgPSAlZFxuIiwgaXJxKTsNCisg ICAgICAgIH0NCisNCisgICAgICAgIGRlc2MgPSBpcnFfdG9fZGVzYyhpcnEpOw0KKw0KKyAgICAg ICAgc3Bpbl9sb2NrKCZkZXNjLT5sb2NrKTsNCisNCisgICAgICAgIGRlc2MtPmhhbmRsZXItPmFj ayhkZXNjKTsNCisNCisNCisgICAgICAgIGlmIChsaWtlbHkoZGVzYy0+c3RhdHVzICYgSVJRX0dV RVNUKSkgew0KKyAgICAgICAgICAgICAgICBkb19ndWVzdF9pcnEoaXJxKTsNCisgICAgICAgICAg ICAgICAgc3Bpbl91bmxvY2soJmRlc2MtPmxvY2spOw0KKw0KKyAgICAgICAgICAgICAgICByZXR1 cm47DQorICAgICAgICB9DQorDQorICAgICAgICBhY3Rpb24gPSBkZXNjLT5hY3Rpb247DQorDQor ICAgICAgICBCVUdfT04oIWFjdGlvbik7DQorDQorICAgICAgICBzcGluX3VubG9jaygmZGVzYy0+ bG9jayk7DQorDQorICAgICAgICBhY3Rpb24tPmhhbmRsZXIoaXJxLCBhY3Rpb24tPmRldl9pZCwg cmVncyk7DQorDQorICAgICAgICBkZXNjLT5oYW5kbGVyLT5lbmQoZGVzYyk7DQorfQ0KKw0KKw0K IGludCBhcmNoX2luaXRfb25lX2lycV9kZXNjKHN0cnVjdCBpcnFfZGVzYyAqZGVzYykNCiB7DQog CU5PVF9ZRVQoKTsNCg== ------=SAMSUNG_mySingle_MIME_MULTIPART_BOUNDARY Content-Type: application/octet-stream; name="patch14.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch14.diff" YXJtOiBpbXBsZW1lbnQgYmFzaWMgaW50ZXJydXB0IGhhbmRsaW5nIG1lY2hhbmlzbS4KCiB4 ZW4vYXJjaC9hcm0vdGVncmEvdGVncmEyNTAuYyB8ICAgIDkgKysrLQogeGVuL2FyY2gvYXJt L3hlbi9jcHUuYyAgICAgICAgfCAgICA0ICstCiB4ZW4vYXJjaC9hcm0veGVuL2lycS5jICAg ICAgICB8ICAyMDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAzIGZpbGVz IGNoYW5nZWQsIDIwNCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKClNpZ25lZC1v ZmYtYnk6IEphZW1pbiBSeXUgPGptNzcucnl1QHNhbXN1bmcuY29tPgoKZGlmZiAtciAzZjFl NjRhOGY2MWEgeGVuL2FyY2gvYXJtL3RlZ3JhL3RlZ3JhMjUwLmMKLS0tIGEveGVuL2FyY2gv YXJtL3RlZ3JhL3RlZ3JhMjUwLmMJU3VuIEZlYiAxMiAxNTo0OToxMiAyMDEyICswOTAwCisr KyBiL3hlbi9hcmNoL2FybS90ZWdyYS90ZWdyYTI1MC5jCVN1biBGZWIgMTIgMTY6MTI6Mzgg MjAxMiArMDkwMApAQCAtMjQ1LDEzICsyNDUsMjAgQEAgYXNtKAogIgkubG9uZwl0ZWdyYTI1 MF9jb3JlX21hcAkJXG4iCiApOwogCit2b2lkIG1hY2hpbmVfdHJpZ2dlcl9jcHVzKHVuc2ln bmVkIGxvbmcgY3B1X21hcCwgdW5zaWduZWQgaW50IGV2ZW50KQoreworICAgICAgICBtbWlv X3dyaXRlbChjcHVfbWFwIDw8IDE2IHwgZXZlbnQsIHRlZ3JhX2dpY19kaXN0X2Jhc2UgKyBf SUNEU0dJUik7Cit9CisKIGludCB3YWtldXBfY3B1KHVuc2lnbmVkIGludCBjcHUpCiB7CiAJ dGVncmEyNTBfY29yZV9tYXAgfD0gMSA8PCAgY3B1OwogCiAJY3B1X2ZsdXNoX2NhY2hlX2Fs bCgpOwogCi0JcmV0dXJuIDA7CisJbWFjaGluZV90cmlnZ2VyX2NwdXModGVncmEyNTBfY29y ZV9tYXAsIDEpOworCisJcmV0dXJuIDE7CiB9CiAKIGV4dGVybiB2b2lkIHRlZ3JhMjUwX3Ns YXZlX2NwdV9zdGFydCh2b2lkKTsKZGlmZiAtciAzZjFlNjRhOGY2MWEgeGVuL2FyY2gvYXJt L3hlbi9jcHUuYwotLS0gYS94ZW4vYXJjaC9hcm0veGVuL2NwdS5jCVN1biBGZWIgMTIgMTU6 NDk6MTIgMjAxMiArMDkwMAorKysgYi94ZW4vYXJjaC9hcm0veGVuL2NwdS5jCVN1biBGZWIg MTIgMTY6MTI6MzggMjAxMiArMDkwMApAQCAtMTE2LDYgKzExNiw4IEBAIGFzbWxpbmthZ2Ug dm9pZCBzdGFydF94ZW5fb25fc2xhdmVfY3B1KHYKICAgICAgICAgdiA9IGlkbGVfdmNwdVtj cHVdOwogCXNldF9jdXJyZW50KGlkbGVfdmNwdVtjcHVdKTsKIAorCVZDUFVfUkVHKHYsIHR0 YnIwKSA9IGdldF90dGJyKCk7CisKIAlzZXRfY3B1X3NpYmxpbmdfbWFwKGNwdSk7CiAKIAlu b3RpZnlfY3B1X3N0YXJ0aW5nKGNwdSk7CkBAIC0xMzksNyArMTQxLDcgQEAgdm9pZCBzbXBf c2VuZF9ldmVudF9jaGVja19tYXNrKGNvbnN0IGNwdQogCQltYXAgfD0gMSA8PCBjcHU7CiAJ fQogCi0JLyogVHJpZ2dlciByZW1vdGUgQ1BVICovCisJbWFjaGluZV90cmlnZ2VyX2NwdXMo bWFwLCAxKTsKIH0KIAogdm9pZCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZikodm9pZCAq cGFyYW0pLCB2b2lkICpwYXJhbSwgaW50IHdhaXQpCmRpZmYgLXIgM2YxZTY0YThmNjFhIHhl bi9hcmNoL2FybS94ZW4vaXJxLmMKLS0tIGEveGVuL2FyY2gvYXJtL3hlbi9pcnEuYwlTdW4g RmViIDEyIDE1OjQ5OjEyIDIwMTIgKzA5MDAKKysrIGIveGVuL2FyY2gvYXJtL3hlbi9pcnEu YwlTdW4gRmViIDEyIDE2OjEyOjM4IDIwMTIgKzA5MDAKQEAgLTQyLDggKzQyLDYgQEAgaHdf aXJxX2NvbnRyb2xsZXIgbm9faXJxX3R5cGUgPSB7CiAJLmFjawkgID0gaXJxX2Fja19ub25l LAogfTsKIAotLy9zdHJ1Y3QgaXJxX2Rlc2MgKmlycV9kZXNjOwotCiBpcnFfZGVzY190IGly cV9kZXNjW05SX0lSUVNdID0gewogICAgICAgICBbMCAuLi4gTlJfSVJRUyAtIDFdID0gewog ICAgICAgICAgICAgICAgIC5zdGF0dXMgPSBJUlFfRElTQUJMRUQsCkBAIC02MCw2ICs1OCwz OCBAQCBzdHJ1Y3QgaXJxX2NmZyBpcnFfY2ZnW05SX0lSUVNdID0gewogfTsKIAogCitzdGF0 aWMgaW5saW5lIHZvaWQgc2V0X3BpcnFfZW9pKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGludCBpcnEpCit7CisgICAgICAgIGlmIChkLT5hcmNoLnBpcnFfZW9pX21hcCkgeworICAg ICAgICAgICAgICAgIHNldF9iaXQoaXJxLCBkLT5hcmNoLnBpcnFfZW9pX21hcCk7CisgICAg ICAgIH0KK30KKworc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX3BpcnFfZW9pKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGludCBpcnEpCit7CisgICAgICAgIGlmIChkLT5hcmNoLnBp cnFfZW9pX21hcCkgeworICAgICAgICAgICAgICAgIGNsZWFyX2JpdChpcnEsIGQtPmFyY2gu cGlycV9lb2lfbWFwKTsKKyAgICAgICAgfQorfQorCit2b2lkIHBpcnFfZ3Vlc3RfZW9pKHN0 cnVjdCBwaXJxICpwaXJxKQoreworICAgICAgICBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7Cisg ICAgICAgIHVuc2lnbmVkIGludCBmbGFnczsKKworICAgICAgICBpZiAocGlycS0+cGlycSA+ PSBOUl9JUlFTKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg ICAgICAgZGVzYyA9IGlycV90b19kZXNjKHBpcnEtPnBpcnEpOworICAgICAgICBzcGluX2xv Y2tfaXJxc2F2ZSgmZGVzYy0+bG9jaywgZmxhZ3MpOworCisgICAgICAgIGRlc2MtPmhhbmRs ZXItPmVuZChkZXNjKTsKKworICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXNj LT5sb2NrLCBmbGFncyk7Cit9CisKKwogaW50IHBpcnFfZ3Vlc3RfdW5tYXNrKHN0cnVjdCBk b21haW4gKmQpCiB7CiAJTk9UX1lFVCgpOwpAQCAtNjcsMTYgKzk3LDEwNSBAQCBpbnQgcGly cV9ndWVzdF91bm1hc2soc3RydWN0IGRvbWFpbiAqZCkKIAlyZXR1cm4gMDsKIH0KIAorCiBp bnQgcGlycV9ndWVzdF9iaW5kKHN0cnVjdCB2Y3B1ICp2LCBzdHJ1Y3QgcGlycSAqcGlycSwg aW50IHdpbGxfc2hhcmUpCiB7Ci0JTk9UX1lFVCgpOworICAgICAgICBpbnQgcmMgPSAwOwor ICAgICAgICBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7CisgICAgICAgIGlycV9ndWVzdF9hY3Rp b25fdCAqYWN0aW9uOworICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOworICAgICAgICB1 bnNpZ25lZCBpbnQgaXJxOwogCi0JcmV0dXJuIDA7CisgICAgICAgIGlycSA9IHBpcnEtPnBp cnE7CisKKyAgICAgICAgaWYgKGlycSA+PSBOUl9JUlFTKSB7CisgICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7CisgICAgICAgIH0KKworICAgICAgICBkZXNjID0gaXJxX3RvX2Rl c2MoaXJxKTsKKworICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmZGVzYy0+bG9jaywgZmxh Z3MpOworCisgICAgICAgIGlmICghKGRlc2MtPnN0YXR1cyAmIElSUV9HVUVTVCkpIHsKKyAg ICAgICAgICAgICAgICBpZiAoZGVzYy0+YWN0aW9uICE9IE5VTEwpIHsKKyAgICAgICAgICAg ICAgICAgICAgICAgIHJjID0gLUVCVVNZOworICAgICAgICAgICAgICAgICAgICAgICAgZ290 byBvdXQ7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgYWN0aW9uID0g eG1hbGxvYyhpcnFfZ3Vlc3RfYWN0aW9uX3QpOworICAgICAgICAgICAgICAgIGlmICgoZGVz Yy0+YWN0aW9uID0gKHN0cnVjdCBpcnFhY3Rpb24gKilhY3Rpb24pID09IE5VTEwgKSB7Cisg ICAgICAgICAgICAgICAgICAgICAgICByYyA9IC1FTk9NRU07CisgICAgICAgICAgICAgICAg ICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg ICBhY3Rpb24tPnNoYXJlYWJsZSA9IDE7CisgICAgICAgICAgICAgICAgYWN0aW9uLT5ucl9n dWVzdHMgPSAwOworICAgICAgICAgICAgICAgIGFjdGlvbi0+aW5fZmxpZ2h0ID0gMDsKKwor ICAgICAgICAgICAgICAgIGRlc2MtPnN0YXR1cyB8PSBJUlFfR1VFU1Q7CisKKyAgICAgICAg ICAgICAgICBkZXNjLT5oYW5kbGVyLT5lbmFibGUoZGVzYyk7CisgICAgICAgIH0gZWxzZSBp ZiAoIXdpbGxfc2hhcmUpIHsKKyAgICAgICAgICAgICAgICByYyA9IC1FQlVTWTsKKyAgICAg ICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorCisgICAgICAgIGlmICggYWN0aW9u LT5ucl9ndWVzdHMgPT0gSVJRX01BWF9HVUVTVFMgKSB7CisgICAgICAgICAgICAgICAgcmMg PSAtRUJVU1k7CisgICAgICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0KKworICAg ICAgICBhY3Rpb24tPmd1ZXN0W2FjdGlvbi0+bnJfZ3Vlc3RzKytdID0gdi0+ZG9tYWluOwor CitvdXQ6CisgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2MtPmxvY2ssIGZs YWdzKTsKKworICAgICAgICByZXR1cm4gcmM7OwogfQogCiB2b2lkIHBpcnFfZ3Vlc3RfdW5i aW5kKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwaXJxICpwaXJxKQogewotCU5PVF9ZRVQo KTsKKyAgICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjOworICAgICAgICB1bnNpZ25lZCBp bnQgZmxhZ3MsIGlycSwgaTsKKyAgICAgICAgaXJxX2d1ZXN0X2FjdGlvbl90ICphY3Rpb247 CisKKyAgICAgICAgaXJxID0gcGlycS0+cGlycTsKKworICAgICAgICBpZiAoaXJxID49IE5S X0lSUVMpIHsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg ICBkZXNjID0gaXJxX3RvX2Rlc2MoaXJxKTsKKworICAgICAgICBzcGluX2xvY2tfaXJxc2F2 ZSgmZGVzYy0+bG9jaywgZmxhZ3MpOworCisgICAgICAgIGFjdGlvbiA9IChpcnFfZ3Vlc3Rf YWN0aW9uX3QgKilkZXNjLT5hY3Rpb247CisKKyAgICAgICAgaWYgKHVubGlrZWx5KGFjdGlv biA9PSBOVUxMKSkgeworICAgICAgICAgICAgICAgIHdoaWxlKDEpOworICAgICAgICB9CisK KyAgICAgICAgQlVHX09OKCEoZGVzYy0+c3RhdHVzICYgSVJRX0dVRVNUKSk7CisKKworICAg ICAgICBpZiAoIGFjdGlvbi0+bnJfZ3Vlc3RzID09IDEgKSB7CisgICAgICAgICAgICAgICAg ZGVzYy0+YWN0aW9uID0gTlVMTDsKKyAgICAgICAgICAgICAgICB4ZnJlZShhY3Rpb24pOwor CisgICAgICAgICAgICAgICAgZGVzYy0+c3RhdHVzICY9IH5JUlFfR1VFU1Q7CisgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaSA9IDA7CisgICAgICAgICAgICAgICAgd2hp bGUgKCBhY3Rpb24tPmd1ZXN0W2ldICYmIChhY3Rpb24tPmd1ZXN0W2ldICE9IGQpICkKKyAg ICAgICAgICAgICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgICAgICBtZW1tb3ZlKCZh Y3Rpb24tPmd1ZXN0W2ldLCAmYWN0aW9uLT5ndWVzdFtpKzFdLCAoYWN0aW9uLT5ucl9ndWVz dHMgLSBpIC0gMSkgKiBzaXplb2YoYWN0aW9uLT5ndWVzdFswXSkpOworICAgICAgICAgICAg ICAgIGFjdGlvbi0+bnJfZ3Vlc3RzLS07CisgICAgICAgIH0KKworICAgICAgICBkZXNjLT5z dGF0dXMgfD0gSVJRX0RJU0FCTEVEOworCisgICAgICAgIGRlc2MtPmhhbmRsZXItPmRpc2Fi bGUoZGVzYyk7CisKKyAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzYy0+bG9j aywgZmxhZ3MpOwogfQogCiAKQEAgLTg1LDEyICsyMDQsMTcgQEAgdm9pZCBwaXJxX3NldF9h ZmZpbml0eShzdHJ1Y3QgZG9tYWluICpkLAogCU5PVF9ZRVQoKTsKIH0KIAotCiBzdHJ1Y3Qg cGlycSAqYWxsb2NfcGlycV9zdHJ1Y3Qoc3RydWN0IGRvbWFpbiAqZCkKIHsKLQlOT1RfWUVU KCk7CisgICAgICAgIHN0cnVjdCBwaXJxICpwaXJxOwogCi0JcmV0dXJuIE5VTEw7CisgICAg ICAgIHBpcnEgPSB4bWFsbG9jKHN0cnVjdCBwaXJxKTsKKworICAgICAgICBpZiAoIXBpcnEp IHsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAg IHJldHVybiBwaXJxOwogfQogCiBpbnQgc2V0dXBfaXJxKHVuc2lnbmVkIGludCBpcnEsIHN0 cnVjdCBpcnFhY3Rpb24gKm5ldykKQEAgLTExOSw2ICsyNDMsNjcgQEAgaW50IHNldHVwX2ly cSh1bnNpZ25lZCBpbnQgaXJxLCBzdHJ1Y3QgaQogCXJldHVybiAwOwogfQogCit2b2lkIGRv X2d1ZXN0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworICAgICAgICBpbnQgaTsKKyAgICAg ICAgc3RydWN0IGlycV9kZXNjICpkZXNjOworICAgICAgICBzdHJ1Y3QgZG9tYWluICpkOwor ICAgICAgICBzdHJ1Y3QgcGlycSAqcGlycTsKKworICAgICAgICBpcnFfZ3Vlc3RfYWN0aW9u X3QgKmFjdGlvbjsKKworICAgICAgICBkZXNjID0gaXJxX3RvX2Rlc2MoaXJxKTsKKworICAg ICAgICBhY3Rpb24gPSAoaXJxX2d1ZXN0X2FjdGlvbl90ICopZGVzYy0+YWN0aW9uOworICAg ICAgICBmb3IgKGkgPSAwOyBpIDwgYWN0aW9uLT5ucl9ndWVzdHM7IGkrKykgeworICAgICAg ICAgICAgICAgIGQgPSBhY3Rpb24tPmd1ZXN0W2ldOworICAgICAgICAgICAgICAgIHBpcnEg PSBwaXJxX2luZm8oZCwgaXJxKTsKKyAgICAgICAgICAgICAgICBhY3Rpb24tPmluX2ZsaWdo dCsrOworICAgICAgICAgICAgICAgIHNlbmRfZ3Vlc3RfcGlycShkLCBwaXJxKTsKKyAgICAg ICAgfQorCisKK30KKworYXNtbGlua2FnZSB2b2lkIGRvX2lwaSh1bnNpZ25lZCBpbnQgaXBp LCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKK3sKK30KKworYXNtbGlua2FnZSB2b2lk IGRvX2lycSh1bnNpZ25lZCBpbnQgaXJxLCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykK K3sKKyAgICAgICAgc3RydWN0IGlycV9kZXNjICpkZXNjOworICAgICAgICBzdHJ1Y3QgaXJx YWN0aW9uICphY3Rpb247CisKKyAgICAgICAgaWYgKGlycSA+PSBOUl9JUlFTKSB7CisgICAg ICAgICAgICAgICAgcHJpbnRrKCJCYWQgSVJRID0gJWRcbiIsIGlycSk7CisgICAgICAgIH0K KworICAgICAgICBkZXNjID0gaXJxX3RvX2Rlc2MoaXJxKTsKKworICAgICAgICBzcGluX2xv Y2soJmRlc2MtPmxvY2spOworCisgICAgICAgIGRlc2MtPmhhbmRsZXItPmFjayhkZXNjKTsK KworCisgICAgICAgIGlmIChsaWtlbHkoZGVzYy0+c3RhdHVzICYgSVJRX0dVRVNUKSkgewor ICAgICAgICAgICAgICAgIGRvX2d1ZXN0X2lycShpcnEpOworICAgICAgICAgICAgICAgIHNw aW5fdW5sb2NrKCZkZXNjLT5sb2NrKTsKKworICAgICAgICAgICAgICAgIHJldHVybjsKKyAg ICAgICAgfQorCisgICAgICAgIGFjdGlvbiA9IGRlc2MtPmFjdGlvbjsKKworICAgICAgICBC VUdfT04oIWFjdGlvbik7CisKKyAgICAgICAgc3Bpbl91bmxvY2soJmRlc2MtPmxvY2spOwor CisgICAgICAgIGFjdGlvbi0+aGFuZGxlcihpcnEsIGFjdGlvbi0+ZGV2X2lkLCByZWdzKTsK KworICAgICAgICBkZXNjLT5oYW5kbGVyLT5lbmQoZGVzYyk7Cit9CisKKwogaW50IGFyY2hf aW5pdF9vbmVfaXJxX2Rlc2Moc3RydWN0IGlycV9kZXNjICpkZXNjKQogewogCU5PVF9ZRVQo KTsK ------=SAMSUNG_mySingle_MIME_MULTIPART_BOUNDARY Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ------=SAMSUNG_mySingle_MIME_MULTIPART_BOUNDARY--