From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v2 03/15] xen/x86: allow customizing locations of extended frametable & M2P Date: Mon, 20 Mar 2017 08:09:37 +0800 Message-ID: <20170320000949.24675-4-haozhong.zhang@intel.com> References: <20170320000949.24675-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170320000949.24675-1-haozhong.zhang@intel.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: Konrad Rzeszutek Wilk , Dan Williams , Andrew Cooper , Jan Beulich , Haozhong Zhang List-Id: xen-devel@lists.xenproject.org WGVuIGlzIG5vdCBhd2FyZSB3aGljaCBwb3J0aW9ucyBvZiBwbWVtIGNhbiBiZSB1c2VkIHRvIHN0 b3JlIGl0cwpmcmFtZXRhYmxlIGFuZCBNMlAgdGFibGUuIEluc3RlYWQsIGl0IHdpbGwgcmVseSBv biB1c2VycyBvciBzeXN0ZW0KYWRtaW5zIGluIERvbTAgdG8gc3BlY2lmeSB0aGUgbG9jYXRpb24u IEZvciB0aGUgcmVndWxhciBSQU0sIG5vCmZ1bmN0aW9uYWwgY2hhbmdlIGlzIGludHJvZHVjZWQu CgpTaWduZWQtb2ZmLWJ5OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcuemhhbmdAaW50ZWwuY29t PgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CgpDaGFuZ2VzIGluIHYyOgogKiBNZXJnZSB2 MSBwYXRjaCAxIChmb3IgZnJhbWV0YWJsZSkgYW5kIHYxIHBhdGNoIDIgKGZvciBNMlApLgogKiBB ZGQgY29uc3QgdG8gc29tZSBwYXJhbWV0ZXJzLgogKiBFeHBsYWluIG5ldyBwYXJhbWV0ZXJzIG9m IGV4dGVuZF9mcmFtZV90YWJsZSgpIGFuZCBzZXR1cF9tMnBfdGFibGUoKS4KLS0tCiB4ZW4vYXJj aC94ODYveDg2XzY0L21tLmMgfCA4MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAxOSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMgYi94ZW4vYXJj aC94ODYveDg2XzY0L21tLmMKaW5kZXggMzRmMzI1MGZkNy4uMGYxY2VhY2M2YSAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvbW0u YwpAQCAtMTExLDE1ICsxMTEsMjcgQEAgaW50IGhvdGFkZF9tZW1fdmFsaWQodW5zaWduZWQgbG9u ZyBwZm4sIHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmluZm8pCiAgICAgcmV0dXJuIChwZm4gPCBp bmZvLT5lcGZuICYmIHBmbiA+PSBpbmZvLT5zcGZuKTsKIH0KIAorLyoKKyAqIEFsbG9jYXRlIHBh Z2VzIGluIHRoZSBQRk4gcmFuZ2UgZnJvbSBpbmZvLT5zcGZuIHRvIGluZm8tPmVwZm4uIFRoZQor ICogZmlyc3QgZnJlZSBwYWdlIGlzIGluZGljYXRlZCBieSBpbmZvLT5jdXIuIFRoZSBhbGxvY2F0 aW9uIHVuaXQgaXMKKyAqICgxIDw8IFBBR0VUQUJMRV9PUkRFUikgcGFnZXMuCisgKgorICogT24g c3VjY2VzcywgcmV0dXJuIFBGTiBvZiB0aGUgZmlyc3QgYWxsb2NhdGVkIHBhZ2UuIE90aGVyd2lz ZSwgcmV0dXJuCisgKiBtZm5feChJTlZBTElEX01GTikuCisgKi8KK3R5cGVkZWYgdW5zaWduZWQg bG9uZyAoKm1mbnNfYWxsb2NfZm5fdCkoc3RydWN0IG1lbV9ob3RhZGRfaW5mbyAqaW5mbyk7CisK IHN0YXRpYyB1bnNpZ25lZCBsb25nIGFsbG9jX2hvdGFkZF9tZm4oc3RydWN0IG1lbV9ob3RhZGRf aW5mbyAqaW5mbykKIHsKLSAgICB1bnNpZ25lZCBtZm47CisgICAgdW5zaWduZWQgbG9uZyBtZm47 CiAKLSAgICBBU1NFUlQoKGluZm8tPmN1ciArICggMVVMIDw8IFBBR0VUQUJMRV9PUkRFUikgPCBp bmZvLT5lcGZuKSAmJgotICAgICAgICAgICAgaW5mby0+Y3VyID49IGluZm8tPnNwZm4pOworICAg IGlmICggKGluZm8tPmN1ciArICgxVUwgPDwgUEFHRVRBQkxFX09SREVSKSA+PSBpbmZvLT5lcGZu KSB8fAorICAgICAgICAgaW5mby0+Y3VyIDwgaW5mby0+c3BmbiApCisgICAgICAgIHJldHVybiBt Zm5feChJTlZBTElEX01GTik7CiAKICAgICBtZm4gPSBpbmZvLT5jdXI7CiAgICAgaW5mby0+Y3Vy ICs9ICgxVUwgPDwgUEFHRVRBQkxFX09SREVSKTsKKwogICAgIHJldHVybiBtZm47CiB9CiAKQEAg LTMxMywxMSArMzI1LDEzIEBAIHZvaWQgZGVzdHJveV9tMnBfbWFwcGluZyhzdHJ1Y3QgbWVtX2hv dGFkZF9pbmZvICppbmZvKQogfQogCiAvKgotICogQWxsb2NhdGUgYW5kIG1hcCB0aGUgY29tcGF0 aWJpbGl0eSBtb2RlIG1hY2hpbmUtdG8tcGh5cyB0YWJsZS4KLSAqIHNwZm4vZXBmbjogdGhlIHBm biByYW5nZXMgdG8gYmUgc2V0dXAKLSAqIGZyZWVfcy9mcmVlX2U6IHRoZSBwZm4gcmFuZ2VzIHRo YXQgaXMgZnJlZSBzdGlsbAorICogQWxsb2NhdGUgYW5kIG1hcCB0aGUgY29tcGF0aWJpbGl0eSBt b2RlIG1hY2hpbmUtdG8tcGh5cyB0YWJsZSBmb3IKKyAqIHBhZ2VzIGluZm8tPnNwZm4gfiBpbmZv LT5lcGZuLiBNMlAgaXMgcGxhY2VkIGluIHBhZ2VzIGFsbG9jYXRlZAorICogYnkgYWxsb2NfZm4g ZnJvbSB0aGUgcmFuZ2UgYWxsb2NfaW5mby0+Y3VyIH4gYWxsb2NfaW5mby0+ZXBmbi4KICAqLwot c3RhdGljIGludCBzZXR1cF9jb21wYXRfbTJwX3RhYmxlKHN0cnVjdCBtZW1faG90YWRkX2luZm8g KmluZm8pCitzdGF0aWMgaW50IHNldHVwX2NvbXBhdF9tMnBfdGFibGUoY29uc3Qgc3RydWN0IG1l bV9ob3RhZGRfaW5mbyAqaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt Zm5zX2FsbG9jX2ZuX3QgYWxsb2NfZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IG1lbV9ob3RhZGRfaW5mbyAqYWxsb2NfaW5mbykKIHsKICAgICB1bnNpZ25lZCBs b25nIGksIHZhLCBzbWFwLCBlbWFwLCByd3ZhLCBlcGZuID0gaW5mby0+ZXBmbiwgbWZuOwogICAg IHVuc2lnbmVkIGludCBuOwpAQCAtMzcxLDcgKzM4NSwxMiBAQCBzdGF0aWMgaW50IHNldHVwX2Nv bXBhdF9tMnBfdGFibGUoc3RydWN0IG1lbV9ob3RhZGRfaW5mbyAqaW5mbykKICAgICAgICAgaWYg KCBuID09IENOVCApCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBtZm4gPSBhbGxv Y19ob3RhZGRfbWZuKGluZm8pOworICAgICAgICBtZm4gPSBhbGxvY19mbihhbGxvY19pbmZvKTsK KyAgICAgICAgaWYgKCBtZm4gPT0gbWZuX3goSU5WQUxJRF9NRk4pICkKKyAgICAgICAgeworICAg ICAgICAgICAgZXJyID0gLUVOT01FTTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAg ICAgICAgIGVyciA9IG1hcF9wYWdlc190b194ZW4ocnd2YSwgbWZuLCAxVUwgPDwgUEFHRVRBQkxF X09SREVSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfSFlQRVJWSVNPUik7 CiAgICAgICAgIGlmICggZXJyICkKQEAgLTM4OSw5ICs0MDgsMTQgQEAgc3RhdGljIGludCBzZXR1 cF9jb21wYXRfbTJwX3RhYmxlKHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmluZm8pCiAKIC8qCiAg KiBBbGxvY2F0ZSBhbmQgbWFwIHRoZSBtYWNoaW5lLXRvLXBoeXMgdGFibGUuCi0gKiBUaGUgTDMg Zm9yIFJPL1JXUlcgTVBUIGFuZCB0aGUgTDIgZm9yIGNvbXBhdGlibGUgTVBUIHNob3VsZCBiZSBz ZXR1cCBhbHJlYWR5CisgKiBUaGUgTDMgZm9yIFJPL1JXUlcgTVBUIGFuZCB0aGUgTDIgZm9yIGNv bXBhdGlibGUgTVBUIHNob3VsZCBiZSBzZXR1cCBhbHJlYWR5LgorICoKKyAqIE0yUCBpcyBwbGFj ZWQgaW4gcGFnZXMgYWxsb2NhdGVkIGJ5IGFsbG9jX2ZuIGZyb20gdGhlIHJhbmdlCisgKiBhbGxv Y19pbmZvLT5jdXIgfiBhbGxvY19pbmZvLT5lcGZuLgogICovCi1zdGF0aWMgaW50IHNldHVwX20y cF90YWJsZShzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQorc3RhdGljIGludCBzZXR1cF9t MnBfdGFibGUoY29uc3Qgc3RydWN0IG1lbV9ob3RhZGRfaW5mbyAqaW5mbywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1mbnNfYWxsb2NfZm5fdCBhbGxvY19mbiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmFsbG9jX2luZm8pCiB7CiAgICAg dW5zaWduZWQgbG9uZyBpLCB2YSwgc21hcCwgZW1hcDsKICAgICB1bnNpZ25lZCBpbnQgbjsKQEAg LTQ0MCw3ICs0NjQsMTMgQEAgc3RhdGljIGludCBzZXR1cF9tMnBfdGFibGUoc3RydWN0IG1lbV9o b3RhZGRfaW5mbyAqaW5mbykKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKCBu IDwgQ05UICkKICAgICAgICAgewotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBhbGxv Y19ob3RhZGRfbWZuKGluZm8pOworICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtZm4gPSBhbGxv Y19mbihhbGxvY19pbmZvKTsKKworICAgICAgICAgICAgaWYgKCBtZm4gPT0gbWZuX3goSU5WQUxJ RF9NRk4pICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICByZXQgPSAtRU5PTUVNOwor ICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAg IHJldCA9IG1hcF9wYWdlc190b194ZW4oCiAgICAgICAgICAgICAgICAgICAgICAgICBSRFdSX01Q VF9WSVJUX1NUQVJUICsgaSAqIHNpemVvZih1bnNpZ25lZCBsb25nKSwKQEAgLTQ4NSw3ICs1MTUs NyBAQCBzdGF0aWMgaW50IHNldHVwX20ycF90YWJsZShzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICpp bmZvKQogI3VuZGVmIENOVAogI3VuZGVmIE1GTgogCi0gICAgcmV0ID0gc2V0dXBfY29tcGF0X20y cF90YWJsZShpbmZvKTsKKyAgICByZXQgPSBzZXR1cF9jb21wYXRfbTJwX3RhYmxlKGluZm8sIGFs bG9jX2ZuLCBhbGxvY19pbmZvKTsKIGVycm9yOgogICAgIHJldHVybiByZXQ7CiB9CkBAIC03Njks NyArNzk5LDggQEAgdm9pZCBjbGVhbnVwX2ZyYW1lX3RhYmxlKHN0cnVjdCBtZW1faG90YWRkX2lu Zm8gKmluZm8pCiB9CiAKIHN0YXRpYyBpbnQgc2V0dXBfZnJhbWV0YWJsZV9jaHVuayh2b2lkICpz dGFydCwgdm9pZCAqZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBtZW1faG90YWRkX2luZm8gKmluZm8pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWZuc19hbGxvY19mbl90IGFsbG9jX2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmFsbG9jX2luZm8pCiB7CiAgICAgdW5zaWdu ZWQgbG9uZyBzID0gKHVuc2lnbmVkIGxvbmcpc3RhcnQ7CiAgICAgdW5zaWduZWQgbG9uZyBlID0g KHVuc2lnbmVkIGxvbmcpZW5kOwpAQCAtNzgxLDcgKzgxMiw5IEBAIHN0YXRpYyBpbnQgc2V0dXBf ZnJhbWV0YWJsZV9jaHVuayh2b2lkICpzdGFydCwgdm9pZCAqZW5kLAogCiAgICAgZm9yICggOyBz IDwgZTsgcyArPSAoMVVMIDw8IEwyX1BBR0VUQUJMRV9TSElGVCkpCiAgICAgewotICAgICAgICBt Zm4gPSBhbGxvY19ob3RhZGRfbWZuKGluZm8pOworICAgICAgICBtZm4gPSBhbGxvY19mbihhbGxv Y19pbmZvKTsKKyAgICAgICAgaWYgKCBtZm4gPT0gbWZuX3goSU5WQUxJRF9NRk4pICkKKyAgICAg ICAgICAgIHJldHVybiAtRU5PTUVNOwogICAgICAgICBlcnIgPSBtYXBfcGFnZXNfdG9feGVuKHMs IG1mbiwgMVVMIDw8IFBBR0VUQUJMRV9PUkRFUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQQUdFX0hZUEVSVklTT1IpOwogICAgICAgICBpZiAoIGVyciApCkBAIC03OTIsNyArODI1 LDE0IEBAIHN0YXRpYyBpbnQgc2V0dXBfZnJhbWV0YWJsZV9jaHVuayh2b2lkICpzdGFydCwgdm9p ZCAqZW5kLAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGV4dGVuZF9mcmFtZV90YWJs ZShzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQorLyoKKyAqIENyZWF0ZSBhbmQgbWFwIHRo ZSBmcmFtZSB0YWJsZSBmb3IgcGFnZSByYW5nZXMgaW5mby0+c3BmbiB+CisgKiBpbmZvLT5lcGZu LiBUaGUgZnJhbWUgdGFibGUgaXMgcGxhY2VkIGluIHBhZ2VzIGFsbG9jYXRlZCBieQorICogYWxs b2NfZm4gZnJvbSBwYWdlIHJhbmdlIGFsbG9jX2luZm8tPmN1ciB+IGFsbG9jX2luZm8tPmVwZm4u CisgKi8KK3N0YXRpYyBpbnQgZXh0ZW5kX2ZyYW1lX3RhYmxlKGNvbnN0IHN0cnVjdCBtZW1faG90 YWRkX2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5zX2FsbG9j X2ZuX3QgYWxsb2NfZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWVt X2hvdGFkZF9pbmZvICphbGxvY19pbmZvKQogewogICAgIHVuc2lnbmVkIGxvbmcgY2lkeCwgbmlk eCwgZWlkeCwgc3BmbiwgZXBmbjsKIApAQCAtODE4LDkgKzg1OCw5IEBAIHN0YXRpYyBpbnQgZXh0 ZW5kX2ZyYW1lX3RhYmxlKHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmluZm8pCiAgICAgICAgIG5p ZHggPSBmaW5kX25leHRfYml0KHBkeF9ncm91cF92YWxpZCwgZWlkeCwgY2lkeCk7CiAgICAgICAg IGlmICggbmlkeCA+PSBlaWR4ICkKICAgICAgICAgICAgIG5pZHggPSBlaWR4OwotICAgICAgICBl cnIgPSBzZXR1cF9mcmFtZXRhYmxlX2NodW5rKHBkeF90b19wYWdlKGNpZHggKiBQRFhfR1JPVVBf Q09VTlQgKSwKKyAgICAgICAgZXJyID0gc2V0dXBfZnJhbWV0YWJsZV9jaHVuayhwZHhfdG9fcGFn ZShjaWR4ICogUERYX0dST1VQX0NPVU5UKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwZHhfdG9fcGFnZShuaWR4ICogUERYX0dST1VQX0NPVU5UKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhbGxvY19mbiwgYWxsb2NfaW5mbyk7CiAgICAgICAgIGlmICggZXJyICkK ICAgICAgICAgICAgIHJldHVybiBlcnI7CiAKQEAgLTE0MjIsNyArMTQ2Miw4IEBAIGludCBtZW1v cnlfYWRkKHVuc2lnbmVkIGxvbmcgc3BmbiwgdW5zaWduZWQgbG9uZyBlcGZuLCB1bnNpZ25lZCBp bnQgcHhtKQogICAgIGluZm8uZXBmbiA9IGVwZm47CiAgICAgaW5mby5jdXIgPSBzcGZuOwogCi0g ICAgcmV0ID0gZXh0ZW5kX2ZyYW1lX3RhYmxlKCZpbmZvKTsKKyAgICAvKiBQbGFjZSB0aGUgZnJh bWUgdGFibGUgYXQgdGhlIGJlZ2lubmluZyBvZiBob3RwbHVnZ2VkIG1lbW9yeS4gKi8KKyAgICBy ZXQgPSBleHRlbmRfZnJhbWVfdGFibGUoJmluZm8sIGFsbG9jX2hvdGFkZF9tZm4sICZpbmZvKTsK ICAgICBpZiAocmV0KQogICAgICAgICBnb3RvIGRlc3Ryb3lfZnJhbWV0YWJsZTsKIApAQCAtMTQz NSw3ICsxNDc2LDggQEAgaW50IG1lbW9yeV9hZGQodW5zaWduZWQgbG9uZyBzcGZuLCB1bnNpZ25l ZCBsb25nIGVwZm4sIHVuc2lnbmVkIGludCBweG0pCiAgICAgdG90YWxfcGFnZXMgKz0gZXBmbiAt IHNwZm47CiAKICAgICBzZXRfcGR4X3JhbmdlKHNwZm4sIGVwZm4pOwotICAgIHJldCA9IHNldHVw X20ycF90YWJsZSgmaW5mbyk7CisgICAgLyogUGxhY2UgTTJQIGluIHRoZSBob3RwbHVnZ2VkIG1l bW9yeSBhZnRlciB0aGUgZnJhbWUgdGFibGUuICovCisgICAgcmV0ID0gc2V0dXBfbTJwX3RhYmxl KCZpbmZvLCBhbGxvY19ob3RhZGRfbWZuLCAmaW5mbyk7CiAKICAgICBpZiAoIHJldCApCiAgICAg ICAgIGdvdG8gZGVzdHJveV9tMnA7Ci0tIAoyLjEyLjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK