From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC 39/55] x86: switch root_pgt to mfn_t and use new APIs Date: Thu, 7 Feb 2019 16:44:40 +0000 Message-ID: <20190207164456.9260-40-wei.liu2@citrix.com> References: <20190207164456.9260-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1grn2M-0003FM-Gu for xen-devel@lists.xenproject.org; Thu, 07 Feb 2019 17:00:30 +0000 In-Reply-To: <20190207164456.9260-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhpcyB0aGVuIHJlcXVpcmVzIG1vdmluZyBkZWNsYXJhdGlvbiBvZiByb290IHBhZ2UgdGFibGUg bWZuIGludG8gbW0uaAphbmQgbW9kaWZ5IHNldHVwX2NwdV9yb290X3BndCB0byBoYXZlIGEgc2lu Z2xlIGV4aXQgcGF0aC4KCldlIGFsc28gbmVlZCB0byBmb3JjZSBtYXBfZG9tYWluX3BhZ2UgdG8g dXNlIGRpcmVjdCBtYXAgd2hlbiBzd2l0Y2hpbmcKcGVyLWRvbWFpbiBtYXBwaW5ncy4gVGhpcyBp cyBjb250cmFyeSB0byBvdXIgZW5kIGdvYWwgb2YgcmVtb3ZpbmcKZGlyZWN0IG1hcCwgYnV0IHRo aXMgd2lsbCBiZSByZW1vdmVkIG9uY2Ugd2UgbWFrZSBtYXBfZG9tYWluX3BhZ2UKY29udGV4dC1z d2l0Y2ggc2FmZSBpbiBhbm90aGVyIChsYXJnZSkgcGF0Y2ggc2VyaWVzLgoKU2lnbmVkLW9mZi1i eTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWlu LmMgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluX3Bh Z2UuYyAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICAgICAgICAgfCAgMiAr LQogeGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYv c21wYm9vdC5jICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oICAgICAgICB8ICAyICsrCiB4ZW4vaW5j bHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIHwgIDEgLQogNyBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNl cnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9t YWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggMzJkYzQyNTNmZi4uNjAzNDk1ZTU1 YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9k b21haW4uYwpAQCAtNjgsNiArNjgsNyBAQAogI2luY2x1ZGUgPGFzbS9wdi9kb21haW4uaD4KICNp bmNsdWRlIDxhc20vcHYvbW0uaD4KICNpbmNsdWRlIDxhc20vc3BlY19jdHJsLmg+CisjaW5jbHVk ZSA8YXNtL3NldHVwLmg+CiAKIERFRklORV9QRVJfQ1BVKHN0cnVjdCB2Y3B1ICosIGN1cnJfdmNw dSk7CiAKQEAgLTE1ODksMTIgKzE1OTAsMjAgQEAgdm9pZCBwYXJhdmlydF9jdHh0X3N3aXRjaF9m cm9tKHN0cnVjdCB2Y3B1ICp2KQogCiB2b2lkIHBhcmF2aXJ0X2N0eHRfc3dpdGNoX3RvKHN0cnVj dCB2Y3B1ICp2KQogewotICAgIHJvb3RfcGdlbnRyeV90ICpyb290X3BndCA9IHRoaXNfY3B1KHJv b3RfcGd0KTsKKyAgICBtZm5fdCBycHRfbWZuID0gdGhpc19jcHUocm9vdF9wZ3RfbWZuKTsKIAot ICAgIGlmICggcm9vdF9wZ3QgKQotICAgICAgICByb290X3BndFtyb290X3RhYmxlX29mZnNldChQ RVJET01BSU5fVklSVF9TVEFSVCldID0KKyAgICBpZiAoICFtZm5fZXEocnB0X21mbiwgSU5WQUxJ RF9NRk4pICkKKyAgICB7CisgICAgICAgIHJvb3RfcGdlbnRyeV90ICpycHQ7CisKKyAgICAgICAg bWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVudChJTlZBTElEX1ZDUFUpOworICAgICAgICBycHQgPSBt YXBfeGVuX3BhZ2V0YWJsZV9uZXcocnB0X21mbik7CisgICAgICAgIHJwdFtyb290X3RhYmxlX29m ZnNldChQRVJET01BSU5fVklSVF9TVEFSVCldID0KICAgICAgICAgICAgIGw0ZV9mcm9tX3BhZ2Uo di0+ZG9tYWluLT5hcmNoLnBlcmRvbWFpbl9sM19wZywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgX19QQUdFX0hZUEVSVklTT1JfUlcpOworICAgICAgICBVTk1BUF9YRU5fUEFHRVRBQkxFX05F VyhycHQpOworICAgICAgICBtYXBjYWNoZV9vdmVycmlkZV9jdXJyZW50KE5VTEwpOworICAgIH0K IAogICAgIGlmICggdW5saWtlbHkodi0+YXJjaC5kcjcgJiBEUjdfQUNUSVZFX01BU0spICkKICAg ICAgICAgYWN0aXZhdGVfZGVidWdyZWdzKHYpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Rv bWFpbl9wYWdlLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYwppbmRleCAyNDA4M2U5YTg2 Li5jZmNmZmQzNWYzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYworKysg Yi94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYwpAQCAtNTcsNyArNTcsNyBAQCBzdGF0aWMgaW5s aW5lIHN0cnVjdCB2Y3B1ICptYXBjYWNoZV9jdXJyZW50X3ZjcHUodm9pZCkKICAgICByZXR1cm4g djsKIH0KIAotdm9pZCBfX2luaXQgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVudChzdHJ1Y3QgdmNw dSAqdikKK3ZvaWQgbWFwY2FjaGVfb3ZlcnJpZGVfY3VycmVudChzdHJ1Y3QgdmNwdSAqdikKIHsK ICAgICB0aGlzX2NwdShvdmVycmlkZSkgPSB2OwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCA5ZTExNWVmMGI4Li40NGM5ZGY1YzllIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAt NTY0LDcgKzU2NCw3IEBAIHZvaWQgd3JpdGVfcHRiYXNlKHN0cnVjdCB2Y3B1ICp2KQogICAgIGlm ICggaXNfcHZfdmNwdSh2KSAmJiB2LT5kb21haW4tPmFyY2gucHYueHB0aSApCiAgICAgewogICAg ICAgICBjcHVfaW5mby0+cm9vdF9wZ3RfY2hhbmdlZCA9IHRydWU7Ci0gICAgICAgIGNwdV9pbmZv LT5wdl9jcjMgPSBfX3BhKHRoaXNfY3B1KHJvb3RfcGd0KSk7CisgICAgICAgIGNwdV9pbmZvLT5w dl9jcjMgPSBtZm5fdG9fbWFkZHIodGhpc19jcHUocm9vdF9wZ3RfbWZuKSk7CiAgICAgICAgIGlm ICggbmV3X2NyNCAmIFg4Nl9DUjRfUENJREUgKQogICAgICAgICAgICAgY3B1X2luZm8tPnB2X2Ny MyB8PSBnZXRfcGNpZF9iaXRzKHYsIHRydWUpOwogICAgICAgICBzd2l0Y2hfY3IzX2NyNCh2LT5h cmNoLmNyMywgbmV3X2NyNCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMg Yi94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKaW5kZXggN2U4NGIwNDA4Mi4uMmZkOTQ0YjdlMyAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9w di9kb21haW4uYwpAQCAtMzAzLDcgKzMwMyw3IEBAIHN0YXRpYyB2b2lkIF90b2dnbGVfZ3Vlc3Rf cHQoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIHN0cnVjdCBjcHVfaW5mbyAqY3B1X2luZm8gPSBn ZXRfY3B1X2luZm8oKTsKIAogICAgICAgICBjcHVfaW5mby0+cm9vdF9wZ3RfY2hhbmdlZCA9IHRy dWU7Ci0gICAgICAgIGNwdV9pbmZvLT5wdl9jcjMgPSBfX3BhKHRoaXNfY3B1KHJvb3RfcGd0KSkg fAorICAgICAgICBjcHVfaW5mby0+cHZfY3IzID0gbWZuX3RvX21hZGRyKHRoaXNfY3B1KHJvb3Rf cGd0X21mbikpIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkLT5hcmNoLnB2LnBjaWQg PyBnZXRfcGNpZF9iaXRzKHYsIHRydWUpIDogMCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvc21wYm9vdC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCBhOWEzOWNl YTZlLi4zMmRjZTAwZDEwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9zbXBib290LmMKQEAgLTgxOSw3ICs4MTksNyBAQCBzdGF0aWMgaW50IGNs b25lX21hcHBpbmcoY29uc3Qgdm9pZCAqcHRyLCByb290X3BnZW50cnlfdCAqcnB0KQogICAgIHJl dHVybiByYzsKIH0KIAotREVGSU5FX1BFUl9DUFUocm9vdF9wZ2VudHJ5X3QgKiwgcm9vdF9wZ3Qp OworREVGSU5FX1BFUl9DUFUobWZuX3QsIHJvb3RfcGd0X21mbik7CiAKIHN0YXRpYyByb290X3Bn ZW50cnlfdCBjb21tb25fcGd0OwogCkBAIC04MjcsMTkgKzgyNywyNyBAQCBleHRlcm4gY29uc3Qg Y2hhciBfc3RleHRlbnRyeVtdLCBfZXRleHRlbnRyeVtdOwogCiBzdGF0aWMgaW50IHNldHVwX2Nw dV9yb290X3BndCh1bnNpZ25lZCBpbnQgY3B1KQogewotICAgIHJvb3RfcGdlbnRyeV90ICpycHQ7 CisgICAgcm9vdF9wZ2VudHJ5X3QgKnJwdCA9IE5VTEw7CisgICAgbWZuX3QgcnB0X21mbjsKICAg ICB1bnNpZ25lZCBpbnQgb2ZmOwogICAgIGludCByYzsKIAogICAgIGlmICggIW9wdF94cHRpX2h3 ZG9tICYmICFvcHRfeHB0aV9kb211ICkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgeworICAgICAg ICByYyA9IDA7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KIAotICAgIHJwdCA9IGFsbG9jX3hl bl9wYWdldGFibGUoKTsKLSAgICBpZiAoICFycHQgKQotICAgICAgICByZXR1cm4gLUVOT01FTTsK KyAgICBycHRfbWZuID0gYWxsb2NfeGVuX3BhZ2V0YWJsZV9uZXcoKTsKKyAgICBpZiAoIG1mbl9l cShycHRfbWZuLCBJTlZBTElEX01GTikgKQorICAgIHsKKyAgICAgICAgcmMgPSAtRU5PTUVNOwor ICAgICAgICBnb3RvIG91dDsKKyAgICB9CiAKKyAgICBycHQgPSBtYXBfeGVuX3BhZ2V0YWJsZV9u ZXcocnB0X21mbik7CiAgICAgY2xlYXJfcGFnZShycHQpOwotICAgIHBlcl9jcHUocm9vdF9wZ3Qs IGNwdSkgPSBycHQ7CisgICAgcGVyX2NwdShyb290X3BndF9tZm4sIGNwdSkgPSBycHRfbWZuOwog CiAgICAgcnB0W3Jvb3RfdGFibGVfb2Zmc2V0KFJPX01QVF9WSVJUX1NUQVJUKV0gPQogICAgICAg ICBpZGxlX3BnX3RhYmxlW3Jvb3RfdGFibGVfb2Zmc2V0KFJPX01QVF9WSVJUX1NUQVJUKV07CkBA IC04NTYsNyArODY0LDcgQEAgc3RhdGljIGludCBzZXR1cF9jcHVfcm9vdF9wZ3QodW5zaWduZWQg aW50IGNwdSkKICAgICAgICAgICAgIHJjID0gY2xvbmVfbWFwcGluZyhwdHIsIHJwdCk7CiAKICAg ICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICByZXR1cm4gcmM7CisgICAgICAgICAgICBnb3Rv IG91dDsKIAogICAgICAgICBjb21tb25fcGd0ID0gcnB0W3Jvb3RfdGFibGVfb2Zmc2V0KFhFTl9W SVJUX1NUQVJUKV07CiAgICAgfQpAQCAtODc1LDE5ICs4ODMsMjQgQEAgc3RhdGljIGludCBzZXR1 cF9jcHVfcm9vdF9wZ3QodW5zaWduZWQgaW50IGNwdSkKICAgICBpZiAoICFyYyApCiAgICAgICAg IHJjID0gY2xvbmVfbWFwcGluZygodm9pZCAqKXBlcl9jcHUoc3R1YnMuYWRkciwgY3B1KSwgcnB0 KTsKIAorIG91dDoKKyAgICBVTk1BUF9YRU5fUEFHRVRBQkxFX05FVyhycHQpOwogICAgIHJldHVy biByYzsKIH0KIAogc3RhdGljIHZvaWQgY2xlYW51cF9jcHVfcm9vdF9wZ3QodW5zaWduZWQgaW50 IGNwdSkKIHsKLSAgICByb290X3BnZW50cnlfdCAqcnB0ID0gcGVyX2NwdShyb290X3BndCwgY3B1 KTsKKyAgICBtZm5fdCBycHRfbWZuID0gcGVyX2NwdShyb290X3BndF9tZm4sIGNwdSk7CisgICAg cm9vdF9wZ2VudHJ5X3QgKnJwdDsKICAgICB1bnNpZ25lZCBpbnQgcjsKICAgICB1bnNpZ25lZCBs b25nIHN0dWJfbGluZWFyID0gcGVyX2NwdShzdHVicy5hZGRyLCBjcHUpOwogCi0gICAgaWYgKCAh cnB0ICkKKyAgICBpZiAoIG1mbl9lcShycHRfbWZuLCBJTlZBTElEX01GTikgKQogICAgICAgICBy ZXR1cm47CiAKLSAgICBwZXJfY3B1KHJvb3RfcGd0LCBjcHUpID0gTlVMTDsKKyAgICBwZXJfY3B1 KHJvb3RfcGd0X21mbiwgY3B1KSA9IElOVkFMSURfTUZOOworCisgICAgcnB0ID0gbWFwX3hlbl9w YWdldGFibGVfbmV3KHJwdF9tZm4pOwogCiAgICAgZm9yICggciA9IHJvb3RfdGFibGVfb2Zmc2V0 KERJUkVDVE1BUF9WSVJUX1NUQVJUKTsKICAgICAgICAgICByIDwgcm9vdF90YWJsZV9vZmZzZXQo SFlQRVJWSVNPUl9WSVJUX0VORCk7ICsrciApCkBAIC05MzIsNyArOTQ1LDggQEAgc3RhdGljIHZv aWQgY2xlYW51cF9jcHVfcm9vdF9wZ3QodW5zaWduZWQgaW50IGNwdSkKICAgICAgICAgZnJlZV94 ZW5fcGFnZXRhYmxlX25ldyhsM3RfbWZuKTsKICAgICB9CiAKLSAgICBmcmVlX3hlbl9wYWdldGFi bGUocnB0KTsKKyAgICBVTk1BUF9YRU5fUEFHRVRBQkxFX05FVyhycHQpOworICAgIGZyZWVfeGVu X3BhZ2V0YWJsZV9uZXcocnB0X21mbik7CiAKICAgICAvKiBBbHNvIHphcCB0aGUgc3R1YiBtYXBw aW5nIGZvciB0aGlzIENQVS4gKi8KICAgICBpZiAoIHN0dWJfbGluZWFyICkKQEAgLTExMzgsNyAr MTE1Miw3IEBAIHZvaWQgX19pbml0IHNtcF9wcmVwYXJlX2NwdXModm9pZCkKICAgICByYyA9IHNl dHVwX2NwdV9yb290X3BndCgwKTsKICAgICBpZiAoIHJjICkKICAgICAgICAgcGFuaWMoIkVycm9y ICVkIHNldHRpbmcgdXAgUFYgcm9vdCBwYWdlIHRhYmxlXG4iLCByYyk7Ci0gICAgaWYgKCBwZXJf Y3B1KHJvb3RfcGd0LCAwKSApCisgICAgaWYgKCAhbWZuX2VxKHBlcl9jcHUocm9vdF9wZ3RfbWZu LCAwKSwgSU5WQUxJRF9NRk4pICkKICAgICB7CiAgICAgICAgIGdldF9jcHVfaW5mbygpLT5wdl9j cjMgPSAwOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmggYi94ZW4vaW5j bHVkZS9hc20teDg2L21tLmgKaW5kZXggNDM3OGQ5ZjgxNS4uNzA4Yjg0YmI4OSAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0u aApAQCAtNjU3LDQgKzY1Nyw2IEBAIHZvaWQgZnJlZV94ZW5fcGFnZXRhYmxlX25ldyhtZm5fdCBt Zm4pOwogCiBsMV9wZ2VudHJ5X3QgKnZpcnRfdG9feGVuX2wxZSh1bnNpZ25lZCBsb25nIHYpOwog CitERUNMQVJFX1BFUl9DUFUobWZuX3QsIHJvb3RfcGd0X21mbik7CisKICNlbmRpZiAvKiBfX0FT TV9YODZfTU1fSF9fICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nv ci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAppbmRleCBkZjAxYWUzMGQ3Li45 Zjk4YWM5NmY1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCisr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTQ0OSw3ICs0NDksNiBAQCBl eHRlcm4gaWR0X2VudHJ5X3QgaWR0X3RhYmxlW107CiBleHRlcm4gaWR0X2VudHJ5X3QgKmlkdF90 YWJsZXNbXTsKIAogREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB0c3Nfc3RydWN0LCBpbml0X3Rzcyk7 Ci1ERUNMQVJFX1BFUl9DUFUocm9vdF9wZ2VudHJ5X3QgKiwgcm9vdF9wZ3QpOwogCiBleHRlcm4g dm9pZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYpOwogCi0tIAoyLjExLjAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs