From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/pv: Fix construction of 32bit dom0's Date: Wed, 6 Feb 2019 20:41:10 +0000 Message-ID: <1549485670-9273-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: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org ZG9tMF9jb25zdHJ1Y3RfcHYoKSBoYXMgbG9naWMgdG8gdHJhbnNpdGlvbiBkb20wIGludG8gYSBj b21wYXQgZG9tYWluIHdoZW4KYm9vdGluZyBhbiBFTEYzMiBpbWFnZS4KCk9uZSBhc3BlY3Qgd2hp Y2ggaXMgbWlzc2luZyBpcyB0aGUgQ1BVSUQgcG9saWN5IHJlY2FsY3VsYXRpb24sIG1lYW5pbmcg dGhhdCBhCjMyYml0IGRvbTAgc2VlcyBhIDY0Yml0IHBvbGljeSwgd2hpY2ggZGlmZmVyIGJ5IHRo ZSBMb25nIE1vZGUgZmVhdHVyZSBmbGFnIGluCnBhcnRpY3VsYXIuICBBbm90aGVyIG1pc3Npbmcg aXRlbSBpcyB0aGUgeDg3X2ZpcF93aWR0aCBpbml0aWFsaXNhdGlvbi4KClVwZGF0ZSBkb20wX2Nv bnN0cnVjdF9wdigpIHRvIHVzZSBzd2l0Y2hfY29tcGF0KCksIHJhdGhlciB0aGFuIHJldGFpbmlu ZyB0aGUKb3BlbmNvZGluZy4gIFBvc2l0aW9uIHRoZSBjYWxsIHRvIHN3aXRjaF9jb21wYXQoKSBz dWNoIHRoYXQgdGhlIGNvbXBhdDMyIGxvY2FsCnZhcmlhYmxlIGNhbiBkaXNhcHBlYXIgZW50aXJl bHkuCgpUaGUgMzJiaXQgbW9uaXRvciB0YWJsZSBpcyBub3cgY3JlYXRlZCBieSBzZXR1cF9jb21w YXRfbDQoKSwgYXZvaWRpbmcgdGhlIG5lZWQKdG8gZm9yIG1hbnVhbCBjcmVhdGlvbiBsYXRlci4g IEZ1cnRoZXJtb3JlLCB0aGUgTDMgdGFibGUgY3JlYXRpb24gaXMgcmVkdW5kYW50CndpdGggdGhl IGxvZ2ljIGluc2lkZSB0aGUgbWFpbiBtYXBwaW5nIGxvb3AsIHNvIGNhbiBiZSBkcm9wcGVkIGFz IHdlbGwuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVA Y2l0cml4LmNvbT4KClNsaWdodGx5IFJGQzoKCjEpIEkndmUgbm90IHdvcmtlZCBvdXQgZXhhY3Rs eSB3aGF0IHRoZQoKICAgICB2LT52Y3B1X2luZm8gPSAodm9pZCAqKSZkLT5zaGFyZWRfaW5mby0+ Y29tcGF0LnZjcHVfaW5mb1swXTsKCiAgIGxpbmUgaXMgc3VwcG9zZWQgdG8gYmUgZG9pbmcgYW5k IHdoZXRoZXIgaXQgaXMgbmVlZGVkLCBidXQgaXQgZG9lc24ndAogICBhcHBlYXIgdG8gbWF0dGVy LiAgSXQgaXMgcGVyaGFwcyBhbm90aGVyIHJlZHVuZGFudCBvcGVuY29kaW5nLgoKMikgVGhlIHJl cG9ydGVkCgogICAgIERvbTAgYWxsb2MuOiAgIDAwMDAwMDAwM2U4MDAwMDAtPjAwMDAwMDAwM2Vj MDAwMDAgKDI0MDQ3MCBwYWdlcyB0byBiZSBhbGxvY2F0ZWQpCgogICBsaW5lIGNoYW5nZXMgYnkg MSBwYWdlIGJlY2F1c2Ugb2YgdGhlIGFsbG9jX2RvbWhlYXBfcGFnZSgpIG1vdmluZyBhaGVhZCBv ZgogICB0aGUgcHJpbnRrKCksIGJ1dCBJJ20gZmFpcmx5IHN1cmUgdGhpcyBpcyBiZW5pZ24uICBU aGVyZSBpcyBhIG1hdGNoaW5nCiAgIHJlZHVjdGlvbiBpbiB0aGUgbGVuZ3RoIG9mIHRoZSBjb25z dHJ1Y3RlZCBtMnAgd2hpY2ggaXMgcGVyaGFwcyBsZXNzCiAgIGJlbmlnbi4KLS0tCiB4ZW4vYXJj aC94ODYvcHYvZG9tMF9idWlsZC5jIHwgNDMgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jICAgICB8ICAyICstCiAyIGZp bGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvcHYvZG9tMF9i dWlsZC5jCmluZGV4IDgzN2VmN2IuLmMzZDhlZTcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9w di9kb20wX2J1aWxkLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwpAQCAtMjg1 LDcgKzI4NSw3IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAq ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX3QgKmluaXRyZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqY21kbGluZSkKIHsKLSAgICBpbnQgaSwgY3B1 LCByYywgY29tcGF0aWJsZSwgY29tcGF0MzIsIG9yZGVyLCBtYWNoaW5lOworICAgIGludCBpLCBj cHUsIHJjLCBjb21wYXRpYmxlLCBvcmRlciwgbWFjaGluZTsKICAgICBzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVnczsKICAgICB1bnNpZ25lZCBsb25nIHBmbiwgbWZuOwogICAgIHVuc2lnbmVkIGxv bmcgbnJfcGFnZXM7CkBAIC0zNTQsMTQgKzM1NCwxOCBAQCBpbnQgX19pbml0IGRvbTBfY29uc3Ry dWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAKICAgICAvKiBjb21wYXRpYmlsaXR5IGNoZWNrICov CiAgICAgY29tcGF0aWJsZSA9IDA7Ci0gICAgY29tcGF0MzIgICA9IDA7CiAgICAgbWFjaGluZSA9 IGVsZl91dmFsKCZlbGYsIGVsZi5laGRyLCBlX21hY2hpbmUpOwogICAgIHByaW50aygiIFhlbiAg a2VybmVsOiA2NC1iaXQsIGxzYiwgY29tcGF0MzJcbiIpOwogICAgIGlmICggZWxmXzMyYml0KCZl bGYpICYmIHBhcm1zLnBhZSA9PSBYRU5fUEFFX0JJTU9EQUwgKQogICAgICAgICBwYXJtcy5wYWUg PSBYRU5fUEFFX0VYVENSMzsKICAgICBpZiAoIGVsZl8zMmJpdCgmZWxmKSAmJiBwYXJtcy5wYWUg JiYgbWFjaGluZSA9PSBFTV8zODYgKQogICAgIHsKLSAgICAgICAgY29tcGF0MzIgPSAxOworICAg ICAgICBpZiAoIHVubGlrZWx5KHJjID0gc3dpdGNoX2NvbXBhdChkKSkgKQorICAgICAgICB7Cisg ICAgICAgICAgICBwcmludGsoIkRvbTAgZmFpbGVkIHRvIHN3aXRjaCB0byBjb21wYXQ6ICVkXG4i LCByYyk7CisgICAgICAgICAgICByZXR1cm4gcmM7CisgICAgICAgIH0KKwogICAgICAgICBjb21w YXRpYmxlID0gMTsKICAgICB9CiAgICAgaWYgKGVsZl82NGJpdCgmZWxmKSAmJiBtYWNoaW5lID09 IEVNX1g4Nl82NCkKQEAgLTM5MiwxNiArMzk2LDYgQEAgaW50IF9faW5pdCBkb20wX2NvbnN0cnVj dF9wdihzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCBjb21w YXQzMiApCi0gICAgewotICAgICAgICBkLT5hcmNoLmlzXzMyYml0X3B2ID0gZC0+YXJjaC5oYXNf MzJiaXRfc2hpbmZvID0gMTsKLSAgICAgICAgZC0+YXJjaC5wdi54cHRpID0gZmFsc2U7Ci0gICAg ICAgIGQtPmFyY2gucHYucGNpZCA9IGZhbHNlOwotICAgICAgICB2LT52Y3B1X2luZm8gPSAodm9p ZCAqKSZkLT5zaGFyZWRfaW5mby0+Y29tcGF0LnZjcHVfaW5mb1swXTsKLSAgICAgICAgaWYgKCBz ZXR1cF9jb21wYXRfYXJnX3hsYXQodikgIT0gMCApCi0gICAgICAgICAgICBCVUcoKTsKLSAgICB9 Ci0KICAgICBucl9wYWdlcyA9IGRvbTBfY29tcHV0ZV9ucl9wYWdlcyhkLCAmcGFybXMsIGluaXRy ZF9sZW4pOwogCiAgICAgaWYgKCBwYXJtcy5wYWUgPT0gWEVOX1BBRV9FWFRDUjMgKQpAQCAtNDI1 LDggKzQxOSw2IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAq ZCwKICAgICAgICAgcGFybXMucDJtX2Jhc2UgPSBVTlNFVF9BRERSOwogICAgIH0KIAotICAgIGRv bWFpbl9zZXRfYWxsb2NfYml0c2l6ZShkKTsKLQogICAgIC8qCiAgICAgICogV2h5IGRvIHdlIG5l ZWQgdGhpcz8gVGhlIG51bWJlciBvZiBwYWdlLXRhYmxlIGZyYW1lcyBkZXBlbmRzIG9uIHRoZQog ICAgICAqIHNpemUgb2YgdGhlIGJvb3RzdHJhcCBhZGRyZXNzIHNwYWNlLiBCdXQgdGhlIHNpemUg b2YgdGhlIGFkZHJlc3Mgc3BhY2UKQEAgLTYwNiwyMyArNTk4LDE0IEBAIGludCBfX2luaXQgZG9t MF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwKICAgICB7CiAgICAgICAgIG1hZGRyX3Rv X3BhZ2UobXB0X2FsbG9jKS0+dS5pbnVzZS50eXBlX2luZm8gPSBQR1RfbDRfcGFnZV90YWJsZTsK ICAgICAgICAgbDRzdGFydCA9IGw0dGFiID0gX192YShtcHRfYWxsb2MpOyBtcHRfYWxsb2MgKz0g UEFHRV9TSVpFOworICAgICAgICBjbGVhcl9wYWdlKGw0dGFiKTsKKyAgICAgICAgaW5pdF94ZW5f bDRfc2xvdHMobDR0YWIsIF9tZm4odmlydF90b19tZm4obDRzdGFydCkpLAorICAgICAgICAgICAg ICAgICAgICAgICAgICBkLCBJTlZBTElEX01GTiwgdHJ1ZSk7CisgICAgICAgIHYtPmFyY2guZ3Vl c3RfdGFibGUgPSBwYWdldGFibGVfZnJvbV9wYWRkcihfX3BhKGw0c3RhcnQpKTsKICAgICB9CiAg ICAgZWxzZQotICAgIHsKLSAgICAgICAgcGFnZSA9IGFsbG9jX2RvbWhlYXBfcGFnZShkLCBNRU1G X25vX293bmVyIHwgTUVNRl9ub19zY3J1Yik7Ci0gICAgICAgIGlmICggIXBhZ2UgKQotICAgICAg ICAgICAgcGFuaWMoIk5vdCBlbm91Z2ggUkFNIGZvciBkb21haW4gMCBQTUw0XG4iKTsKLSAgICAg ICAgcGFnZS0+dS5pbnVzZS50eXBlX2luZm8gPSBQR1RfbDRfcGFnZV90YWJsZXxQR1RfdmFsaWRh dGVkfDE7Ci0gICAgICAgIGw0c3RhcnQgPSBsNHRhYiA9IHBhZ2VfdG9fdmlydChwYWdlKTsKLSAg ICAgICAgbWFkZHJfdG9fcGFnZShtcHRfYWxsb2MpLT51LmludXNlLnR5cGVfaW5mbyA9IFBHVF9s M19wYWdlX3RhYmxlOwotICAgICAgICBsM3N0YXJ0ID0gX192YShtcHRfYWxsb2MpOyBtcHRfYWxs b2MgKz0gUEFHRV9TSVpFOwotICAgIH0KLSAgICBjbGVhcl9wYWdlKGw0dGFiKTsKLSAgICBpbml0 X3hlbl9sNF9zbG90cyhsNHRhYiwgX21mbih2aXJ0X3RvX21mbihsNHN0YXJ0KSksCi0gICAgICAg ICAgICAgICAgICAgICAgZCwgSU5WQUxJRF9NRk4sIHRydWUpOwotICAgIHYtPmFyY2guZ3Vlc3Rf dGFibGUgPSBwYWdldGFibGVfZnJvbV9wYWRkcihfX3BhKGw0c3RhcnQpKTsKLSAgICBpZiAoIGlz X3B2XzMyYml0X2RvbWFpbihkKSApCi0gICAgICAgIHYtPmFyY2guZ3Vlc3RfdGFibGVfdXNlciA9 IHYtPmFyY2guZ3Vlc3RfdGFibGU7CisgICAgICAgIC8qIE1vbml0b3IgdGFibGUgYWxyZWFkeSBj cmVhdGVkIGJ5IHN3aXRjaF9jb21wYXQoKS4gKi8KKyAgICAgICAgbDRzdGFydCA9IGw0dGFiID0g X192YShwYWdldGFibGVfZ2V0X3BhZGRyKHYtPmFyY2guZ3Vlc3RfdGFibGUpKTsKIAogICAgIGw0 dGFiICs9IGw0X3RhYmxlX29mZnNldCh2X3N0YXJ0KTsKICAgICBwZm4gPSBhbGxvY19zcGZuOwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L3B2L2Rv bWFpbi5jCmluZGV4IDdlODRiMDQuLjM0NTc1ODYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9w di9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKQEAgLTcwLDcgKzcwLDcg QEAgc3RhdGljIGludCBzZXR1cF9jb21wYXRfbDQoc3RydWN0IHZjcHUgKnYpCiAgICAgbDRfcGdl bnRyeV90ICpsNHRhYjsKICAgICBtZm5fdCBtZm47CiAKLSAgICBwZyA9IGFsbG9jX2RvbWhlYXBf cGFnZSh2LT5kb21haW4sIE1FTUZfbm9fb3duZXIpOworICAgIHBnID0gYWxsb2NfZG9taGVhcF9w YWdlKHYtPmRvbWFpbiwgTUVNRl9ub19vd25lciB8IE1FTUZfbm9fc2NydWIpOwogICAgIGlmICgg cGcgPT0gTlVMTCApCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogCi0tIAoyLjEuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=