From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulpanit Subject: [PATCH v2 08/10] x86/SVM: Add interrupt management code via AVIC Date: Fri, 30 Dec 2016 23:45:59 -0600 Message-ID: <1483163161-2402-9-git-send-email-suravee.suthikulpanit@amd.com> References: <1483163161-2402-1-git-send-email-suravee.suthikulpanit@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483163161-2402-1-git-send-email-suravee.suthikulpanit@amd.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Jan Beulich , andrew.cooper3@citrix.com, Suravee Suthikulpanit , sherry.hurwitz@amd.com, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org RW5hYmxpbmcgQVZJQyBpbXBsaWNpdGx5IGRpc2FibGVzIHRoZSBWX0lSUSwgVl9JTlRSX1BSSU8s IFZfSUdOX1RQUiwKYW5kIFZfSU5UUl9WRUNUT1IgZmllbGRzIGluIHRoZSBWTUNCIENvbnRyb2wg V29yZC4gVGhlcmVmb3JlLCB0aGlzIHBhdGNoCmludHJvZHVjZXMgbmV3IGludGVycnVwdCBpbmpl Y3Rpb24gY29kZSB2aWEgQVZJQyBiYWNraW5nIHBhZ2UuCgpTaWduZWQtb2ZmLWJ5OiBTdXJhdmVl IFN1dGhpa3VscGFuaXQgPHN1cmF2ZWUuc3V0aGlrdWxwYW5pdEBhbWQuY29tPgpDYzogS29ucmFk IFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogSmFuIEJldWxpY2gg PEpCZXVsaWNoQHN1c2UuY29tPgpDYzogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lA b3JhY2xlLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3N2bS9hdmljLmMgICAgICAgIHwgMjgg KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L2h2bS9zdm0vaW50ci5j ICAgICAgICB8ICA0ICsrKysKIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jICAgICAgICAgfCAx MiArKysrKysrKysrLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hdmljLmggfCAgMSAr CiA0IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vYXZpYy5jIGIveGVuL2FyY2gveDg2L2h2bS9z dm0vYXZpYy5jCmluZGV4IDYzNTFjOGUuLmZhYTVlNDUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vc3ZtL2F2aWMuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9hdmljLmMKQEAgLTYz Niw2ICs2MzYsMzQgQEAgdm9pZCBzdm1fYXZpY192bWV4aXRfZG9fbm9hY2NlbChzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncykKICAgICByZXR1cm47CiB9CiAKK3ZvaWQgc3ZtX2F2aWNfZGVsaXZl cl9wb3N0ZWRfaW50cihzdHJ1Y3QgdmNwdSAqdiwgdTggdmVjKQoreworICAgIHN0cnVjdCB2bGFw aWMgKnZsYXBpYyA9IHZjcHVfdmxhcGljKHYpOworCisgICAgLyogRmFsbGJhY2sgdG8gdXNlIG5v bi1BVklDIGlmIHZjcHUgaXMgbm90IGVuYWJsZWQgd2l0aCBBVklDLiAqLworICAgIGlmICggIXN2 bV9hdmljX3ZjcHVfZW5hYmxlZCh2KSApCisgICAgeworICAgICAgICBpZiAoICF2bGFwaWNfdGVz dF9hbmRfc2V0X3ZlY3Rvcih2ZWMsICZ2bGFwaWMtPnJlZ3MtPmRhdGFbQVBJQ19JUlJdKSApCisg ICAgICAgICAgICB2Y3B1X2tpY2sodik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBp ZiAoICEoZ3Vlc3RfY3B1X3VzZXJfcmVncygpLT5lZmxhZ3MgJiBYODZfRUZMQUdTX0lGKSApCisg ICAgICAgIHJldHVybjsKKworICAgIGlmICggdmxhcGljX3Rlc3RfYW5kX3NldF92ZWN0b3IodmVj LCAmdmxhcGljLT5yZWdzLT5kYXRhW0FQSUNfSVJSXSkgKQorICAgICAgICByZXR1cm47CisKKyAg ICAvKgorICAgICAqIElmIHZjcHUgaXMgcnVubmluZyBvbiBhbm90aGVyIGNwdSwgaGl0IHRoZSBk b29yYmVsbCB0byBzaWduYWwKKyAgICAgKiBpdCB0byBwcm9jZXNzIGludGVycnVwdC4gT3RoZXJ3 aXNlLCBraWNrIGl0LgorICAgICAqLworICAgIGlmICggdi0+aXNfcnVubmluZyAmJiAodiAhPSBj dXJyZW50KSApCisgICAgICAgIHdybXNybChBVklDX0RPT1JCRUxMLCBjcHVfZGF0YVt2LT5wcm9j ZXNzb3JdLmFwaWNpZCk7CisgICAgZWxzZQorICAgICAgICB2Y3B1X2tpY2sodik7Cit9CisKIC8q CiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvaHZtL3N2bS9pbnRyLmMgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9pbnRyLmMKaW5kZXggYmQ5 NDczMS4uODc2ZDJhZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vaW50ci5jCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2ludHIuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1 ZGUgPGFzbS9odm0vaW8uaD4KICNpbmNsdWRlIDxhc20vaHZtL3N1cHBvcnQuaD4KICNpbmNsdWRl IDxhc20vaHZtL3ZsYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9odm0vc3ZtL2F2aWMuaD4KICNpbmNs dWRlIDxhc20vaHZtL3N2bS9zdm0uaD4KICNpbmNsdWRlIDxhc20vaHZtL3N2bS9pbnRyLmg+CiAj aW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0uaD4gLyogZm9yIG5lc3RlZGh2bV92Y3B1X2luX2d1 ZXN0bW9kZSAqLwpAQCAtMTAxLDYgKzEwMiw5IEBAIHN0YXRpYyB2b2lkIHN2bV9lbmFibGVfaW50 cl93aW5kb3coc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBodm1faW50YWNrIGludGFjaykKICAgICBI Vk1UUkFDRV8zRChJTlRSX1dJTkRPVywgaW50YWNrLnZlY3RvciwgaW50YWNrLnNvdXJjZSwKICAg ICAgICAgICAgICAgICB2bWNiLT5ldmVudGluai5maWVsZHMudj92bWNiLT5ldmVudGluai5maWVs ZHMudmVjdG9yOi0xKTsKIAorICAgIGlmICggc3ZtX2F2aWNfdmNwdV9lbmFibGVkKHYpICkKKyAg ICAgICAgcmV0dXJuOworCiAgICAgLyoKICAgICAgKiBDcmVhdGUgYSBkdW1teSB2aXJ0dWFsIGlu dGVycnVwdCB0byBpbnRlcmNlcHQgYXMgc29vbiBhcyB0aGUKICAgICAgKiBndWVzdCBjYW4gYWNj ZXB0IHRoZSByZWFsIGludGVycnVwdC4KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vc3Zt L3N2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKaW5kZXggZGY1OWI4ZC4uOTIyZjQ4 ZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKKysrIGIveGVuL2FyY2gv eDg2L2h2bS9zdm0vc3ZtLmMKQEAgLTEwODksNyArMTA4OSw4IEBAIHN0YXRpYyB2b2lkIG5vcmV0 dXJuIHN2bV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIGh2bV9hc2lkX2ZsdXNo X3ZjcHUodik7CiAgICAgfQogCi0gICAgaWYgKCAhdmNwdV9ndWVzdG1vZGUgJiYgIXZsYXBpY19o d19kaXNhYmxlZCh2bGFwaWMpICkKKyAgICBpZiAoICF2Y3B1X2d1ZXN0bW9kZSAmJiAhdmxhcGlj X2h3X2Rpc2FibGVkKHZsYXBpYykgJiYKKyAgICAgICAgICFzdm1fYXZpY192Y3B1X2VuYWJsZWQo dikgKQogICAgIHsKICAgICAgICAgdmludHJfdCBpbnRyOwogCkBAIC0yMzA5LDcgKzIzMTAsOCBA QCB2b2lkIHN2bV92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAg ICAgKiBOQi4gV2UgbmVlZCB0byBwcmVzZXJ2ZSB0aGUgbG93IGJpdHMgb2YgdGhlIFRQUiB0byBt YWtlIGNoZWNrZWQgYnVpbGRzCiAgICAgICogb2YgV2luZG93cyB3b3JrLCBldmVuIHRob3VnaCB0 aGV5IGRvbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nLgogICAgICAqLwotICAgIGlmICggIXZjcHVf Z3Vlc3Rtb2RlICYmICF2bGFwaWNfaHdfZGlzYWJsZWQodmxhcGljKSApCisgICAgaWYgKCAhdmNw dV9ndWVzdG1vZGUgJiYgIXZsYXBpY19od19kaXNhYmxlZCh2bGFwaWMpICYmCisgICAgICAgICAh c3ZtX2F2aWNfdmNwdV9lbmFibGVkKHYpICkKICAgICB7CiAgICAgICAgIGludHIgPSB2bWNiX2dl dF92aW50cih2bWNiKTsKICAgICAgICAgdmxhcGljX3NldF9yZWcodmxhcGljLCBBUElDX1RBU0tQ UkksCkBAIC0yNTAyLDYgKzI1MDQsMTIgQEAgdm9pZCBzdm1fdm1leGl0X2hhbmRsZXIoc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIHUzMiBnZW5lcmFsMV9pbnRlcmNlcHRzID0g dm1jYl9nZXRfZ2VuZXJhbDFfaW50ZXJjZXB0cyh2bWNiKTsKICAgICAgICAgaW50ciA9IHZtY2Jf Z2V0X3ZpbnRyKHZtY2IpOwogCisgICAgICAgIGlmICggc3ZtX2F2aWNfdmNwdV9lbmFibGVkKHYp ICkKKyAgICAgICAgeworICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgIkFWSUMgVklO VFI6XG4iKTsKKyAgICAgICAgICAgIGRvbWFpbl9jcmFzaCh2LT5kb21haW4pOworICAgICAgICB9 CisKICAgICAgICAgaW50ci5maWVsZHMuaXJxID0gMDsKICAgICAgICAgZ2VuZXJhbDFfaW50ZXJj ZXB0cyAmPSB+R0VORVJBTDFfSU5URVJDRVBUX1ZJTlRSOwogCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9hc20teDg2L2h2bS9zdm0vYXZpYy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3Zt L2F2aWMuaAppbmRleCA3ZTBhYmNiLi4xNjc2ZTAxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9zdm0vYXZpYy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9h dmljLmgKQEAgLTQwLDQgKzQwLDUgQEAgaW50IHN2bV9hdmljX2luaXRfdm1jYihzdHJ1Y3QgdmNw dSAqdik7CiB2b2lkIHN2bV9hdmljX3ZtZXhpdF9kb19pbmNvbXBfaXBpKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKTsKIHZvaWQgc3ZtX2F2aWNfdm1leGl0X2RvX25vYWNjZWwoc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpOwogCit2b2lkIHN2bV9hdmljX2RlbGl2ZXJfcG9zdGVkX2ludHIo c3RydWN0IHZjcHUgKnYsIHU4IHZlY3Rvcik7CiAjZW5kaWYgLyogX1NWTV9BVklDX0hfICovCi0t IAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=