From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 9/9] x86/hypercall: Reduce the size of the hypercall tables Date: Mon, 18 Jul 2016 10:51:45 +0100 Message-ID: <1468835505-7278-10-git-send-email-andrew.cooper3@citrix.com> References: <1468835505-7278-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: <1468835505-7278-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 VGhlIGhpZ2hlc3QgcG9wdWxhdGVkIGVudHJ5IGluIGVhY2ggaHlwZXJjYWxsIHRhYmxlIGlzIGN1 cnJlbnRseSBhdCBpbmRleCA0OS4KVGhlcmUgaXMgbm8gbmVlZCB0byBleHRlbmQgYm90aCB0byB0 YWJsZXMgdG8gNjQgZW50cmllcy4KClJhbmdlIGNoZWNrIGVheCBhZ2FpbnN0IHRoZSBoeXBlcmNh bGwgdGFibGUgYXJyYXkgc2l6ZSwgYW5kIHVzZSBhCkJVSUxEX0JVR19PTigpIHRvIGVuc3VyZSB0 aGF0IHRoZSBoeXBlcmNhbGwgdGFibGVzIGRvbid0IGdyb3cgbGFyZ2VyIHRoYW4gdGhlCmFyZ3Mg dGFibGUuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KLS0tCiB4ZW4v YXJjaC94ODYvaHZtL2h2bS5jICAgfCAgOCArKysrKystLQogeGVuL2FyY2gveDg2L2h5cGVyY2Fs bC5jIHwgMTQgKysrKysrKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygr KSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIv eGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCAxOThmZTM0Li5kZjE3N2RhIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAg LTQwOTQsNyArNDA5NCw3IEBAIHN0YXRpYyBsb25nIGh2bV9waHlzZGV2X29wX2NvbXBhdDMyKAog I2RlZmluZSBjb21wYXRfZ3JhbnRfdGFibGVfb3AgaHZtX2dyYW50X3RhYmxlX29wX2NvbXBhdDMy CiAjZGVmaW5lIGRvX2FyY2hfMSAgICAgICAgICAgICBwYWdpbmdfZG9tY3RsX2NvbnRpbnVhdGlv bgogCi1zdGF0aWMgY29uc3QgaHlwZXJjYWxsX3RhYmxlX3QgaHZtX2h5cGVyY2FsbF90YWJsZVtO Ul9oeXBlcmNhbGxzXSA9IHsKK3N0YXRpYyBjb25zdCBoeXBlcmNhbGxfdGFibGVfdCBodm1faHlw ZXJjYWxsX3RhYmxlW10gPSB7CiAgICAgQ09NUEFUX0NBTEwobWVtb3J5X29wKSwKICAgICBDT01Q QVRfQ0FMTChncmFudF90YWJsZV9vcCksCiAgICAgQ09NUEFUX0NBTEwodmNwdV9vcCksCkBAIC00 MTUzLDcgKzQxNTMsMTEgQEAgaW50IGh2bV9kb19oeXBlcmNhbGwoc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MpCiAgICAgaWYgKCAoZWF4ICYgMHg4MDAwMDAwMCkgJiYgaXNfdmlyaWRpYW5fZG9t YWluKGN1cnJkKSApCiAgICAgICAgIHJldHVybiB2aXJpZGlhbl9oeXBlcmNhbGwocmVncyk7CiAK LSAgICBpZiAoIChlYXggPj0gTlJfaHlwZXJjYWxscykgfHwgIWh2bV9oeXBlcmNhbGxfdGFibGVb ZWF4XS5uYXRpdmUgKQorICAgIEJVSUxEX0JVR19PTihBUlJBWV9TSVpFKGh2bV9oeXBlcmNhbGxf dGFibGUpID4KKyAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShoeXBlcmNhbGxfYXJnc190YWJs ZSkpOworCisgICAgaWYgKCAoZWF4ID49IEFSUkFZX1NJWkUoaHZtX2h5cGVyY2FsbF90YWJsZSkp IHx8CisgICAgICAgICAhaHZtX2h5cGVyY2FsbF90YWJsZVtlYXhdLm5hdGl2ZSApCiAgICAgewog ICAgICAgICByZWdzLT5lYXggPSAtRU5PU1lTOwogICAgICAgICByZXR1cm4gSFZNX0hDQUxMX2Nv bXBsZXRlZDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9oeXBlcmNhbGwuYyBiL3hlbi9hcmNo L3g4Ni9oeXBlcmNhbGwuYwppbmRleCAzNzNiZWRmLi4xYmYwYTFjIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvaHlwZXJjYWxsLmMKKysrIGIveGVuL2FyY2gveDg2L2h5cGVyY2FsbC5jCkBAIC04 Miw3ICs4Miw3IEBAIGNvbnN0IGh5cGVyY2FsbF9hcmdzX3QgaHlwZXJjYWxsX2FyZ3NfdGFibGVb TlJfaHlwZXJjYWxsc10gPQogCiAjZGVmaW5lIGRvX2FyY2hfMSAgICAgICAgICAgICBwYWdpbmdf ZG9tY3RsX2NvbnRpbnVhdGlvbgogCi1zdGF0aWMgY29uc3QgaHlwZXJjYWxsX3RhYmxlX3QgcHZf aHlwZXJjYWxsX3RhYmxlW05SX2h5cGVyY2FsbHNdID0geworc3RhdGljIGNvbnN0IGh5cGVyY2Fs bF90YWJsZV90IHB2X2h5cGVyY2FsbF90YWJsZVtdID0gewogICAgIENPTVBBVF9DQUxMKHNldF90 cmFwX3RhYmxlKSwKICAgICBIWVBFUkNBTEwobW11X3VwZGF0ZSksCiAgICAgQ09NUEFUX0NBTEwo c2V0X2dkdCksCkBAIC0xNDcsNyArMTQ3LDExIEBAIGxvbmcgcHZfaHlwZXJjYWxsKHN0cnVjdCBj cHVfdXNlcl9yZWdzICpyZWdzKQogCiAgICAgQVNTRVJUKGN1cnItPmFyY2guZmxhZ3MgJiBURl9r ZXJuZWxfbW9kZSk7CiAKLSAgICBpZiAoIChlYXggPj0gTlJfaHlwZXJjYWxscykgfHwgIXB2X2h5 cGVyY2FsbF90YWJsZVtlYXhdLm5hdGl2ZSApCisgICAgQlVJTERfQlVHX09OKEFSUkFZX1NJWkUo cHZfaHlwZXJjYWxsX3RhYmxlKSA+CisgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUoaHlwZXJj YWxsX2FyZ3NfdGFibGUpKTsKKworICAgIGlmICggKGVheCA+PSBBUlJBWV9TSVpFKHB2X2h5cGVy Y2FsbF90YWJsZSkpIHx8CisgICAgICAgICAhcHZfaHlwZXJjYWxsX3RhYmxlW2VheF0ubmF0aXZl ICkKICAgICAgICAgIHJldHVybiAtRU5PU1lTOwogCiAgICAgaWYgKCAhaXNfcHZfMzJiaXRfdmNw dShjdXJyKSApCkBAIC0yNTUsNyArMjU5LDggQEAgdm9pZCBhcmNoX2RvX211bHRpY2FsbF9jYWxs KHN0cnVjdCBtY19zdGF0ZSAqc3RhdGUpCiAgICAgewogICAgICAgICBzdHJ1Y3QgbXVsdGljYWxs X2VudHJ5ICpjYWxsID0gJnN0YXRlLT5jYWxsOwogCi0gICAgICAgIGlmICggKGNhbGwtPm9wIDwg TlJfaHlwZXJjYWxscykgJiYgcHZfaHlwZXJjYWxsX3RhYmxlW2NhbGwtPm9wXS5uYXRpdmUgKQor ICAgICAgICBpZiAoIChjYWxsLT5vcCA8IEFSUkFZX1NJWkUocHZfaHlwZXJjYWxsX3RhYmxlKSkg JiYKKyAgICAgICAgICAgICBwdl9oeXBlcmNhbGxfdGFibGVbY2FsbC0+b3BdLm5hdGl2ZSApCiAg ICAgICAgICAgICBjYWxsLT5yZXN1bHQgPSBwdl9oeXBlcmNhbGxfdGFibGVbY2FsbC0+b3BdLm5h dGl2ZSgKICAgICAgICAgICAgICAgICBjYWxsLT5hcmdzWzBdLCBjYWxsLT5hcmdzWzFdLCBjYWxs LT5hcmdzWzJdLAogICAgICAgICAgICAgICAgIGNhbGwtPmFyZ3NbM10sIGNhbGwtPmFyZ3NbNF0s IGNhbGwtPmFyZ3NbNV0pOwpAQCAtMjY3LDcgKzI3Miw4IEBAIHZvaWQgYXJjaF9kb19tdWx0aWNh bGxfY2FsbChzdHJ1Y3QgbWNfc3RhdGUgKnN0YXRlKQogICAgIHsKICAgICAgICAgc3RydWN0IGNv bXBhdF9tdWx0aWNhbGxfZW50cnkgKmNhbGwgPSAmc3RhdGUtPmNvbXBhdF9jYWxsOwogCi0gICAg ICAgIGlmICggKGNhbGwtPm9wIDwgTlJfaHlwZXJjYWxscykgJiYgcHZfaHlwZXJjYWxsX3RhYmxl W2NhbGwtPm9wXS5jb21wYXQgKQorICAgICAgICBpZiAoIChjYWxsLT5vcCA8IEFSUkFZX1NJWkUo cHZfaHlwZXJjYWxsX3RhYmxlKSkgJiYKKyAgICAgICAgICAgICBwdl9oeXBlcmNhbGxfdGFibGVb Y2FsbC0+b3BdLmNvbXBhdCApCiAgICAgICAgICAgICBjYWxsLT5yZXN1bHQgPSBwdl9oeXBlcmNh bGxfdGFibGVbY2FsbC0+b3BdLmNvbXBhdCgKICAgICAgICAgICAgICAgICBjYWxsLT5hcmdzWzBd LCBjYWxsLT5hcmdzWzFdLCBjYWxsLT5hcmdzWzJdLAogICAgICAgICAgICAgICAgIGNhbGwtPmFy Z3NbM10sIGNhbGwtPmFyZ3NbNF0sIGNhbGwtPmFyZ3NbNV0pOwotLSAKMi4xLjQKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK