From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 5/5] x86/hvm: Improve physdev_op hypercall dispatching Date: Mon, 13 Feb 2017 13:03:48 +0000 Message-ID: <1486991028-31097-6-git-send-email-andrew.cooper3@citrix.com> References: <1486991028-31097-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1486991028-31097-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org aHZtX3BoeXNkZXZfb3AoKSBhbmQgaHZtX3BoeXNkZXZfb3BfY29tcGF0MzIoKSBhcmUgYWxtb3N0 IGlkZW50aWNhbCwgYnV0IHRoZXJlCmlzIG5vIG5lZWQgdG8gaGF2ZSB0d28gZnVuY3Rpb25zIGlu c3RhbnRpYXRlZCBhdCB0aGUgZW5kIG9mIGRpZmZlcmVudCBmdW5jdGlvbgpwb2ludGVycy4KCkNv bWJpbmUgdGhlIHR3byBpbnRvIGEgc2luZ2xlIGh2bV9waHlzZGV2X29wKCkgYW5kIGRpc3BhdGNo IHRvCntkbyxjb21wYXR9X3BoeXNkZXZfb3AoKSBiYXNlZCBvbiB0aGUgaGNhbGxfNjRiaXQgc2V0 dGluZy4KClRoaXMgYWxzbyBmaXhlcyBhbiBpbmNvbnNpc3RlbmN5IHdoZXJlIDY0Yml0IFBWSCBo YXJkd2FyZSBkb21haW5zIHdlcmUKcGVybWl0dGVkIGFjY2VzcyB0byBleHRyYSBwaHlzZGV2IG9w cywgYnV0IDMyYml0IGRvbWFpbnMgd2VyZW4ndC4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVs aWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMgfCAzMyArKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlv bnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHlw ZXJjYWxsLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jCmluZGV4IDE0MDY3NmQuLjQ2 YWFkNGUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMKKysrIGIveGVu L2FyY2gveDg2L2h2bS9oeXBlcmNhbGwuYwpAQCAtNzMsMTAgKzczLDEyIEBAIHN0YXRpYyBsb25n IGh2bV9ncmFudF90YWJsZV9vcCgKIAogc3RhdGljIGxvbmcgaHZtX3BoeXNkZXZfb3AoaW50IGNt ZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiB7CisgICAgc3RydWN0IHZjcHUg KmN1cnIgPSBjdXJyZW50OworCiAgICAgc3dpdGNoICggY21kICkKICAgICB7CiAgICAgZGVmYXVs dDoKLSAgICAgICAgaWYgKCAhaXNfcHZoX3ZjcHUoY3VycmVudCkgfHwgIWlzX2hhcmR3YXJlX2Rv bWFpbihjdXJyZW50LT5kb21haW4pICkKKyAgICAgICAgaWYgKCAhaXNfcHZoX3ZjcHUoY3Vycikg fHwgIWlzX2hhcmR3YXJlX2RvbWFpbihjdXJyLT5kb21haW4pICkKICAgICAgICAgICAgIHJldHVy biAtRU5PU1lTOwogICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KICAgICBjYXNlIFBIWVNERVZP UF9tYXBfcGlycToKQEAgLTg0LDI2ICs4NiwxMyBAQCBzdGF0aWMgbG9uZyBodm1fcGh5c2Rldl9v cChpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKICAgICBjYXNlIFBI WVNERVZPUF9lb2k6CiAgICAgY2FzZSBQSFlTREVWT1BfaXJxX3N0YXR1c19xdWVyeToKICAgICBj YXNlIFBIWVNERVZPUF9nZXRfZnJlZV9waXJxOgotICAgICAgICByZXR1cm4gZG9fcGh5c2Rldl9v cChjbWQsIGFyZyk7Ci0gICAgfQotfQotCi1zdGF0aWMgbG9uZyBodm1fcGh5c2Rldl9vcF9jb21w YXQzMigKLSAgICBpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKLXsK LSAgICBzd2l0Y2ggKCBjbWQgKQotICAgIHsKLSAgICAgICAgY2FzZSBQSFlTREVWT1BfbWFwX3Bp cnE6Ci0gICAgICAgIGNhc2UgUEhZU0RFVk9QX3VubWFwX3BpcnE6Ci0gICAgICAgIGNhc2UgUEhZ U0RFVk9QX2VvaToKLSAgICAgICAgY2FzZSBQSFlTREVWT1BfaXJxX3N0YXR1c19xdWVyeToKLSAg ICAgICAgY2FzZSBQSFlTREVWT1BfZ2V0X2ZyZWVfcGlycToKLSAgICAgICAgICAgIHJldHVybiBj b21wYXRfcGh5c2Rldl9vcChjbWQsIGFyZyk7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6 Ci0gICAgICAgICAgICByZXR1cm4gLUVOT1NZUzsKICAgICAgICAgYnJlYWs7CiAgICAgfQorCisg ICAgaWYgKCBjdXJyLT5hcmNoLmh2bV92Y3B1LmhjYWxsXzY0Yml0ICkKKyAgICAgICAgcmV0dXJu IGRvX3BoeXNkZXZfb3AoY21kLCBhcmcpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIGNvbXBh dF9waHlzZGV2X29wKGNtZCwgYXJnKTsKIH0KIAogI2RlZmluZSBIWVBFUkNBTEwoeCkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTExOCwxNSArMTA3LDEzIEBA IHN0YXRpYyBsb25nIGh2bV9waHlzZGV2X29wX2NvbXBhdDMyKAogICAgIFsgX19IWVBFUlZJU09S XyAjIyB4IF0gPSB7IChoeXBlcmNhbGxfZm5fdCAqKSBkb18gIyMgeCwgIFwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoaHlwZXJjYWxsX2ZuX3QgKikgY29tcGF0XyAjIyB4IH0KIAot I2RlZmluZSBkb19waHlzZGV2X29wICAgICAgICAgaHZtX3BoeXNkZXZfb3AKLSNkZWZpbmUgY29t cGF0X3BoeXNkZXZfb3AgICAgIGh2bV9waHlzZGV2X29wX2NvbXBhdDMyCiAjZGVmaW5lIGRvX2Fy Y2hfMSAgICAgICAgICAgICBwYWdpbmdfZG9tY3RsX2NvbnRpbnVhdGlvbgogCiBzdGF0aWMgY29u c3QgaHlwZXJjYWxsX3RhYmxlX3QgaHZtX2h5cGVyY2FsbF90YWJsZVtdID0gewogICAgIEhWTV9D QUxMKG1lbW9yeV9vcCksCiAgICAgSFZNX0NBTEwoZ3JhbnRfdGFibGVfb3ApLAogICAgIENPTVBB VF9DQUxMKHZjcHVfb3ApLAotICAgIENPTVBBVF9DQUxMKHBoeXNkZXZfb3ApLAorICAgIEhWTV9D QUxMKHBoeXNkZXZfb3ApLAogICAgIENPTVBBVF9DQUxMKHhlbl92ZXJzaW9uKSwKICAgICBIWVBF UkNBTEwoY29uc29sZV9pbyksCiAgICAgSFlQRVJDQUxMKGV2ZW50X2NoYW5uZWxfb3ApLApAQCAt MTQ2LDggKzEzMyw2IEBAIHN0YXRpYyBjb25zdCBoeXBlcmNhbGxfdGFibGVfdCBodm1faHlwZXJj YWxsX3RhYmxlW10gPSB7CiAgICAgSFlQRVJDQUxMKGFyY2hfMSkKIH07CiAKLSN1bmRlZiBkb19w aHlzZGV2X29wCi0jdW5kZWYgY29tcGF0X3BoeXNkZXZfb3AKICN1bmRlZiBkb19hcmNoXzEKIAog I3VuZGVmIEhZUEVSQ0FMTAotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK