From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KwJI3-0007T6-No for qemu-devel@nongnu.org; Sat, 01 Nov 2008 12:25:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KwJI2-0007St-PD for qemu-devel@nongnu.org; Sat, 01 Nov 2008 12:25:31 -0400 Received: from [199.232.76.173] (port=51242 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KwJI2-0007Sq-GH for qemu-devel@nongnu.org; Sat, 01 Nov 2008 12:25:30 -0400 Received: from rv-out-0708.google.com ([209.85.198.251]:36110) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KwJI1-0007I1-Ju for qemu-devel@nongnu.org; Sat, 01 Nov 2008 12:25:30 -0400 Received: by rv-out-0708.google.com with SMTP id f25so1614124rvb.22 for ; Sat, 01 Nov 2008 09:25:28 -0700 (PDT) Message-ID: Date: Sat, 1 Nov 2008 18:25:28 +0200 From: "Blue Swirl" Subject: Re: [Qemu-devel] Re: [PATCH 3/3] Add KVM support to QEMU In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_51451_29082864.1225556728276" References: <1225224814-9875-1-git-send-email-aliguori@us.ibm.com> <1225224814-9875-2-git-send-email-aliguori@us.ibm.com> <1225224814-9875-3-git-send-email-aliguori@us.ibm.com> <49078707.5000109@redhat.com> <49078955.2090109@codemonkey.ws> <5d6222a80810281604g39708040kf710725dce6413dd@mail.gmail.com> <4907A1FA.2060106@codemonkey.ws> <49086E96.80809@redhat.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Glauber Costa , hollis@alumni.cmu.edu, Gerd Hoffmann , kvm-devel ------=_Part_51451_29082864.1225556728276 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 10/29/08, Blue Swirl wrote: > On 10/29/08, Avi Kivity wrote: > > Hollis Blanchard wrote: > > > > > On Tue, Oct 28, 2008 at 6:36 PM, Anthony Liguori > > wrote: > > > > > > > > > > Something I was thinking about this morning, and I think the first place > > > > where we'll definitely need a hook, is how to deal with > > > > kvm_load_registers(). I think there's overlap between KVM and the IO > > thread > > > > here. > > > > > > > > There are two reasons (I can think of) that most of the device model > > code > > > > can't run in conjunction with TCG. The first is that TCG may modify > > > > CPUState in a non-atomic way. The device model may need to access > > CPUState > > > > although there are very few places that it does. > > > > > > > > > > > > > > Out of curiosity, where are those places? > > > > > > > > > > local apic -- needs to access interrupt disable flag > > acpi sleep -- halts the current processor, so tied to cpustate > > > It should be possible to avoid these, just use a qemu_irq for per-CPU > interrupt lines and halt signals. Just for fun, I made a set of small patches that convert apic to avoid env access completely. Only lightly tested. The fourth patch (suppress_apic_env_use_accessors.diff) is probably not OK, because I changed the accessors to use the apic state as registered for the MMIO, previous implementation used instead the apic state associated with the currently running CPU. I couldn't find any CPU state handling in acpi.c, is this a KVM specific addition? ------=_Part_51451_29082864.1225556728276 Content-Type: plain/text; name=suppress_apic_env_use_SIPI.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fn0gnhsj Content-Disposition: attachment; filename=suppress_apic_env_use_SIPI.diff SW5kZXg6IHFlbXUvaHcvYXBpYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9hcGljLmMJ MjAwOC0xMS0wMSAxNDo1MTozMi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvYXBpYy5jCTIw MDgtMTEtMDEgMTQ6NTc6NTQuMDAwMDAwMDAwICswMDAwCkBAIC04Nyw2ICs4Nyw3IEBACiAgICAg dWludDMyX3QgaW5pdGlhbF9jb3VudDsKICAgICBpbnQ2NF90IGluaXRpYWxfY291bnRfbG9hZF90 aW1lLCBuZXh0X3RpbWU7CiAgICAgUUVNVVRpbWVyICp0aW1lcjsKKyAgICBxZW11X2lycSAqY3B1 X1NJUEk7CiB9IEFQSUNTdGF0ZTsKIAogc3RydWN0IElPQVBJQ1N0YXRlIHsKQEAgLTQyOSwxOSAr NDMwLDcgQEAKICAgICBjcHVfcmVzZXQocy0+Y3B1X2Vudik7CiAKICAgICBpZiAoIShzLT5hcGlj YmFzZSAmIE1TUl9JQTMyX0FQSUNCQVNFX0JTUCkpCi0gICAgICAgIHMtPmNwdV9lbnYtPmhhbHRl ZCA9IDE7Ci19Ci0KLS8qIHNlbmQgYSBTSVBJIG1lc3NhZ2UgdG8gdGhlIENQVSB0byBzdGFydCBp dCAqLwotc3RhdGljIHZvaWQgYXBpY19zdGFydHVwKEFQSUNTdGF0ZSAqcywgaW50IHZlY3Rvcl9u dW0pCi17Ci0gICAgQ1BVU3RhdGUgKmVudiA9IHMtPmNwdV9lbnY7Ci0gICAgaWYgKCFlbnYtPmhh bHRlZCkKLSAgICAgICAgcmV0dXJuOwotICAgIGVudi0+ZWlwID0gMDsKLSAgICBjcHVfeDg2X2xv YWRfc2VnX2NhY2hlKGVudiwgUl9DUywgdmVjdG9yX251bSA8PCA4LCB2ZWN0b3JfbnVtIDw8IDEy LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLCAwKTsKLSAgICBlbnYtPmhhbHRl ZCA9IDA7CisgICAgICAgIHFlbXVfaXJxX2xvd2VyKHMtPmNwdV9TSVBJWzBdKTsKIH0KIAogc3Rh dGljIHZvaWQgYXBpY19kZWxpdmVyKEFQSUNTdGF0ZSAqcywgdWludDhfdCBkZXN0LCB1aW50OF90 IGRlc3RfbW9kZSwKQEAgLTQ4NCw3ICs0NzMsNyBAQAogCiAgICAgICAgIGNhc2UgQVBJQ19ETV9T SVBJOgogICAgICAgICAgICAgZm9yZWFjaF9hcGljKGFwaWNfaXRlciwgZGVsaXZlcl9iaXRtYXNr LAotICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWNfc3RhcnR1cChhcGljX2l0ZXIsIHZlY3Rv cl9udW0pICk7CisgICAgICAgICAgICAgICAgICAgICAgICAgcWVtdV9pcnFfcmFpc2UoYXBpY19p dGVyLT5jcHVfU0lQSVt2ZWN0b3JfbnVtXSkgKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICB9 CiAKQEAgLTg2OSw3ICs4NTgsNyBAQAogICAgIGFwaWNfbWVtX3dyaXRlbCwKIH07CiAKLWludCBh cGljX2luaXQoQ1BVU3RhdGUgKmVudikKK2ludCBhcGljX2luaXQoQ1BVU3RhdGUgKmVudiwgcWVt dV9pcnEgKmNwdV9TSVBJKQogewogICAgIEFQSUNTdGF0ZSAqczsKIApAQCAtODgzLDYgKzg3Miw3 IEBACiAgICAgZW52LT5jcHVpZF9hcGljX2lkID0gcy0+aWQ7CiAgICAgcy0+Y3B1X2VudiA9IGVu djsKIAorICAgIHMtPmNwdV9TSVBJID0gY3B1X1NJUEk7CiAgICAgYXBpY19yZXNldChzKTsKIAog ICAgIC8qIFhYWDogbWFwcGluZyBtb3JlIEFQSUNzIGF0IHRoZSBzYW1lIG1lbW9yeSBsb2NhdGlv biAqLwpJbmRleDogcWVtdS9ody9wYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9wYy5j CTIwMDgtMTEtMDEgMTQ6NTE6MzIuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L3BjLmMJMjAw OC0xMS0wMSAxNDo1NzoxMy4wMDAwMDAwMDAgKzAwMDAKQEAgLTQ5LDYgKzQ5LDkgQEAKIAogI2Rl ZmluZSBNQVhfSURFX0JVUyAyCiAKKyNkZWZpbmUgTUFYX0NQVVMgMjU2CisjZGVmaW5lIE1BWF9T SVBJUyAyNTYKKwogc3RhdGljIGZkY3RybF90ICpmbG9wcHlfY29udHJvbGxlcjsKIHN0YXRpYyBS VENTdGF0ZSAqcnRjX3N0YXRlOwogc3RhdGljIFBJVFN0YXRlICpwaXQ7CkBAIC0xMzQsNiArMTM3 LDI3IEBACiAgICAgfQogfQogCisvKiBzZW5kIGEgU0lQSSBtZXNzYWdlIHRvIHRoZSBDUFUgdG8g c3RhcnQgaXQgKi8KK3N0YXRpYyB2b2lkIGNwdV9zZXRfU0lQSSh2b2lkICpvcGFxdWUsIGludCB2 ZWN0b3JfbnVtLCBpbnQgbGV2ZWwpCit7CisgICAgQ1BVU3RhdGUgKmVudiA9IG9wYXF1ZTsKKwor ICAgIGlmIChsZXZlbCkgeworICAgICAgICBpZiAoIWVudi0+aGFsdGVkKQorICAgICAgICAgICAg cmV0dXJuOworICAgICAgICBlbnYtPmVpcCA9IDA7CisgICAgICAgIGNwdV94ODZfbG9hZF9zZWdf Y2FjaGUoZW52LCBSX0NTLCB2ZWN0b3JfbnVtIDw8IDgsIHZlY3Rvcl9udW0gPDwgMTIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLCAwKTsKKyAgICAgICAgZW52LT5oYWx0 ZWQgPSAwOworICAgIH0gZWxzZSB7CisgICAgICAgIGVudi0+aGFsdGVkID0gMTsKKyAgICB9Cit9 CisKK3N0YXRpYyB2b2lkIGR1bW15X2NwdV9zZXRfU0lQSSh2b2lkICpvcGFxdWUsIGludCB2ZWN0 b3JfbnVtLCBpbnQgbGV2ZWwpCit7Cit9CisKIC8qIFBDIGNtb3MgbWFwcGluZ3MgKi8KIAogI2Rl ZmluZSBSRUdfRVFVSVBNRU5UX0JZVEUgICAgICAgICAgMHgxNApAQCAtNzQ1LDYgKzc2OSw3IEBA CiAgICAgaW50IGluZGV4OwogICAgIEJsb2NrRHJpdmVyU3RhdGUgKmhkW01BWF9JREVfQlVTICog TUFYX0lERV9ERVZTXTsKICAgICBCbG9ja0RyaXZlclN0YXRlICpmZFtNQVhfRkRdOworICAgIHFl bXVfaXJxICpjcHVfU0lQSVtNQVhfQ1BVU107CiAKICAgICBpZiAocmFtX3NpemUgPj0gMHhlMDAw MDAwMCApIHsKICAgICAgICAgYWJvdmVfNGdfbWVtX3NpemUgPSByYW1fc2l6ZSAtIDB4ZTAwMDAw MDA7CkBAIC03NzcsMTEgKzgwMiwxNSBAQAogICAgICAgICAgICAgZW52LT5jcHVpZF9mZWF0dXJl cyB8PSBDUFVJRF9BUElDOwogICAgICAgICB9CiAgICAgICAgIHFlbXVfcmVnaXN0ZXJfcmVzZXQo bWFpbl9jcHVfcmVzZXQsIGVudik7CisgICAgICAgIGNwdV9TSVBJW2ldID0gcWVtdV9hbGxvY2F0 ZV9pcnFzKGNwdV9zZXRfU0lQSSwgZW52LCBNQVhfU0lQSVMpOwogICAgICAgICBpZiAocGNpX2Vu YWJsZWQpIHsKLSAgICAgICAgICAgIGFwaWNfaW5pdChlbnYpOworICAgICAgICAgICAgYXBpY19p bml0KGVudiwgY3B1X1NJUElbaV0pOwogICAgICAgICB9CiAgICAgfQogCisgICAgZm9yIChpID0g c21wX2NwdXM7IGkgPCBNQVhfQ1BVUzsgaSsrKQorICAgICAgICBjcHVfU0lQSVtpXSA9IHFlbXVf YWxsb2NhdGVfaXJxcyhkdW1teV9jcHVfc2V0X1NJUEksIE5VTEwsIE1BWF9TSVBJUyk7CisKICAg ICB2bXBvcnRfaW5pdCgpOwogCiAgICAgLyogYWxsb2NhdGUgUkFNICovCkluZGV4OiBxZW11L2h3 L3BjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L3BjLmgJMjAwOC0xMS0wMSAxNDo1MToz Mi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvcGMuaAkyMDA4LTExLTAxIDE0OjU3OjAyLjAw MDAwMDAwMCArMDAwMApAQCAtNDAsNyArNDAsNyBAQAogLyogQVBJQyAqLwogdHlwZWRlZiBzdHJ1 Y3QgSU9BUElDU3RhdGUgSU9BUElDU3RhdGU7CiAKLWludCBhcGljX2luaXQoQ1BVU3RhdGUgKmVu dik7CitpbnQgYXBpY19pbml0KENQVVN0YXRlICplbnYsIHFlbXVfaXJxICpjcHVfU0lQSSk7CiBp bnQgYXBpY19hY2NlcHRfcGljX2ludHIoQ1BVU3RhdGUgKmVudik7CiB2b2lkIGFwaWNfZGVsaXZl cl9waWNfaW50cihDUFVTdGF0ZSAqZW52LCBpbnQgbGV2ZWwpOwogaW50IGFwaWNfZ2V0X2ludGVy cnVwdChDUFVTdGF0ZSAqZW52KTsK ------=_Part_51451_29082864.1225556728276 Content-Type: plain/text; name=suppress_apic_env_use_reset_NMI_SMI.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fn0gpf1v Content-Disposition: attachment; filename=suppress_apic_env_use_reset_NMI_SMI.diff SW5kZXg6IHFlbXUvaHcvYXBpYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9hcGljLmMJ MjAwOC0xMS0wMSAxNTowNTozOC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvYXBpYy5jCTIw MDgtMTEtMDEgMTU6NDA6MzEuMDAwMDAwMDAwICswMDAwCkBAIC04OCw2ICs4OCwxMCBAQAogICAg IGludDY0X3QgaW5pdGlhbF9jb3VudF9sb2FkX3RpbWUsIG5leHRfdGltZTsKICAgICBRRU1VVGlt ZXIgKnRpbWVyOwogICAgIHFlbXVfaXJxICpjcHVfU0lQSTsKKyAgICBxZW11X2lycSBjcHVfcmVz ZXQ7CisgICAgcWVtdV9pcnEgY3B1X05NSTsKKyAgICBxZW11X2lycSBjcHVfU01JOworICAgIHFl bXVfaXJxIGNwdV9IV0lOVDsKIH0gQVBJQ1N0YXRlOwogCiBzdHJ1Y3QgSU9BUElDU3RhdGUgewpA QCAtMTQ1LDE1ICsxNDksMTUgQEAKIAogICAgIHN3aXRjaCAoKGx2dCA+PiA4KSAmIDcpIHsKICAg ICBjYXNlIEFQSUNfRE1fU01JOgotICAgICAgICBjcHVfaW50ZXJydXB0KGVudiwgQ1BVX0lOVEVS UlVQVF9TTUkpOworICAgICAgICBxZW11X2lycV9yYWlzZShzLT5jcHVfU01JKTsKICAgICAgICAg YnJlYWs7CiAKICAgICBjYXNlIEFQSUNfRE1fTk1JOgotICAgICAgICBjcHVfaW50ZXJydXB0KGVu diwgQ1BVX0lOVEVSUlVQVF9OTUkpOworICAgICAgICBxZW11X2lycV9yYWlzZShzLT5jcHVfTk1J KTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEFQSUNfRE1fRVhUSU5UOgotICAgICAgICBj cHVfaW50ZXJydXB0KGVudiwgQ1BVX0lOVEVSUlVQVF9IQVJEKTsKKyAgICAgICAgcWVtdV9pcnFf cmFpc2Uocy0+Y3B1X0hXSU5UKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEFQSUNfRE1f RklYRUQ6CkBAIC0xODAsNyArMTg0LDcgQEAKICAgICAgICAgICAgIHJlc2V0X2JpdChzLT5pcnIs IGx2dCAmIDB4ZmYpOwogICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCiAgICAgICAgIGNh c2UgQVBJQ19ETV9FWFRJTlQ6Ci0gICAgICAgICAgICBjcHVfcmVzZXRfaW50ZXJydXB0KGVudiwg Q1BVX0lOVEVSUlVQVF9IQVJEKTsKKyAgICAgICAgICAgIHFlbXVfaXJxX2xvd2VyKHMtPmNwdV9I V0lOVCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KQEAgLTIzNywxMiAr MjQxLDEyIEBACiAKICAgICAgICAgY2FzZSBBUElDX0RNX1NNSToKICAgICAgICAgICAgIGZvcmVh Y2hfYXBpYyhhcGljX2l0ZXIsIGRlbGl2ZXJfYml0bWFzaywKLSAgICAgICAgICAgICAgICBjcHVf aW50ZXJydXB0KGFwaWNfaXRlci0+Y3B1X2VudiwgQ1BVX0lOVEVSUlVQVF9TTUkpICk7CisgICAg ICAgICAgICAgICAgICAgICAgICAgcWVtdV9pcnFfcmFpc2UoYXBpY19pdGVyLT5jcHVfU01JKSAp OwogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGNhc2UgQVBJQ19ETV9OTUk6CiAgICAg ICAgICAgICBmb3JlYWNoX2FwaWMoYXBpY19pdGVyLCBkZWxpdmVyX2JpdG1hc2ssCi0gICAgICAg ICAgICAgICAgY3B1X2ludGVycnVwdChhcGljX2l0ZXItPmNwdV9lbnYsIENQVV9JTlRFUlJVUFRf Tk1JKSApOworICAgICAgICAgICAgICAgICAgICAgICAgIHFlbXVfaXJxX3JhaXNlKGFwaWNfaXRl ci0+Y3B1X05NSSkgKTsKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICBjYXNlIEFQSUNf RE1fSU5JVDoKQEAgLTM0Nyw3ICszNTEsNyBAQAogICAgIHBwciA9IGFwaWNfZ2V0X3BwcihzKTsK ICAgICBpZiAocHByICYmIChpcnJ2ICYgMHhmMCkgPD0gKHBwciAmIDB4ZjApKQogICAgICAgICBy ZXR1cm47Ci0gICAgY3B1X2ludGVycnVwdChzLT5jcHVfZW52LCBDUFVfSU5URVJSVVBUX0hBUkQp OworICAgIHFlbXVfaXJxX3JhaXNlKHMtPmNwdV9IV0lOVCk7CiB9CiAKIHN0YXRpYyB2b2lkIGFw aWNfc2V0X2lycShBUElDU3RhdGUgKnMsIGludCB2ZWN0b3JfbnVtLCBpbnQgdHJpZ2dlcl9tb2Rl KQpAQCAtNDI3LDcgKzQzMSw3IEBACiAgICAgcy0+aW5pdGlhbF9jb3VudF9sb2FkX3RpbWUgPSAw OwogICAgIHMtPm5leHRfdGltZSA9IDA7CiAKLSAgICBjcHVfcmVzZXQocy0+Y3B1X2Vudik7Cisg ICAgcWVtdV9pcnFfcmFpc2Uocy0+Y3B1X3Jlc2V0KTsKIAogICAgIGlmICghKHMtPmFwaWNiYXNl ICYgTVNSX0lBMzJfQVBJQ0JBU0VfQlNQKSkKICAgICAgICAgcWVtdV9pcnFfbG93ZXIocy0+Y3B1 X1NJUElbMF0pOwpAQCAtODU4LDcgKzg2Miw4IEBACiAgICAgYXBpY19tZW1fd3JpdGVsLAogfTsK IAotaW50IGFwaWNfaW5pdChDUFVTdGF0ZSAqZW52LCBxZW11X2lycSAqY3B1X1NJUEkpCitpbnQg YXBpY19pbml0KENQVVN0YXRlICplbnYsIHFlbXVfaXJxICpjcHVfU0lQSSwgcWVtdV9pcnEgY3B1 X3Jlc2V0LAorICAgICAgICAgICAgICBxZW11X2lycSBjcHVfTk1JLCBxZW11X2lycSBjcHVfU01J LCBxZW11X2lycSBjcHVfSFdJTlQpCiB7CiAgICAgQVBJQ1N0YXRlICpzOwogCkBAIC04NzMsNiAr ODc4LDEwIEBACiAgICAgcy0+Y3B1X2VudiA9IGVudjsKIAogICAgIHMtPmNwdV9TSVBJID0gY3B1 X1NJUEk7CisgICAgcy0+Y3B1X3Jlc2V0ID0gY3B1X3Jlc2V0OworICAgIHMtPmNwdV9OTUkgPSBj cHVfTk1JOworICAgIHMtPmNwdV9TTUkgPSBjcHVfU01JOworICAgIHMtPmNwdV9IV0lOVCA9IGNw dV9IV0lOVDsKICAgICBhcGljX3Jlc2V0KHMpOwogCiAgICAgLyogWFhYOiBtYXBwaW5nIG1vcmUg QVBJQ3MgYXQgdGhlIHNhbWUgbWVtb3J5IGxvY2F0aW9uICovCkluZGV4OiBxZW11L2h3L3BjLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L3BjLmMJMjAwOC0xMS0wMSAxNTowNTozOC4wMDAw MDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvcGMuYwkyMDA4LTExLTAxIDE1OjM2OjU5LjAwMDAwMDAw MCArMDAwMApAQCAtMTU4LDYgKzE1OCwzNiBAQAogewogfQogCitzdGF0aWMgdm9pZCBjcHVfc2V0 X05NSSh2b2lkICpvcGFxdWUsIGludCBpcnEsIGludCBsZXZlbCkKK3sKKyAgICBDUFVTdGF0ZSAq ZW52ID0gb3BhcXVlOworCisgICAgaWYgKGxldmVsKQorICAgICAgICBjcHVfaW50ZXJydXB0KGVu diwgQ1BVX0lOVEVSUlVQVF9OTUkpOworICAgIGVsc2UKKyAgICAgICAgY3B1X3Jlc2V0X2ludGVy cnVwdChlbnYsIENQVV9JTlRFUlJVUFRfTk1JKTsKK30KKworc3RhdGljIHZvaWQgY3B1X3NldF9T TUkodm9pZCAqb3BhcXVlLCBpbnQgaXJxLCBpbnQgbGV2ZWwpCit7CisgICAgQ1BVU3RhdGUgKmVu diA9IG9wYXF1ZTsKKworICAgIGlmIChsZXZlbCkKKyAgICAgICAgY3B1X2ludGVycnVwdChlbnYs IENQVV9JTlRFUlJVUFRfU01JKTsKKyAgICBlbHNlCisgICAgICAgIGNwdV9yZXNldF9pbnRlcnJ1 cHQoZW52LCBDUFVfSU5URVJSVVBUX1NNSSk7Cit9CisKK3N0YXRpYyB2b2lkIGNwdV9zZXRfSFdJ TlQodm9pZCAqb3BhcXVlLCBpbnQgaXJxLCBpbnQgbGV2ZWwpCit7CisgICAgQ1BVU3RhdGUgKmVu diA9IG9wYXF1ZTsKKworICAgIGlmIChsZXZlbCkKKyAgICAgICAgY3B1X2ludGVycnVwdChlbnYs IENQVV9JTlRFUlJVUFRfSEFSRCk7CisgICAgZWxzZQorICAgICAgICBjcHVfcmVzZXRfaW50ZXJy dXB0KGVudiwgQ1BVX0lOVEVSUlVQVF9IQVJEKTsKK30KKwogLyogUEMgY21vcyBtYXBwaW5ncyAq LwogCiAjZGVmaW5lIFJFR19FUVVJUE1FTlRfQllURSAgICAgICAgICAweDE0CkBAIC02OTEsNiAr NzIxLDEyIEBACiAgICAgY3B1X3Jlc2V0KGVudik7CiB9CiAKK3N0YXRpYyB2b2lkIG1haW5fY3B1 X3Jlc2V0X3NpZ25hbCh2b2lkICpvcGFxdWUsIGludCBpcnEsIGludCBsZXZlbCkKK3sKKyAgICBp ZiAobGV2ZWwpCisgICAgICAgIG1haW5fY3B1X3Jlc2V0KG9wYXF1ZSk7Cit9CisKIHN0YXRpYyBj b25zdCBpbnQgaWRlX2lvYmFzZVsyXSA9IHsgMHgxZjAsIDB4MTcwIH07CiBzdGF0aWMgY29uc3Qg aW50IGlkZV9pb2Jhc2UyWzJdID0geyAweDNmNiwgMHgzNzYgfTsKIHN0YXRpYyBjb25zdCBpbnQg aWRlX2lycVsyXSA9IHsgMTQsIDE1IH07CkBAIC03NjksNyArODA1LDggQEAKICAgICBpbnQgaW5k ZXg7CiAgICAgQmxvY2tEcml2ZXJTdGF0ZSAqaGRbTUFYX0lERV9CVVMgKiBNQVhfSURFX0RFVlNd OwogICAgIEJsb2NrRHJpdmVyU3RhdGUgKmZkW01BWF9GRF07Ci0gICAgcWVtdV9pcnEgKmNwdV9T SVBJW01BWF9DUFVTXTsKKyAgICBxZW11X2lycSAqY3B1X1NJUElbTUFYX0NQVVNdLCAqY3B1X3Jl c2V0c1tNQVhfQ1BVU10sICpjcHVfTk1Jc1tNQVhfQ1BVU10sCisgICAgICAgICpjcHVfU01Jc1tN QVhfQ1BVU10sICpjcHVfSFdJTlRzW01BWF9DUFVTXTsKIAogICAgIGlmIChyYW1fc2l6ZSA+PSAw eGUwMDAwMDAwICkgewogICAgICAgICBhYm92ZV80Z19tZW1fc2l6ZSA9IHJhbV9zaXplIC0gMHhl MDAwMDAwMDsKQEAgLTgwMiw5ICs4MzksMTQgQEAKICAgICAgICAgICAgIGVudi0+Y3B1aWRfZmVh dHVyZXMgfD0gQ1BVSURfQVBJQzsKICAgICAgICAgfQogICAgICAgICBxZW11X3JlZ2lzdGVyX3Jl c2V0KG1haW5fY3B1X3Jlc2V0LCBlbnYpOworICAgICAgICBjcHVfcmVzZXRzW2ldID0gcWVtdV9h bGxvY2F0ZV9pcnFzKG1haW5fY3B1X3Jlc2V0X3NpZ25hbCwgZW52LCAxKTsKICAgICAgICAgY3B1 X1NJUElbaV0gPSBxZW11X2FsbG9jYXRlX2lycXMoY3B1X3NldF9TSVBJLCBlbnYsIE1BWF9TSVBJ Uyk7CisgICAgICAgIGNwdV9OTUlzW2ldID0gcWVtdV9hbGxvY2F0ZV9pcnFzKGNwdV9zZXRfTk1J LCBlbnYsIDEpOworICAgICAgICBjcHVfU01Jc1tpXSA9IHFlbXVfYWxsb2NhdGVfaXJxcyhjcHVf c2V0X1NNSSwgZW52LCAxKTsKKyAgICAgICAgY3B1X0hXSU5Uc1tpXSA9IHFlbXVfYWxsb2NhdGVf aXJxcyhjcHVfc2V0X0hXSU5ULCBlbnYsIDEpOwogICAgICAgICBpZiAocGNpX2VuYWJsZWQpIHsK LSAgICAgICAgICAgIGFwaWNfaW5pdChlbnYsIGNwdV9TSVBJW2ldKTsKKyAgICAgICAgICAgIGFw aWNfaW5pdChlbnYsIGNwdV9TSVBJW2ldLCBjcHVfcmVzZXRzW2ldWzBdLCBjcHVfTk1Jc1tpXVsw XSwKKyAgICAgICAgICAgICAgICAgICAgICBjcHVfU01Jc1tpXVswXSwgY3B1X0hXSU5Uc1tpXVsw XSk7CiAgICAgICAgIH0KICAgICB9CiAKSW5kZXg6IHFlbXUvaHcvcGMuaAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBxZW11Lm9yaWcvaHcvcGMuaAkyMDA4LTExLTAxIDE1OjA1OjM4LjAwMDAwMDAwMCArMDAwMAor KysgcWVtdS9ody9wYy5oCTIwMDgtMTEtMDEgMTU6Mzg6MzguMDAwMDAwMDAwICswMDAwCkBAIC00 MCw3ICs0MCw4IEBACiAvKiBBUElDICovCiB0eXBlZGVmIHN0cnVjdCBJT0FQSUNTdGF0ZSBJT0FQ SUNTdGF0ZTsKIAotaW50IGFwaWNfaW5pdChDUFVTdGF0ZSAqZW52LCBxZW11X2lycSAqY3B1X1NJ UEkpOworaW50IGFwaWNfaW5pdChDUFVTdGF0ZSAqZW52LCBxZW11X2lycSAqY3B1X1NJUEksIHFl bXVfaXJxIGNwdV9yZXNldCwKKyAgICAgICAgICAgICAgcWVtdV9pcnEgY3B1X05NSSwgcWVtdV9p cnEgY3B1X1NNSSwgcWVtdV9pcnEgY3B1X0hXSU5UKTsKIGludCBhcGljX2FjY2VwdF9waWNfaW50 cihDUFVTdGF0ZSAqZW52KTsKIHZvaWQgYXBpY19kZWxpdmVyX3BpY19pbnRyKENQVVN0YXRlICpl bnYsIGludCBsZXZlbCk7CiBpbnQgYXBpY19nZXRfaW50ZXJydXB0KENQVVN0YXRlICplbnYpOwo= ------=_Part_51451_29082864.1225556728276 Content-Type: plain/text; name=suppress_apic_env_use_cpu.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fn0gpo9m Content-Disposition: attachment; filename=suppress_apic_env_use_cpu.diff SW5kZXg6IHFlbXUvaHcvYXBpYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9hcGljLmMJ MjAwOC0xMS0wMSAxNTo0MjowNi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvYXBpYy5jCTIw MDgtMTEtMDEgMTY6MDA6MzcuMDAwMDAwMDAwICswMDAwCkBAIC0xMzgsOSArMTM4LDggQEAKICAg ICB0YWJbaV0gJj0gfm1hc2s7CiB9CiAKLXN0YXRpYyB2b2lkIGFwaWNfbG9jYWxfZGVsaXZlcihD UFVTdGF0ZSAqZW52LCBpbnQgdmVjdG9yKQorc3RhdGljIHZvaWQgYXBpY19sb2NhbF9kZWxpdmVy KEFQSUNTdGF0ZSAqcywgaW50IHZlY3RvcikKIHsKLSAgICBBUElDU3RhdGUgKnMgPSBlbnYtPmFw aWNfc3RhdGU7CiAgICAgdWludDMyX3QgbHZ0ID0gcy0+bHZ0W3ZlY3Rvcl07CiAgICAgaW50IHRy aWdnZXJfbW9kZTsKIApAQCAtMTY5LDEyICsxNjgsMTMgQEAKICAgICB9CiB9CiAKLXZvaWQgYXBp Y19kZWxpdmVyX3BpY19pbnRyKENQVVN0YXRlICplbnYsIGludCBsZXZlbCkKK3ZvaWQgYXBpY19k ZWxpdmVyX3BpY19pbnRyKHZvaWQgKm9wYXF1ZSwgaW50IGxldmVsKQogeworICAgIEFQSUNTdGF0 ZSAqcyA9IG9wYXF1ZTsKKwogICAgIGlmIChsZXZlbCkKLSAgICAgICAgYXBpY19sb2NhbF9kZWxp dmVyKGVudiwgQVBJQ19MVlRfTElOVDApOworICAgICAgICBhcGljX2xvY2FsX2RlbGl2ZXIocywg QVBJQ19MVlRfTElOVDApOwogICAgIGVsc2UgewotICAgICAgICBBUElDU3RhdGUgKnMgPSBlbnYt PmFwaWNfc3RhdGU7CiAgICAgICAgIHVpbnQzMl90IGx2dCA9IHMtPmx2dFtBUElDX0xWVF9MSU5U MF07CiAKICAgICAgICAgc3dpdGNoICgobHZ0ID4+IDgpICYgNykgewpAQCAtMjY3LDkgKzI2Nyw5 IEBACiAgICAgICAgICAgICAgICAgIGFwaWNfc2V0X2lycShhcGljX2l0ZXIsIHZlY3Rvcl9udW0s IHRyaWdnZXJfbW9kZSkgKTsKIH0KIAotdm9pZCBjcHVfc2V0X2FwaWNfYmFzZShDUFVTdGF0ZSAq ZW52LCB1aW50NjRfdCB2YWwpCit2b2lkIGNwdV9zZXRfYXBpY19iYXNlKHZvaWQgKm9wYXF1ZSwg dWludDY0X3QgdmFsKQogewotICAgIEFQSUNTdGF0ZSAqcyA9IGVudi0+YXBpY19zdGF0ZTsKKyAg ICBBUElDU3RhdGUgKnMgPSBvcGFxdWU7CiAjaWZkZWYgREVCVUdfQVBJQwogICAgIHByaW50Zigi Y3B1X3NldF9hcGljX2Jhc2U6ICUwMTYiIFBSSXg2NCAiXG4iLCB2YWwpOwogI2VuZGlmCkBAIC0y NzgsMzAgKzI3OCwyOSBAQAogICAgIC8qIGlmIGRpc2FibGVkLCBjYW5ub3QgYmUgZW5hYmxlZCBh Z2FpbiAqLwogICAgIGlmICghKHZhbCAmIE1TUl9JQTMyX0FQSUNCQVNFX0VOQUJMRSkpIHsKICAg ICAgICAgcy0+YXBpY2Jhc2UgJj0gfk1TUl9JQTMyX0FQSUNCQVNFX0VOQUJMRTsKLSAgICAgICAg ZW52LT5jcHVpZF9mZWF0dXJlcyAmPSB+Q1BVSURfQVBJQzsKICAgICAgICAgcy0+c3B1cmlvdXNf dmVjICY9IH5BUElDX1NWX0VOQUJMRTsKICAgICB9CiB9CiAKLXVpbnQ2NF90IGNwdV9nZXRfYXBp Y19iYXNlKENQVVN0YXRlICplbnYpCit1aW50NjRfdCBjcHVfZ2V0X2FwaWNfYmFzZSh2b2lkICpv cGFxdWUpCiB7Ci0gICAgQVBJQ1N0YXRlICpzID0gZW52LT5hcGljX3N0YXRlOworICAgIEFQSUNT dGF0ZSAqcyA9IG9wYXF1ZTsKICNpZmRlZiBERUJVR19BUElDCiAgICAgcHJpbnRmKCJjcHVfZ2V0 X2FwaWNfYmFzZTogJTAxNiIgUFJJeDY0ICJcbiIsICh1aW50NjRfdClzLT5hcGljYmFzZSk7CiAj ZW5kaWYKICAgICByZXR1cm4gcy0+YXBpY2Jhc2U7CiB9CiAKLXZvaWQgY3B1X3NldF9hcGljX3Rw cihDUFVYODZTdGF0ZSAqZW52LCB1aW50OF90IHZhbCkKK3ZvaWQgY3B1X3NldF9hcGljX3Rwcih2 b2lkICpvcGFxdWUsIHVpbnQ4X3QgdmFsKQogewotICAgIEFQSUNTdGF0ZSAqcyA9IGVudi0+YXBp Y19zdGF0ZTsKKyAgICBBUElDU3RhdGUgKnMgPSBvcGFxdWU7CiAgICAgcy0+dHByID0gKHZhbCAm IDB4MGYpIDw8IDQ7CiAgICAgYXBpY191cGRhdGVfaXJxKHMpOwogfQogCi11aW50OF90IGNwdV9n ZXRfYXBpY190cHIoQ1BVWDg2U3RhdGUgKmVudikKK3VpbnQ4X3QgY3B1X2dldF9hcGljX3Rwcih2 b2lkICpvcGFxdWUpCiB7Ci0gICAgQVBJQ1N0YXRlICpzID0gZW52LT5hcGljX3N0YXRlOworICAg IEFQSUNTdGF0ZSAqcyA9IG9wYXF1ZTsKICAgICByZXR1cm4gcy0+dHByID4+IDQ7CiB9CiAKQEAg LTQ4NSw5ICs0ODQsOSBAQAogICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlcl9tb2RlKTsKIH0K IAotaW50IGFwaWNfZ2V0X2ludGVycnVwdChDUFVTdGF0ZSAqZW52KQoraW50IGFwaWNfZ2V0X2lu dGVycnVwdCh2b2lkICpvcGFxdWUpCiB7Ci0gICAgQVBJQ1N0YXRlICpzID0gZW52LT5hcGljX3N0 YXRlOworICAgIEFQSUNTdGF0ZSAqcyA9IG9wYXF1ZTsKICAgICBpbnQgaW50bm87CiAKICAgICAv KiBpZiB0aGUgQVBJQyBpcyBpbnN0YWxsZWQgb3IgZW5hYmxlZCwgd2UgbGV0IHRoZSA4MjU5IGhh bmRsZSB0aGUKQEAgLTUwOSw5ICs1MDgsOSBAQAogICAgIHJldHVybiBpbnRubzsKIH0KIAotaW50 IGFwaWNfYWNjZXB0X3BpY19pbnRyKENQVVN0YXRlICplbnYpCitpbnQgYXBpY19hY2NlcHRfcGlj X2ludHIodm9pZCAqb3BhcXVlKQogewotICAgIEFQSUNTdGF0ZSAqcyA9IGVudi0+YXBpY19zdGF0 ZTsKKyAgICBBUElDU3RhdGUgKnMgPSBvcGFxdWU7CiAgICAgdWludDMyX3QgbHZ0MDsKIAogICAg IGlmICghcykKQEAgLTU3Myw3ICs1NzIsNyBAQAogewogICAgIEFQSUNTdGF0ZSAqcyA9IG9wYXF1 ZTsKIAotICAgIGFwaWNfbG9jYWxfZGVsaXZlcihzLT5jcHVfZW52LCBBUElDX0xWVF9USU1FUik7 CisgICAgYXBpY19sb2NhbF9kZWxpdmVyKHMsIEFQSUNfTFZUX1RJTUVSKTsKICAgICBhcGljX3Rp bWVyX3VwZGF0ZShzLCBzLT5uZXh0X3RpbWUpOwogfQogCkluZGV4OiBxZW11L2h3L3BjLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L3BjLmMJMjAwOC0xMS0wMSAxNTo0MjowNi4wMDAwMDAw MDAgKzAwMDAKKysrIHFlbXUvaHcvcGMuYwkyMDA4LTExLTAxIDE1OjUxOjU4LjAwMDAwMDAwMCAr MDAwMApAQCAtMTA0LDcgKzEwNCw3IEBACiB7CiAgICAgaW50IGludG5vOwogCi0gICAgaW50bm8g PSBhcGljX2dldF9pbnRlcnJ1cHQoZW52KTsKKyAgICBpbnRubyA9IGFwaWNfZ2V0X2ludGVycnVw dChlbnYtPmFwaWNfc3RhdGUpOwogICAgIGlmIChpbnRubyA+PSAwKSB7CiAgICAgICAgIC8qIHNl dCBpcnEgcmVxdWVzdCBpZiBhIFBJQyBpcnEgaXMgc3RpbGwgcGVuZGluZyAqLwogICAgICAgICAv KiBYWFg6IGltcHJvdmUgdGhhdCAqLwpAQCAtMTEyLDcgKzExMiw3IEBACiAgICAgICAgIHJldHVy biBpbnRubzsKICAgICB9CiAgICAgLyogcmVhZCB0aGUgaXJxIGZyb20gdGhlIFBJQyAqLwotICAg IGlmICghYXBpY19hY2NlcHRfcGljX2ludHIoZW52KSkKKyAgICBpZiAoIWFwaWNfYWNjZXB0X3Bp Y19pbnRyKGVudi0+YXBpY19zdGF0ZSkpCiAgICAgICAgIHJldHVybiAtMTsKIAogICAgIGludG5v ID0gcGljX3JlYWRfaXJxKGlzYV9waWMpOwpAQCAtMTI1LDggKzEyNSw4IEBACiAKICAgICBpZiAo ZW52LT5hcGljX3N0YXRlKSB7CiAgICAgICAgIHdoaWxlIChlbnYpIHsKLSAgICAgICAgICAgIGlm IChhcGljX2FjY2VwdF9waWNfaW50cihlbnYpKQotICAgICAgICAgICAgICAgIGFwaWNfZGVsaXZl cl9waWNfaW50cihlbnYsIGxldmVsKTsKKyAgICAgICAgICAgIGlmIChhcGljX2FjY2VwdF9waWNf aW50cihlbnYtPmFwaWNfc3RhdGUpKQorICAgICAgICAgICAgICAgIGFwaWNfZGVsaXZlcl9waWNf aW50cihlbnYtPmFwaWNfc3RhdGUsIGxldmVsKTsKICAgICAgICAgICAgIGVudiA9IGVudi0+bmV4 dF9jcHU7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewpJbmRleDogcWVtdS9ody9wYy5oCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIHFlbXUub3JpZy9ody9wYy5oCTIwMDgtMTEtMDEgMTU6NDI6MDYuMDAwMDAwMDAw ICswMDAwCisrKyBxZW11L2h3L3BjLmgJMjAwOC0xMS0wMSAxNTo1MTo0My4wMDAwMDAwMDAgKzAw MDAKQEAgLTQyLDkgKzQyLDkgQEAKIAogaW50IGFwaWNfaW5pdChDUFVTdGF0ZSAqZW52LCBxZW11 X2lycSAqY3B1X1NJUEksIHFlbXVfaXJxIGNwdV9yZXNldCwKICAgICAgICAgICAgICAgcWVtdV9p cnEgY3B1X05NSSwgcWVtdV9pcnEgY3B1X1NNSSwgcWVtdV9pcnEgY3B1X0hXSU5UKTsKLWludCBh cGljX2FjY2VwdF9waWNfaW50cihDUFVTdGF0ZSAqZW52KTsKLXZvaWQgYXBpY19kZWxpdmVyX3Bp Y19pbnRyKENQVVN0YXRlICplbnYsIGludCBsZXZlbCk7Ci1pbnQgYXBpY19nZXRfaW50ZXJydXB0 KENQVVN0YXRlICplbnYpOworaW50IGFwaWNfYWNjZXB0X3BpY19pbnRyKHZvaWQgKm9wYXF1ZSk7 Cit2b2lkIGFwaWNfZGVsaXZlcl9waWNfaW50cih2b2lkICpvcGFxdWUsIGludCBsZXZlbCk7Citp bnQgYXBpY19nZXRfaW50ZXJydXB0KHZvaWQgKm9wYXF1ZSk7CiBJT0FQSUNTdGF0ZSAqaW9hcGlj X2luaXQodm9pZCk7CiB2b2lkIGlvYXBpY19zZXRfaXJxKHZvaWQgKm9wYXF1ZSwgaW50IHZlY3Rv ciwgaW50IGxldmVsKTsKIApJbmRleDogcWVtdS90YXJnZXQtaTM4Ni9jcHUuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBxZW11Lm9yaWcvdGFyZ2V0LWkzODYvY3B1LmgJMjAwOC0xMS0wMSAxNTo0MjoxNy4wMDAw MDAwMDAgKzAwMDAKKysrIHFlbXUvdGFyZ2V0LWkzODYvY3B1LmgJMjAwOC0xMS0wMSAxNjowMDow MC4wMDAwMDAwMDAgKzAwMDAKQEAgLTYxMiw3ICs2MTIsNyBAQAogI2VuZGlmCiAgICAgLyogaW4g b3JkZXIgdG8gc2ltcGxpZnkgQVBJQyBzdXBwb3J0LCB3ZSBsZWF2ZSB0aGlzIHBvaW50ZXIgdG8g dGhlCiAgICAgICAgdXNlciAqLwotICAgIHN0cnVjdCBBUElDU3RhdGUgKmFwaWNfc3RhdGU7Cisg ICAgdm9pZCAqYXBpY19zdGF0ZTsKIH0gQ1BVWDg2U3RhdGU7CiAKIENQVVg4NlN0YXRlICpjcHVf eDg2X2luaXQoY29uc3QgY2hhciAqY3B1X21vZGVsKTsKQEAgLTcxMiwxMSArNzEyLDExIEBACiAK IHVpbnQ2NF90IGNwdV9nZXRfdHNjKENQVVg4NlN0YXRlICplbnYpOwogCi12b2lkIGNwdV9zZXRf YXBpY19iYXNlKENQVVg4NlN0YXRlICplbnYsIHVpbnQ2NF90IHZhbCk7Ci11aW50NjRfdCBjcHVf Z2V0X2FwaWNfYmFzZShDUFVYODZTdGF0ZSAqZW52KTsKLXZvaWQgY3B1X3NldF9hcGljX3RwcihD UFVYODZTdGF0ZSAqZW52LCB1aW50OF90IHZhbCk7Cit2b2lkIGNwdV9zZXRfYXBpY19iYXNlKHZv aWQgKm9wYXF1ZSwgdWludDY0X3QgdmFsKTsKK3VpbnQ2NF90IGNwdV9nZXRfYXBpY19iYXNlKHZv aWQgKm9wYXF1ZSk7Cit2b2lkIGNwdV9zZXRfYXBpY190cHIodm9pZCAqb3BhcXVlLCB1aW50OF90 IHZhbCk7CiAjaWZuZGVmIE5PX0NQVV9JT19ERUZTCi11aW50OF90IGNwdV9nZXRfYXBpY190cHIo Q1BVWDg2U3RhdGUgKmVudik7Cit1aW50OF90IGNwdV9nZXRfYXBpY190cHIodm9pZCAqb3BhcXVl KTsKICNlbmRpZgogdm9pZCBjcHVfc21tX3VwZGF0ZShDUFVYODZTdGF0ZSAqZW52KTsKIApJbmRl eDogcWVtdS90YXJnZXQtaTM4Ni9vcF9oZWxwZXIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcv dGFyZ2V0LWkzODYvb3BfaGVscGVyLmMJMjAwOC0xMS0wMSAxNTo1NDo0Ny4wMDAwMDAwMDAgKzAw MDAKKysrIHFlbXUvdGFyZ2V0LWkzODYvb3BfaGVscGVyLmMJMjAwOC0xMS0wMSAxNjowMToxNC4w MDAwMDAwMDAgKzAwMDAKQEAgLTMwMzYsNyArMzAzNiw3IEBACiAgICAgICAgIGJyZWFrOwogICAg IGNhc2UgODoKICAgICAgICAgaWYgKCEoZW52LT5oZmxhZ3MyICYgSEYyX1ZJTlRSX01BU0spKSB7 Ci0gICAgICAgICAgICB2YWwgPSBjcHVfZ2V0X2FwaWNfdHByKGVudik7CisgICAgICAgICAgICB2 YWwgPSBjcHVfZ2V0X2FwaWNfdHByKGVudi0+YXBpY19zdGF0ZSk7CiAgICAgICAgIH0gZWxzZSB7 CiAgICAgICAgICAgICB2YWwgPSBlbnYtPnZfdHByOwogICAgICAgICB9CkBAIC0zMDYwLDcgKzMw NjAsNyBAQAogICAgICAgICBicmVhazsKICAgICBjYXNlIDg6CiAgICAgICAgIGlmICghKGVudi0+ aGZsYWdzMiAmIEhGMl9WSU5UUl9NQVNLKSkgewotICAgICAgICAgICAgY3B1X3NldF9hcGljX3Rw cihlbnYsIHQwKTsKKyAgICAgICAgICAgIGNwdV9zZXRfYXBpY190cHIoZW52LT5hcGljX3N0YXRl LCB0MCk7CiAgICAgICAgIH0KICAgICAgICAgZW52LT52X3RwciA9IHQwICYgMHgwZjsKICAgICAg ICAgYnJlYWs7CkBAIC0zMTUwLDcgKzMxNTAsOSBAQAogICAgICAgICBlbnYtPnN5c2VudGVyX2Vp cCA9IHZhbDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNU1JfSUEzMl9BUElDQkFTRToKLSAg ICAgICAgY3B1X3NldF9hcGljX2Jhc2UoZW52LCB2YWwpOworICAgICAgICBjcHVfc2V0X2FwaWNf YmFzZShlbnYtPmFwaWNfc3RhdGUsIHZhbCk7CisgICAgICAgIGlmICghKHZhbCAmIE1TUl9JQTMy X0FQSUNCQVNFX0VOQUJMRSkpCisgICAgICAgICAgICBlbnYtPmNwdWlkX2ZlYXR1cmVzICY9IH5D UFVJRF9BUElDOwogICAgICAgICBicmVhazsKICAgICBjYXNlIE1TUl9FRkVSOgogICAgICAgICB7 CkBAIC0zMjIyLDcgKzMyMjQsNyBAQAogICAgICAgICB2YWwgPSBlbnYtPnN5c2VudGVyX2VpcDsK ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNU1JfSUEzMl9BUElDQkFTRToKLSAgICAgICAgdmFs ID0gY3B1X2dldF9hcGljX2Jhc2UoZW52KTsKKyAgICAgICAgdmFsID0gY3B1X2dldF9hcGljX2Jh c2UoZW52LT5hcGljX3N0YXRlKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNU1JfRUZFUjoK ICAgICAgICAgdmFsID0gZW52LT5lZmVyOwo= ------=_Part_51451_29082864.1225556728276 Content-Type: plain/text; name=suppress_apic_env_use_accessors.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fn0gptoq Content-Disposition: attachment; filename=suppress_apic_env_use_accessors.diff SW5kZXg6IHFlbXUvaHcvYXBpYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9hcGljLmMJ MjAwOC0xMS0wMSAxNjowMzozOC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvYXBpYy5jCTIw MDgtMTEtMDEgMTY6MDk6NTUuMDAwMDAwMDAwICswMDAwCkBAIC02Nyw3ICs2Nyw2IEBACiAjZGVm aW5lIE1BWF9BUElDX1dPUkRTIDgKIAogdHlwZWRlZiBzdHJ1Y3QgQVBJQ1N0YXRlIHsKLSAgICBD UFVTdGF0ZSAqY3B1X2VudjsKICAgICB1aW50MzJfdCBhcGljYmFzZTsKICAgICB1aW50OF90IGlk OwogICAgIHVpbnQ4X3QgYXJiX2lkOwpAQCAtMzA0LDYgKzMwMywxMiBAQAogICAgIHJldHVybiBz LT50cHIgPj4gNDsKIH0KIAordWludDhfdCBjcHVfZ2V0X2FwaWNfaWQodm9pZCAqb3BhcXVlKQor eworICAgIEFQSUNTdGF0ZSAqcyA9IG9wYXF1ZTsKKyAgICByZXR1cm4gcy0+aWQ7Cit9CisKIC8q IHJldHVybiAtMSBpZiBubyBiaXQgaXMgc2V0ICovCiBzdGF0aWMgaW50IGdldF9oaWdoZXN0X3By aW9yaXR5X2ludCh1aW50MzJfdCAqdGFiKQogewpAQCAtNTk2LDE2ICs2MDEsMTAgQEAKIAogc3Rh dGljIHVpbnQzMl90IGFwaWNfbWVtX3JlYWRsKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRk cl90IGFkZHIpCiB7Ci0gICAgQ1BVU3RhdGUgKmVudjsKLSAgICBBUElDU3RhdGUgKnM7CisgICAg QVBJQ1N0YXRlICpzID0gb3BhcXVlOwogICAgIHVpbnQzMl90IHZhbDsKICAgICBpbnQgaW5kZXg7 CiAKLSAgICBlbnYgPSBjcHVfc2luZ2xlX2VudjsKLSAgICBpZiAoIWVudikKLSAgICAgICAgcmV0 dXJuIDA7Ci0gICAgcyA9IGVudi0+YXBpY19zdGF0ZTsKLQogICAgIGluZGV4ID0gKGFkZHIgPj4g NCkgJiAweGZmOwogICAgIHN3aXRjaChpbmRleCkgewogICAgIGNhc2UgMHgwMjogLyogaWQgKi8K QEAgLTY3NywxNSArNjc2LDkgQEAKIAogc3RhdGljIHZvaWQgYXBpY19tZW1fd3JpdGVsKHZvaWQg Km9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHZhbCkKIHsKLSAgICBD UFVTdGF0ZSAqZW52OwotICAgIEFQSUNTdGF0ZSAqczsKKyAgICBBUElDU3RhdGUgKnMgPSBvcGFx dWU7CiAgICAgaW50IGluZGV4OwogCi0gICAgZW52ID0gY3B1X3NpbmdsZV9lbnY7Ci0gICAgaWYg KCFlbnYpCi0gICAgICAgIHJldHVybjsKLSAgICBzID0gZW52LT5hcGljX3N0YXRlOwotCiAjaWZk ZWYgREVCVUdfQVBJQwogICAgIHByaW50ZigiQVBJQyB3cml0ZTogJTA4eCA9ICUwOHhcbiIsICh1 aW50MzJfdClhZGRyLCB2YWwpOwogI2VuZGlmCkBAIC04NjEsMjAgKzg1NCwxNyBAQAogICAgIGFw aWNfbWVtX3dyaXRlbCwKIH07CiAKLWludCBhcGljX2luaXQoQ1BVU3RhdGUgKmVudiwgcWVtdV9p cnEgKmNwdV9TSVBJLCBxZW11X2lycSBjcHVfcmVzZXQsCi0gICAgICAgICAgICAgIHFlbXVfaXJx IGNwdV9OTUksIHFlbXVfaXJxIGNwdV9TTUksIHFlbXVfaXJxIGNwdV9IV0lOVCkKK3ZvaWQgKmFw aWNfaW5pdChxZW11X2lycSAqY3B1X1NJUEksIHFlbXVfaXJxIGNwdV9yZXNldCwgcWVtdV9pcnEg Y3B1X05NSSwKKyAgICAgICAgICAgICAgICBxZW11X2lycSBjcHVfU01JLCBxZW11X2lycSBjcHVf SFdJTlQpCiB7CiAgICAgQVBJQ1N0YXRlICpzOwogCiAgICAgaWYgKGxhc3RfYXBpY19pZCA+PSBN QVhfQVBJQ1MpCi0gICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAg cyA9IHFlbXVfbWFsbG9jeihzaXplb2YoQVBJQ1N0YXRlKSk7CiAgICAgaWYgKCFzKQotICAgICAg ICByZXR1cm4gLTE7Ci0gICAgZW52LT5hcGljX3N0YXRlID0gczsKKyAgICAgICAgcmV0dXJuIHM7 CiAgICAgcy0+aWQgPSBsYXN0X2FwaWNfaWQrKzsKLSAgICBlbnYtPmNwdWlkX2FwaWNfaWQgPSBz LT5pZDsKLSAgICBzLT5jcHVfZW52ID0gZW52OwogCiAgICAgcy0+Y3B1X1NJUEkgPSBjcHVfU0lQ STsKICAgICBzLT5jcHVfcmVzZXQgPSBjcHVfcmVzZXQ7CkBAIC04ODgsNyArODc4LDcgQEAKICAg ICAgICAgLyogTk9URTogdGhlIEFQSUMgaXMgZGlyZWN0bHkgY29ubmVjdGVkIHRvIHRoZSBDUFUg LSBpdCBpcyBub3QKICAgICAgICAgICAgb24gdGhlIGdsb2JhbCBtZW1vcnkgYnVzLiAqLwogICAg ICAgICBhcGljX2lvX21lbW9yeSA9IGNwdV9yZWdpc3Rlcl9pb19tZW1vcnkoMCwgYXBpY19tZW1f cmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFw aWNfbWVtX3dyaXRlLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFwaWNfbWVtX3dyaXRlLCBzKTsKICAgICAgICAgY3B1X3JlZ2lzdGVyX3Bo eXNpY2FsX21lbW9yeShzLT5hcGljYmFzZSAmIH4weGZmZiwgMHgxMDAwLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFwaWNfaW9fbWVtb3J5KTsKICAgICB9CkBAIC04OTgs NyArODg4LDcgQEAKICAgICBxZW11X3JlZ2lzdGVyX3Jlc2V0KGFwaWNfcmVzZXQsIHMpOwogCiAg ICAgbG9jYWxfYXBpY3Nbcy0+aWRdID0gczsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gczsK IH0KIAogc3RhdGljIHZvaWQgaW9hcGljX3NlcnZpY2UoSU9BUElDU3RhdGUgKnMpCkluZGV4OiBx ZW11L2h3L3BjLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L3BjLmMJMjAwOC0xMS0wMSAx NjowNTozMC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvcGMuYwkyMDA4LTExLTAxIDE2OjEx OjMwLjAwMDAwMDAwMCArMDAwMApAQCAtODI3LDYgKzgyNyw4IEBACiAgICAgfQogICAgIAogICAg IGZvcihpID0gMDsgaSA8IHNtcF9jcHVzOyBpKyspIHsKKyAgICAgICAgdm9pZCAqY3B1X2FwaWM7 CisKICAgICAgICAgZW52ID0gY3B1X2luaXQoY3B1X21vZGVsKTsKICAgICAgICAgaWYgKCFlbnYp IHsKICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5hYmxlIHRvIGZpbmQgeDg2IENQVSBk ZWZpbml0aW9uXG4iKTsKQEAgLTg0NSw4ICs4NDcsMTEgQEAKICAgICAgICAgY3B1X1NNSXNbaV0g PSBxZW11X2FsbG9jYXRlX2lycXMoY3B1X3NldF9TTUksIGVudiwgMSk7CiAgICAgICAgIGNwdV9I V0lOVHNbaV0gPSBxZW11X2FsbG9jYXRlX2lycXMoY3B1X3NldF9IV0lOVCwgZW52LCAxKTsKICAg ICAgICAgaWYgKHBjaV9lbmFibGVkKSB7Ci0gICAgICAgICAgICBhcGljX2luaXQoZW52LCBjcHVf U0lQSVtpXSwgY3B1X3Jlc2V0c1tpXVswXSwgY3B1X05NSXNbaV1bMF0sCi0gICAgICAgICAgICAg ICAgICAgICAgY3B1X1NNSXNbaV1bMF0sIGNwdV9IV0lOVHNbaV1bMF0pOworICAgICAgICAgICAg Y3B1X2FwaWMgPSBhcGljX2luaXQoY3B1X1NJUElbaV0sIGNwdV9yZXNldHNbaV1bMF0sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVfTk1Jc1tpXVswXSwgY3B1X1NNSXNbaV1b MF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHVfSFdJTlRzW2ldWzBdKTsK KyAgICAgICAgICAgIGVudi0+YXBpY19zdGF0ZSA9IGNwdV9hcGljOworICAgICAgICAgICAgZW52 LT5jcHVpZF9hcGljX2lkID0gY3B1X2dldF9hcGljX2lkKGNwdV9hcGljKTsKICAgICAgICAgfQog ICAgIH0KIApJbmRleDogcWVtdS9ody9wYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody9w Yy5oCTIwMDgtMTEtMDEgMTY6MDU6MzAuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L3BjLmgJ MjAwOC0xMS0wMSAxNjoxMToxMS4wMDAwMDAwMDAgKzAwMDAKQEAgLTQwLDExICs0MCwxMiBAQAog LyogQVBJQyAqLwogdHlwZWRlZiBzdHJ1Y3QgSU9BUElDU3RhdGUgSU9BUElDU3RhdGU7CiAKLWlu dCBhcGljX2luaXQoQ1BVU3RhdGUgKmVudiwgcWVtdV9pcnEgKmNwdV9TSVBJLCBxZW11X2lycSBj cHVfcmVzZXQsCi0gICAgICAgICAgICAgIHFlbXVfaXJxIGNwdV9OTUksIHFlbXVfaXJxIGNwdV9T TUksIHFlbXVfaXJxIGNwdV9IV0lOVCk7Cit2b2lkICphcGljX2luaXQocWVtdV9pcnEgKmNwdV9T SVBJLCBxZW11X2lycSBjcHVfcmVzZXQsIHFlbXVfaXJxIGNwdV9OTUksCisgICAgICAgICAgICAg ICAgcWVtdV9pcnEgY3B1X1NNSSwgcWVtdV9pcnEgY3B1X0hXSU5UKTsKIGludCBhcGljX2FjY2Vw dF9waWNfaW50cih2b2lkICpvcGFxdWUpOwogdm9pZCBhcGljX2RlbGl2ZXJfcGljX2ludHIodm9p ZCAqb3BhcXVlLCBpbnQgbGV2ZWwpOwogaW50IGFwaWNfZ2V0X2ludGVycnVwdCh2b2lkICpvcGFx dWUpOwordWludDhfdCBjcHVfZ2V0X2FwaWNfaWQodm9pZCAqb3BhcXVlKTsKIElPQVBJQ1N0YXRl ICppb2FwaWNfaW5pdCh2b2lkKTsKIHZvaWQgaW9hcGljX3NldF9pcnEodm9pZCAqb3BhcXVlLCBp bnQgdmVjdG9yLCBpbnQgbGV2ZWwpOwogCg== ------=_Part_51451_29082864.1225556728276--