From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 7/9] x86/shadow: Use the pagewalk reserved bits helpers Date: Thu, 16 Mar 2017 16:31:41 +0000 Message-ID: <1489681903-28119-8-git-send-email-andrew.cooper3@citrix.com> References: <1489681903-28119-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: <1489681903-28119-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: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlIHNoYWRvdyBsb2dpYyBzaG91bGQgbm90IGNyZWF0ZSBhIHZhbGlkL3ByZXNlbnQgc2hhZG93 IG9mIGEgZ3Vlc3QgUFRFIHdoaWNoCmNvbnRhaW5zIHJlc2VydmVkIGJpdHMgZnJvbSB0aGUgZ3Vl c3RzIHBvaW50IG9mIHZpZXcuICBJdCBpcyBub3QgZ3VhcmFudGVlZAp0aGF0IHRoZSBoYXJkd2Fy ZSBwYWdld2FsayB3aWxsIGNvbWUgdG8gdGhlIHNhbWUgY29uY2x1c2lvbiwgYW5kIHJhaXNlIGEK cGFnZWZhdWx0LgoKU2hhZG93cyBjcmVhdGVkIG9uIGRlbWFuZCBmcm9tIHRoZSBwYWdlZmF1bHQg aGFuZGxlciBhcmUgZmluZSBiZWNhdXNlIHRoZQpwYWdld2FsayBvdmVyIHRoZSBndWVzdCB0YWJs ZXMgd2lsbCBoYXZlIGluamVjdGVkIHRoZSBmYXVsdCBpbnRvIHRoZSBndWVzdApyYXRoZXIgdGhh biBjcmVhdGluZyBhIHNoYWRvdy4KCkhvd2V2ZXIsIHNoYWRvd3MgY3JlYXRlZCBieSBzaF9yZXN5 bmNfbDEoKSBhbmQgc2hfcHJlZmV0Y2goKSBoYXZlbid0IHVuZGVyZ29uZQphIHBhZ2V3YWxrIGFu ZCBuZWVkIHRvIGFjY291bnQgZm9yIHJlc2VydmVkIGJpdHMgYmVmb3JlIGNyZWF0aW5nIHRoZSBz aGFkb3cuCgpJbiBwcmFjdGljZSwgdGhpcyBtZWFucyBhIDMtbGV2ZWwgZ3Vlc3QgY291bGQgcHJl dmlvdXNseSBjYXVzZSBQVEVzIHdpdGggYml0cwo2Mzo1MiBzZXQgdG8gYmUgc2hhZG93ZWQgKGFu ZCBkaXNjYXJkZWQpLiAgVGhpcyBQVEUgc2hvdWxkIGNhdXNlICNQRltSU1ZEXQp3aGVuIGVuY291 bnRlcmVkIGJ5IGhhcmR3YXJlLCBidXQgdGhlIGluc3RhbGxlZCBzaGFkb3cgaXMgdmFsaWQgYW5k IGhhcmR3YXJlCmRvZXNuJ3QgZmF1bHQuCgpSZXVzZSB0aGUgcGFnZXdhbGsgcmVzZXJ2ZWQgYml0 cyBoZWxwZXJzLCBhbmQgYXNzZXJ0IGluCmw/ZV9wcm9wYWdhdGVfZnJvbV9ndWVzdCgpIHRoYXQg c2hhZG93cyBhcmUgbm90IGF0dGVtcHRlZCB0byBiZSBjcmVhdGVkIHdpdGgKcmVzZXJ2ZWQgYml0 cyBzZXQuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFRpbSBE ZWVnYW4gPHRpbUB4ZW4ub3JnPgpDQzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5j aXRyaXguY29tPgoKdjI6CiAqIFJld29yZCBjb21taXQgbWVzc2FnZSwgYW5kIGluY2x1ZGUgc2hf cmVzeW5jX2wxL3NoX3ByZWZldGNoCi0tLQogeGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5j IHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9t dWx0aS5jCmluZGV4IDQ3NjJlMTUuLjU2MTE0YzcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9t bS9zaGFkb3cvbXVsdGkuYworKysgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKQEAg LTc0NSw2ICs3NDUsMTAgQEAgbDRlX3Byb3BhZ2F0ZV9mcm9tX2d1ZXN0KHN0cnVjdCB2Y3B1ICp2 LAogICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd19sNGVfdCAqc2w0ZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICBmZXRjaF90eXBlX3QgZnQpCiB7CisgICAgaWYgKCAhbWZuX2VxKHNs M21mbiwgSU5WQUxJRF9NRk4pICYmCisgICAgICAgICAoZ3Vlc3RfbDRlX2dldF9mbGFncyhnbDRl KSAmIF9QQUdFX1BSRVNFTlQpICkKKyAgICAgICAgQVNTRVJUKCFndWVzdF9sNGVfcnN2ZF9iaXRz KHYsIGdsNGUpKTsKKwogICAgIF9zaF9wcm9wYWdhdGUodiwgZ2w0ZS5sNCwgc2wzbWZuLCBzbDRl LCA0LCBmdCwgcDJtX3JhbV9ydyk7CiB9CiAKQEAgLTc1NSw2ICs3NTksMTAgQEAgbDNlX3Byb3Bh Z2F0ZV9mcm9tX2d1ZXN0KHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICAgICAgICAgICAgICAgICAg IHNoYWRvd19sM2VfdCAqc2wzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaF90eXBl X3QgZnQpCiB7CisgICAgaWYgKCAhbWZuX2VxKHNsMm1mbiwgSU5WQUxJRF9NRk4pICYmCisgICAg ICAgICAoZ3Vlc3RfbDNlX2dldF9mbGFncyhnbDNlKSAmIF9QQUdFX1BSRVNFTlQpICkKKyAgICAg ICAgQVNTRVJUKCFndWVzdF9sM2VfcnN2ZF9iaXRzKHYsIGdsM2UpKTsKKwogICAgIF9zaF9wcm9w YWdhdGUodiwgZ2wzZS5sMywgc2wybWZuLCBzbDNlLCAzLCBmdCwgcDJtX3JhbV9ydyk7CiB9CiAj ZW5kaWYgLy8gR1VFU1RfUEFHSU5HX0xFVkVMUyA+PSA0CkBAIC03NjYsNiArNzc0LDEwIEBAIGwy ZV9wcm9wYWdhdGVfZnJvbV9ndWVzdChzdHJ1Y3QgdmNwdSAqdiwKICAgICAgICAgICAgICAgICAg ICAgICAgICBzaGFkb3dfbDJlX3QgKnNsMmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0 Y2hfdHlwZV90IGZ0KQogeworICAgIGlmICggIW1mbl9lcShzbDFtZm4sIElOVkFMSURfTUZOKSAm JgorICAgICAgICAgKGd1ZXN0X2wyZV9nZXRfZmxhZ3MoZ2wyZSkgJiBfUEFHRV9QUkVTRU5UKSAp CisgICAgICAgIEFTU0VSVCghZ3Vlc3RfbDJlX3JzdmRfYml0cyh2LCBnbDJlKSk7CisKICAgICBf c2hfcHJvcGFnYXRlKHYsIGdsMmUubDIsIHNsMW1mbiwgc2wyZSwgMiwgZnQsIHAybV9yYW1fcncp OwogfQogCkBAIC03NzcsNiArNzg5LDEwIEBAIGwxZV9wcm9wYWdhdGVfZnJvbV9ndWVzdChzdHJ1 Y3QgdmNwdSAqdiwKICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaF90eXBlX3QgZnQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCBwMm10KQogeworICAgIGlmICggIW1m bl9lcShnbWZuLCBJTlZBTElEX01GTikgJiYKKyAgICAgICAgIChndWVzdF9sMWVfZ2V0X2ZsYWdz KGdsMWUpICYgX1BBR0VfUFJFU0VOVCkgKQorICAgICAgICBBU1NFUlQoIWd1ZXN0X2wxZV9yc3Zk X2JpdHModiwgZ2wxZSkpOworCiAgICAgX3NoX3Byb3BhZ2F0ZSh2LCBnbDFlLmwxLCBnbWZuLCBz bDFlLCAxLCBmdCwgcDJtdCk7CiB9CiAKQEAgLTIxNTcsNyArMjE3Myw4IEBAIHN0YXRpYyBpbnQg dmFsaWRhdGVfZ2w0ZShzdHJ1Y3QgdmNwdSAqdiwgdm9pZCAqbmV3X2dlLCBtZm5fdCBzbDRtZm4s IHZvaWQgKnNlKQogCiAgICAgcGVyZmNfaW5jcihzaGFkb3dfdmFsaWRhdGVfZ2w0ZV9jYWxscyk7 CiAKLSAgICBpZiAoIGd1ZXN0X2w0ZV9nZXRfZmxhZ3MobmV3X2dsNGUpICYgX1BBR0VfUFJFU0VO VCApCisgICAgaWYgKCAoZ3Vlc3RfbDRlX2dldF9mbGFncyhuZXdfZ2w0ZSkgJiBfUEFHRV9QUkVT RU5UKSAmJgorICAgICAgICAgIWd1ZXN0X2w0ZV9yc3ZkX2JpdHModiwgbmV3X2dsNGUpICkKICAg ICB7CiAgICAgICAgIGdmbl90IGdsM2dmbiA9IGd1ZXN0X2w0ZV9nZXRfZ2ZuKG5ld19nbDRlKTsK ICAgICAgICAgbWZuX3QgZ2wzbWZuID0gZ2V0X2dmbl9xdWVyeV91bmxvY2tlZChkLCBnZm5feChn bDNnZm4pLCAmcDJtdCk7CkBAIC0yMjE1LDcgKzIyMzIsOCBAQCBzdGF0aWMgaW50IHZhbGlkYXRl X2dsM2Uoc3RydWN0IHZjcHUgKnYsIHZvaWQgKm5ld19nZSwgbWZuX3Qgc2wzbWZuLCB2b2lkICpz ZSkKIAogICAgIHBlcmZjX2luY3Ioc2hhZG93X3ZhbGlkYXRlX2dsM2VfY2FsbHMpOwogCi0gICAg aWYgKCBndWVzdF9sM2VfZ2V0X2ZsYWdzKG5ld19nbDNlKSAmIF9QQUdFX1BSRVNFTlQgKQorICAg IGlmICggKGd1ZXN0X2wzZV9nZXRfZmxhZ3MobmV3X2dsM2UpICYgX1BBR0VfUFJFU0VOVCkgJiYK KyAgICAgICAgICFndWVzdF9sM2VfcnN2ZF9iaXRzKHYsIG5ld19nbDNlKSApCiAgICAgewogICAg ICAgICBnZm5fdCBnbDJnZm4gPSBndWVzdF9sM2VfZ2V0X2dmbihuZXdfZ2wzZSk7CiAgICAgICAg IG1mbl90IGdsMm1mbiA9IGdldF9nZm5fcXVlcnlfdW5sb2NrZWQoZCwgZ2ZuX3goZ2wyZ2ZuKSwg JnAybXQpOwpAQCAtMjI0OCw3ICsyMjY2LDggQEAgc3RhdGljIGludCB2YWxpZGF0ZV9nbDJlKHN0 cnVjdCB2Y3B1ICp2LCB2b2lkICpuZXdfZ2UsIG1mbl90IHNsMm1mbiwgdm9pZCAqc2UpCiAKICAg ICBwZXJmY19pbmNyKHNoYWRvd192YWxpZGF0ZV9nbDJlX2NhbGxzKTsKIAotICAgIGlmICggZ3Vl c3RfbDJlX2dldF9mbGFncyhuZXdfZ2wyZSkgJiBfUEFHRV9QUkVTRU5UICkKKyAgICBpZiAoIChn dWVzdF9sMmVfZ2V0X2ZsYWdzKG5ld19nbDJlKSAmIF9QQUdFX1BSRVNFTlQpICYmCisgICAgICAg ICAhZ3Vlc3RfbDJlX3JzdmRfYml0cyh2LCBuZXdfZ2wyZSkgKQogICAgIHsKICAgICAgICAgZ2Zu X3QgZ2wxZ2ZuID0gZ3Vlc3RfbDJlX2dldF9nZm4obmV3X2dsMmUpOwogICAgICAgICBpZiAoIGd1 ZXN0X3N1cHBvcnRzX2wyX3N1cGVycGFnZXModikgJiYKQEAgLTIyODksNyArMjMwOCw3IEBAIHN0 YXRpYyBpbnQgdmFsaWRhdGVfZ2wxZShzdHJ1Y3QgdmNwdSAqdiwgdm9pZCAqbmV3X2dlLCBtZm5f dCBzbDFtZm4sIHZvaWQgKnNlKQogICAgIGd1ZXN0X2wxZV90IG5ld19nbDFlID0gKihndWVzdF9s MWVfdCAqKW5ld19nZTsKICAgICBzaGFkb3dfbDFlX3QgKnNsMXAgPSBzZTsKICAgICBnZm5fdCBn Zm47Ci0gICAgbWZuX3QgZ21mbjsKKyAgICBtZm5fdCBnbWZuID0gSU5WQUxJRF9NRk47CiAgICAg cDJtX3R5cGVfdCBwMm10OwogICAgIGludCByZXN1bHQgPSAwOwogI2lmIChTSEFET1dfT1BUSU1J WkFUSU9OUyAmIFNIT1BUX09VVF9PRl9TWU5DKQpAQCAtMjI5OCw4ICsyMzE3LDEyIEBAIHN0YXRp YyBpbnQgdmFsaWRhdGVfZ2wxZShzdHJ1Y3QgdmNwdSAqdiwgdm9pZCAqbmV3X2dlLCBtZm5fdCBz bDFtZm4sIHZvaWQgKnNlKQogCiAgICAgcGVyZmNfaW5jcihzaGFkb3dfdmFsaWRhdGVfZ2wxZV9j YWxscyk7CiAKLSAgICBnZm4gPSBndWVzdF9sMWVfZ2V0X2dmbihuZXdfZ2wxZSk7Ci0gICAgZ21m biA9IGdldF9nZm5fcXVlcnlfdW5sb2NrZWQoZCwgZ2ZuX3goZ2ZuKSwgJnAybXQpOworICAgIGlm ICggKGd1ZXN0X2wxZV9nZXRfZmxhZ3MobmV3X2dsMWUpICYgX1BBR0VfUFJFU0VOVCkgJiYKKyAg ICAgICAgICFndWVzdF9sMWVfcnN2ZF9iaXRzKHYsIG5ld19nbDFlKSApCisgICAgeworICAgICAg ICBnZm4gPSBndWVzdF9sMWVfZ2V0X2dmbihuZXdfZ2wxZSk7CisgICAgICAgIGdtZm4gPSBnZXRf Z2ZuX3F1ZXJ5X3VubG9ja2VkKGQsIGdmbl94KGdmbiksICZwMm10KTsKKyAgICB9CiAKICAgICBs MWVfcHJvcGFnYXRlX2Zyb21fZ3Vlc3QodiwgbmV3X2dsMWUsIGdtZm4sICZuZXdfc2wxZSwgZnRf cHJlZmV0Y2gsIHAybXQpOwogICAgIHJlc3VsdCB8PSBzaGFkb3dfc2V0X2wxZShkLCBzbDFwLCBu ZXdfc2wxZSwgcDJtdCwgc2wxbWZuKTsKQEAgLTIzNTUsMTIgKzIzNzgsMTcgQEAgdm9pZCBzaF9y ZXN5bmNfbDEoc3RydWN0IHZjcHUgKnYsIG1mbl90IGdsMW1mbiwgbWZuX3Qgc25wbWZuKQogICAg ICAgICBpZiAoIG1lbWNtcChzbnBsMXAsICZnbDFlLCBzaXplb2YoZ2wxZSkpICkKICAgICAgICAg ewogICAgICAgICAgICAgZ2ZuX3QgZ2ZuOwotICAgICAgICAgICAgbWZuX3QgZ21mbjsKKyAgICAg ICAgICAgIG1mbl90IGdtZm4gPSBJTlZBTElEX01GTjsKICAgICAgICAgICAgIHAybV90eXBlX3Qg cDJtdDsKICAgICAgICAgICAgIHNoYWRvd19sMWVfdCBuc2wxZTsKIAotICAgICAgICAgICAgZ2Zu ID0gZ3Vlc3RfbDFlX2dldF9nZm4oZ2wxZSk7Ci0gICAgICAgICAgICBnbWZuID0gZ2V0X2dmbl9x dWVyeV91bmxvY2tlZChkLCBnZm5feChnZm4pLCAmcDJtdCk7CisgICAgICAgICAgICBpZiAoIChn dWVzdF9sMWVfZ2V0X2ZsYWdzKGdsMWUpICYgX1BBR0VfUFJFU0VOVCkgJiYKKyAgICAgICAgICAg ICAgICAgIWd1ZXN0X2wxZV9yc3ZkX2JpdHModiwgZ2wxZSkgKQorICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgIGdmbiA9IGd1ZXN0X2wxZV9nZXRfZ2ZuKGdsMWUpOworICAgICAgICAgICAg ICAgIGdtZm4gPSBnZXRfZ2ZuX3F1ZXJ5X3VubG9ja2VkKGQsIGdmbl94KGdmbiksICZwMm10KTsK KyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgbDFlX3Byb3BhZ2F0ZV9mcm9tX2d1ZXN0KHYs IGdsMWUsIGdtZm4sICZuc2wxZSwgZnRfcHJlZmV0Y2gsIHAybXQpOwogICAgICAgICAgICAgcmMg fD0gc2hhZG93X3NldF9sMWUoZCwgc2wxcCwgbnNsMWUsIHAybXQsIHNsMW1mbik7CiAgICAgICAg ICAgICAqc25wbDFwID0gZ2wxZTsKQEAgLTI2ODYsOCArMjcxNCwxNCBAQCBzdGF0aWMgdm9pZCBz aF9wcmVmZXRjaChzdHJ1Y3QgdmNwdSAqdiwgd2Fsa190ICpndywKICAgICAgICAgfQogCiAgICAg ICAgIC8qIExvb2sgYXQgdGhlIGdmbiB0aGF0IHRoZSBsMWUgaXMgcG9pbnRpbmcgYXQgKi8KLSAg ICAgICAgZ2ZuID0gZ3Vlc3RfbDFlX2dldF9nZm4oZ2wxZSk7Ci0gICAgICAgIGdtZm4gPSBnZXRf Z2ZuX3F1ZXJ5X3VubG9ja2VkKGQsIGdmbl94KGdmbiksICZwMm10KTsKKyAgICAgICAgaWYgKCAo Z3Vlc3RfbDFlX2dldF9mbGFncyhnbDFlKSAmIF9QQUdFX1BSRVNFTlQpICYmCisgICAgICAgICAg ICAgIWd1ZXN0X2wxZV9yc3ZkX2JpdHModiwgZ2wxZSkgKQorICAgICAgICB7CisgICAgICAgICAg ICBnZm4gPSBndWVzdF9sMWVfZ2V0X2dmbihnbDFlKTsKKyAgICAgICAgICAgIGdtZm4gPSBnZXRf Z2ZuX3F1ZXJ5X3VubG9ja2VkKGQsIGdmbl94KGdmbiksICZwMm10KTsKKyAgICAgICAgfQorICAg ICAgICBlbHNlCisgICAgICAgICAgICBnbWZuID0gSU5WQUxJRF9NRk47CiAKICAgICAgICAgLyog UHJvcGFnYXRlIHRoZSBlbnRyeS4gICovCiAgICAgICAgIGwxZV9wcm9wYWdhdGVfZnJvbV9ndWVz dCh2LCBnbDFlLCBnbWZuLCAmc2wxZSwgZnRfcHJlZmV0Y2gsIHAybXQpOwotLSAKMi4xLjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK