From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xin Li Subject: [PATCH 2/2] xen/xsm: Add new SILO mode for XSM Date: Fri, 29 Jun 2018 17:28:10 +0800 Message-ID: <20180629092810.25993-2-xin.li@citrix.com> References: <20180629092810.25993-1-xin.li@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180629092810.25993-1-xin.li@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.xen.org Cc: Sergey Dyasli , Stefano Stabellini , Wei Liu , George Dunlap , Xin Li , Tim Deegan , Jan Beulich , Andrew Cooper , Ming Lu , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org V2hlbiBTSUxPIGlzIGVuYWJsZWQsIHRoZXJlIHdvdWxkIGJlIG5vIHBhZ2Utc2hhcmluZyBiZXR3 ZWVuCnVucHJpdmlsZWdlZCBWTXMgKG5vIGdyYW50IHRhYmxlcyBvciBldmVudCBjaGFubmVscyku CgpTaWduZWQtb2ZmLWJ5OiBYaW4gTGkgPHhpbi5saUBjaXRyaXguY29tPgoKLS0tCkNDOiBEYW5p ZWwgRGUgR3JhYWYgPGRnZGVncmFAdHljaG8ubnNhLmdvdj4KQ0M6IEdlb3JnZSBEdW5sYXAgPEdl b3JnZS5EdW5sYXBAZXUuY2l0cml4LmNvbT4KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNl LmNvbT4KQ0M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4K Q0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IFRpbSBE ZWVnYW4gPHRpbUB4ZW4ub3JnPgpDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6 IFNlcmdleSBEeWFzbGkgPHNlcmdleS5keWFzbGlAY2l0cml4LmNvbT4KQ0M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNDOiBNaW5nIEx1IDxtaW5nLmx1QGNpdHJp eC5jb20+Ci0tLQogZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gfCAgIDMgKwog eGVuL2NvbW1vbi9LY29uZmlnICAgICAgICAgICAgICAgICAgfCAgMTEgKysrCiB4ZW4vaW5jbHVk ZS94c20veHNtLmggICAgICAgICAgICAgICB8ICAgNiArKwogeGVuL3hzbS9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgfCAgIDEgKwogeGVuL3hzbS9zaWxvLmMgICAgICAgICAgICAgICAgICAg ICAgfCAxMDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL3hzbS94c21fY29yZS5j ICAgICAgICAgICAgICAgICAgfCAgIDkgKysrCiA2IGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRp b25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL3hzbS9zaWxvLmMKCmRpZmYgLS1naXQgYS9k b2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93biBiL2RvY3MvbWlzYy94ZW4tY29tbWFu ZC1saW5lLm1hcmtkb3duCmluZGV4IDdjNjg5YjgyMjUuLjQ1NGRlMTFjM2QgMTAwNjQ0Ci0tLSBh L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCisrKyBiL2RvY3MvbWlzYy94ZW4t Y29tbWFuZC1saW5lLm1hcmtkb3duCkBAIC04NzcsNiArODc3LDkgQEAgdGhlIGh5cGVydmlzb3Ig d2FzIGNvbXBpbGVkIHdpdGggWFNNIHN1cHBvcnQuCiAgIGl0J3MgYWxzbyB1c2VkIHdoZW4gWFNN IGlzIGNvbXBpbGVkIG91dC4KICogYGZsYXNrYDogdGhpcyBpcyB0aGUgcG9saWN5IGJhc2VkIGFj Y2VzcyBjb250cm9sLiAgVG8gY2hvb3NlIHRoaXMsIHRoZQogICBzZXBhcmF0ZWQgb3B0aW9uIGlu IGtjb25maWcgbXVzdCBhbHNvIGJlIGVuYWJsZWQuCisqIGBzaWxvYDogdGhpcyB3aWxsIGRlbnkg YW55IHVubWVkaWF0ZWQgY29tbXVuaWNhdGlvbiBjaGFubmVscyBiZXR3ZWVuCisgIHVucHJpdmls ZWdlZCBWTXMuICBUbyBjaG9vc2UgdGhpcywgdGhlIHNlcGFyYXRlZCBvcHRpb24gaW4ga2NvbmZp ZyBtdXN0IGFsc28KKyAgYmUgZW5hYmxlZC4KIAogIyMjIGZsYXNrCiA+IGA9IHBlcm1pc3NpdmUg fCBlbmZvcmNpbmcgfCBsYXRlIHwgZGlzYWJsZWRgCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL0tj b25maWcgYi94ZW4vY29tbW9uL0tjb25maWcKaW5kZXggMDY4YzMyMDZhMS4uZjNmOGU1YWZiYyAx MDA2NDQKLS0tIGEveGVuL2NvbW1vbi9LY29uZmlnCisrKyBiL3hlbi9jb21tb24vS2NvbmZpZwpA QCAtMTQzLDYgKzE0MywxNyBAQCBjb25maWcgWFNNX0ZMQVNLX1BPTElDWQogCiAJICBJZiB1bnN1 cmUsIHNheSBZLgogCitjb25maWcgWFNNX1NJTE8KKwlkZWZfYm9vbCB5CisJcHJvbXB0ICJTSUxP IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBYU00KKwktLS1oZWxwLS0tCisJICBFbmFibGVzIFNJTE8g YXMgdGhlIGFjY2VzcyBjb250cm9sIG1lY2hhbmlzbSB1c2VkIGJ5IHRoZSBYU00gZnJhbWV3b3Jr LgorCSAgVGhpcyB3aWxsIGRlbnkgYW55IHVubWVkaWF0ZWQgY29tbXVuaWNhdGlvbiBjaGFubmVs cyBiZXR3ZWVuIHVucHJpdmlsZWdlZAorCSAgVk1zLgorCisJICBJZiB1bnN1cmUsIHNheSBZLgor CiBjb25maWcgTEFURV9IV0RPTQogCWJvb2wgIkRlZGljYXRlZCBoYXJkd2FyZSBkb21haW4iCiAJ ZGVmYXVsdCBuCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94c20veHNtLmggYi94ZW4vaW5jbHVk ZS94c20veHNtLmgKaW5kZXggNzBlN2E2ODQ5Zi4uMTE1MThlNWJkNiAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUveHNtL3hzbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS94c20uaApAQCAtNzMzLDYg KzczMywxMiBAQCBleHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciB4c21faW5pdF9mbGFza19wb2xp Y3lbXTsKIGV4dGVybiBjb25zdCB1bnNpZ25lZCBpbnQgeHNtX2luaXRfZmxhc2tfcG9saWN5X3Np emU7CiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19YU01fU0lMTworZXh0ZXJuIHZvaWQgc2lsb19p bml0KHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBzaWxvX2luaXQodm9pZCkge30K KyNlbmRpZgorCiAjZWxzZSAvKiBDT05GSUdfWFNNICovCiAKICNpbmNsdWRlIDx4c20vZHVtbXku aD4KZGlmZiAtLWdpdCBhL3hlbi94c20vTWFrZWZpbGUgYi94ZW4veHNtL01ha2VmaWxlCmluZGV4 IDhiYjRhMjRmMDkuLmU0ZDU4MWUwNjUgMTAwNjQ0Ci0tLSBhL3hlbi94c20vTWFrZWZpbGUKKysr IGIveGVuL3hzbS9NYWtlZmlsZQpAQCAtMSw1ICsxLDYgQEAKIG9iai15ICs9IHhzbV9jb3JlLm8K IG9iai0kKENPTkZJR19YU00pICs9IHhzbV9wb2xpY3kubwogb2JqLSQoQ09ORklHX1hTTSkgKz0g ZHVtbXkubworb2JqLSQoQ09ORklHX1hTTV9TSUxPKSArPSBzaWxvLm8KIAogc3ViZGlyLSQoQ09O RklHX1hTTV9GTEFTSykgKz0gZmxhc2sKZGlmZiAtLWdpdCBhL3hlbi94c20vc2lsby5jIGIveGVu L3hzbS9zaWxvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uY2FjMjI0 MzJkYQotLS0gL2Rldi9udWxsCisrKyBiL3hlbi94c20vc2lsby5jCkBAIC0wLDAgKzEsMTA2IEBA CisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqCisgKiB4c20vc2lsby5jCisgKgorICogU0lMTyBtb2R1 bGUgZm9yIFhTTShYZW4gU2VjdXJpdHkgTW9kdWxlcykKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE4IENpdHJpeCBTeXN0ZW1zIEx0ZC4K KyAqLworCisjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CisjaW5jbHVkZSA8eHNtL3hzbS5oPgorCitz dHJ1Y3QgeHNtX29wZXJhdGlvbnMgc2lsb194c21fb3BzOworCisvKgorICogY2hlY2sgaWYgaW50 ZXItZG9tYWluIGNvbW11bmljYXRpb24gaXMgYWxsb3dlZAorICogcmV0dXJuIHRydWUgd2hlbiBw YXNzIGNoZWNrCisgKi8KK3N0YXRpYyBib29sIHNpbG9fbW9kZV9kb21fY2hlY2soZG9taWRfdCBs ZG9tLCBkb21pZF90IHJkb20pCit7CisgICAgZG9taWRfdCBoZF9kb20gPSBoYXJkd2FyZV9kb21h aW4tPmRvbWFpbl9pZDsKKyAgICBkb21pZF90IGN1cl9kb20gPSBjdXJyZW50LT5kb21haW4tPmRv bWFpbl9pZDsKKworICAgIGlmICggbGRvbSA9PSBET01JRF9TRUxGICkKKyAgICAgICAgbGRvbSA9 IGN1cl9kb207CisgICAgaWYgKCByZG9tID09IERPTUlEX1NFTEYgKQorICAgICAgICByZG9tID0g Y3VyX2RvbTsKKworICAgIHJldHVybiAoaGRfZG9tID09IGN1cl9kb20gfHwgaGRfZG9tID09IGxk b20gfHwgaGRfZG9tID09IHJkb20gfHwKKyAgICAgICAgICAgIGxkb20gPT0gcmRvbSk7Cit9CisK K3N0YXRpYyBpbnQgc2lsb19ldnRjaG5fdW5ib3VuZChzdHJ1Y3QgZG9tYWluICpkMSwgc3RydWN0 IGV2dGNobiAqY2huLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWlkX3QgaWQy KQoreworICAgIGlmICggc2lsb19tb2RlX2RvbV9jaGVjayhkMS0+ZG9tYWluX2lkLCBpZDIpICkK KyAgICAgICAgcmV0dXJuIGR1bW15X3hzbV9vcHMuZXZ0Y2huX3VuYm91bmQoZDEsIGNobiwgaWQy KTsKKyAgICByZXR1cm4gLUVQRVJNOworfQorCitzdGF0aWMgaW50IHNpbG9fZXZ0Y2huX2ludGVy ZG9tYWluKHN0cnVjdCBkb21haW4gKmQxLCBzdHJ1Y3QgZXZ0Y2huICpjaGFuMSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRvbWFpbiAqZDIsIHN0cnVjdCBldnRj aG4gKmNoYW4yKQoreworICAgIGlmICggc2lsb19tb2RlX2RvbV9jaGVjayhkMS0+ZG9tYWluX2lk LCBkMi0+ZG9tYWluX2lkKSApCisgICAgICAgIHJldHVybiBkdW1teV94c21fb3BzLmV2dGNobl9p bnRlcmRvbWFpbihkMSwgY2hhbjEsIGQyLCBjaGFuMik7CisgICAgcmV0dXJuIC1FUEVSTTsKK30K Kworc3RhdGljIGludCBzaWxvX2dyYW50X21hcHJlZihzdHJ1Y3QgZG9tYWluICpkMSwgc3RydWN0 IGRvbWFpbiAqZDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGZsYWdz KQoreworICAgIGlmICggc2lsb19tb2RlX2RvbV9jaGVjayhkMS0+ZG9tYWluX2lkLCBkMi0+ZG9t YWluX2lkKSApCisgICAgICAgIHJldHVybiBkdW1teV94c21fb3BzLmdyYW50X21hcHJlZihkMSwg ZDIsIGZsYWdzKTsKKyAgICByZXR1cm4gLUVQRVJNOworfQorCitzdGF0aWMgaW50IHNpbG9fZ3Jh bnRfdHJhbnNmZXIoc3RydWN0IGRvbWFpbiAqZDEsIHN0cnVjdCBkb21haW4gKmQyKQoreworICAg IGlmICggc2lsb19tb2RlX2RvbV9jaGVjayhkMS0+ZG9tYWluX2lkLCBkMi0+ZG9tYWluX2lkKSAp CisgICAgICAgIHJldHVybiBkdW1teV94c21fb3BzLmdyYW50X3RyYW5zZmVyKGQxLCBkMik7Cisg ICAgcmV0dXJuIC1FUEVSTTsKK30KKworc3RhdGljIGludCBzaWxvX2dyYW50X2NvcHkoc3RydWN0 IGRvbWFpbiAqZDEsIHN0cnVjdCBkb21haW4gKmQyKQoreworICAgIGlmICggc2lsb19tb2RlX2Rv bV9jaGVjayhkMS0+ZG9tYWluX2lkLCBkMi0+ZG9tYWluX2lkKSApCisgICAgICAgIHJldHVybiBk dW1teV94c21fb3BzLmdyYW50X2NvcHkoZDEsIGQyKTsKKyAgICByZXR1cm4gLUVQRVJNOworfQor Cit2b2lkIF9faW5pdCBzaWxvX2luaXQodm9pZCkKK3sKKyAgICBwcmludGsoIkluaXRpYWxpc2lu ZyBYU00gU0lMTyBtb2RlIik7CisKKyAgICBzaWxvX3hzbV9vcHMgPSBkdW1teV94c21fb3BzOwor CisgICAgc2lsb194c21fb3BzLmV2dGNobl91bmJvdW5kID0gc2lsb19ldnRjaG5fdW5ib3VuZDsK KyAgICBzaWxvX3hzbV9vcHMuZXZ0Y2huX2ludGVyZG9tYWluID0gc2lsb19ldnRjaG5faW50ZXJk b21haW47CisgICAgc2lsb194c21fb3BzLmdyYW50X21hcHJlZiA9IHNpbG9fZ3JhbnRfbWFwcmVm OworICAgIHNpbG9feHNtX29wcy5ncmFudF90cmFuc2ZlciA9IHNpbG9fZ3JhbnRfdHJhbnNmZXI7 CisgICAgc2lsb194c21fb3BzLmdyYW50X2NvcHkgPSBzaWxvX2dyYW50X2NvcHk7CisKKyAgICB4 c21fb3BzID0gJnNpbG9feHNtX29wczsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAq IG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0Cisg KiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRp ZmYgLS1naXQgYS94ZW4veHNtL3hzbV9jb3JlLmMgYi94ZW4veHNtL3hzbV9jb3JlLmMKaW5kZXgg ZTAwMjIwMDU3OC4uNzg0MmY2ZGQ0NCAxMDA2NDQKLS0tIGEveGVuL3hzbS94c21fY29yZS5jCisr KyBiL3hlbi94c20veHNtX2NvcmUuYwpAQCAtMzQsNiArMzQsNyBAQCBzdHJ1Y3QgeHNtX29wZXJh dGlvbnMgKnhzbV9vcHM7CiBlbnVtIHhzbV9ib290cGFyYW0gewogICAgIFhTTV9CT09UUEFSQU1f RFVNTVksCiAgICAgWFNNX0JPT1RQQVJBTV9GTEFTSywKKyAgICBYU01fQk9PVFBBUkFNX1NJTE8s CiAgICAgWFNNX0JPT1RQQVJBTV9JTlZBTElELAogfTsKIApAQCAtNDYsNiArNDcsMTAgQEAgc3Rh dGljIGludCBfX2luaXQgcGFyc2VfeHNtX3BhcmFtKGNvbnN0IGNoYXIgKnMpCiAjaWZkZWYgQ09O RklHX1hTTV9GTEFTSwogICAgIGVsc2UgaWYgKCAhc3RyY21wKHMsICJmbGFzayIpICkKICAgICAg ICAgeHNtX2Jvb3RwYXJhbSA9IFhTTV9CT09UUEFSQU1fRkxBU0s7CisjZW5kaWYKKyNpZmRlZiBD T05GSUdfWFNNX1NJTE8KKyAgICBlbHNlIGlmICggIXN0cmNtcChzLCAic2lsbyIpICkKKyAgICAg ICAgeHNtX2Jvb3RwYXJhbSA9IFhTTV9CT09UUEFSQU1fU0lMTzsKICNlbmRpZgogICAgIGVsc2UK ICAgICAgICAgeHNtX2Jvb3RwYXJhbSA9IFhTTV9CT09UUEFSQU1fSU5WQUxJRDsKQEAgLTkyLDYg Kzk3LDEwIEBAIHN0YXRpYyBpbnQgX19pbml0IHhzbV9jb3JlX2luaXQoY29uc3Qgdm9pZCAqcG9s aWN5X2J1ZmZlciwgc2l6ZV90IHBvbGljeV9zaXplKQogICAgICAgICBmbGFza19pbml0KHBvbGlj eV9idWZmZXIsIHBvbGljeV9zaXplKTsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFhTTV9C T09UUEFSQU1fU0lMTzoKKyAgICAgICAgc2lsb19pbml0KCk7CisgICAgICAgIGJyZWFrOworCiAg ICAgZGVmYXVsdDoKICAgICAgICAgcHJpbnRrKCJYU006IEludmFsaWQgdmFsdWUgZm9yIHhzbT0g Ym9vdCBwYXJhbWV0ZXIuXG4iKTsKICAgICB9Ci0tIAoyLjE4LjAKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs