From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 14/22] mini-os: add map_frame_virt() function Date: Tue, 23 Aug 2016 17:16:00 +0200 Message-ID: <1471965368-6159-15-git-send-email-jgross@suse.com> References: <1471965368-6159-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1471965368-6159-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: Juergen Gross , samuel.thibault@ens-lyon.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org QWRkIGEgZnVuY3Rpb24gbWFwX2ZyYW1lX3ZpcnQoKSB0byBtYXAgYSBnaXZlbiBmcmFtZSBhbmQg cmV0dXJuIGl0cwp2aXJ0dWFsIGFkZHJlc3MuCgpPbiBhcm0gd2UganVzdCB1c2UgdGhlIGZyYW1l IHBoeXNpY2FsIGFkZHJlc3MsIHdoaWxlIG9uIHg4NiB3ZSB0YWtlIGEKcGFnZSBmcm9tIHRoZSB2 aXJ0dWFsIGtlcm5lbCBhcmVhLiBGb3IgdGhpcyBwdXJwb3NlIG1ha2UgdGhpcyBhcmVhCmF2YWls YWJsZSBldmVuIGluIGNhc2Ugb2YgdW5kZWZpbmVkIENPTkZJR19CQUxMT09OLgoKU2lnbmVkLW9m Zi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIGFyY2gvYXJtL2JhbGxv b24uYyAgICB8ICAyIC0tCiBhcmNoL2FybS9tbS5jICAgICAgICAgfCAgNSArKysrKwogYXJjaC94 ODYvYmFsbG9vbi5jICAgIHwgMTMgKysrKy0tLS0tLS0tLQogYXJjaC94ODYvbW0uYyAgICAgICAg IHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKIGJhbGxvb24uYyAgICAgICAgICAgICB8ICA5 ICsrKystLS0tLQogaW5jbHVkZS9iYWxsb29uLmggICAgIHwgIDEgLQogaW5jbHVkZS9tbS5oICAg ICAgICAgIHwgIDEgKwogaW5jbHVkZS94ODYvYXJjaF9tbS5oIHwgIDEgKwogOCBmaWxlcyBjaGFu Z2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNo L2FybS9iYWxsb29uLmMgYi9hcmNoL2FybS9iYWxsb29uLmMKaW5kZXggOTU4ZWNiYS4uMWRmN2Qx YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYmFsbG9vbi5jCisrKyBiL2FyY2gvYXJtL2JhbGxvb24u YwpAQCAtMjUsOCArMjUsNiBAQAogCiAjaWZkZWYgQ09ORklHX0JBTExPT04KIAotdW5zaWduZWQg bG9uZyB2aXJ0X2tlcm5lbF9hcmVhX2VuZDsgICAvKiBUT0RPOiBmaW5kIGEgdmlydHVhbCBhcmVh ICovCi0KIHZvaWQgYXJjaF9wZm5fYWRkKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25n IG1mbikKIHsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tLmMgYi9hcmNoL2FybS9tbS5jCmlu ZGV4IDRmNThmYzcuLmRiZGUxNjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tLmMKKysrIGIvYXJj aC9hcm0vbW0uYwpAQCAtMTQxLDMgKzE0MSw4IEBAIGdyYW50X2VudHJ5X3QgKmFyY2hfaW5pdF9n bnR0YWIoaW50IG5yX2dyYW50X2ZyYW1lcykKIAogICAgIHJldHVybiB0b192aXJ0KGdudHRhYl90 YWJsZSk7CiB9CisKK3Vuc2lnbmVkIGxvbmcgbWFwX2ZyYW1lX3ZpcnQodW5zaWduZWQgbG9uZyBt Zm4pCit7CisgICAgcmV0dXJuIG1mbl90b192aXJ0KG1mbik7Cit9CmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9iYWxsb29uLmMgYi9hcmNoL3g4Ni9iYWxsb29uLmMKaW5kZXggMTZhYWFlNC4uMTBiNDQw YyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYmFsbG9vbi5jCisrKyBiL2FyY2gveDg2L2JhbGxvb24u YwpAQCAtMjksOSArMjksNiBAQAogI2luY2x1ZGUgPG1pbmktb3MvcGFyYXZpcnQuaD4KIAogI2lm ZGVmIENPTkZJR19CQUxMT09OCi0KLXVuc2lnbmVkIGxvbmcgdmlydF9rZXJuZWxfYXJlYV9lbmQg PSBWSVJUX0tFUk5FTF9BUkVBOwotCiAjaWZkZWYgQ09ORklHX1BBUkFWSVJUCiBzdGF0aWMgdm9p ZCBwMm1faW52YWxpZGF0ZSh1bnNpZ25lZCBsb25nICpsaXN0LCB1bnNpZ25lZCBsb25nIHN0YXJ0 X2lkeCkKIHsKQEAgLTUzLDcgKzUwLDcgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICpw Mm1fdG9fdmlydCh1bnNpZ25lZCBsb25nIHAybSkKIAogdm9pZCBhcmNoX3JlbWFwX3AybSh1bnNp Z25lZCBsb25nIG1heF9wZm4pCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBwZm47CisgICAgdW5zaWdu ZWQgbG9uZyBwZm4sIG5ld19wMm07CiAgICAgdW5zaWduZWQgbG9uZyAqbDNfbGlzdCwgKmwyX2xp c3QsICpsMV9saXN0OwogCiAgICAgbDNfbGlzdCA9IHAybV9sM2xpc3QoKTsKQEAgLTY3LDE3ICs2 NCwxNSBAQCB2b2lkIGFyY2hfcmVtYXBfcDJtKHVuc2lnbmVkIGxvbmcgbWF4X3BmbikKICAgICBp ZiAoIHAybV9wYWdlcyhucl9tYXhfcGFnZXMpIDw9IHAybV9wYWdlcyhtYXhfcGZuKSApCiAgICAg ICAgIHJldHVybjsKIAorICAgIG5ld19wMm0gPSBhbGxvY192aXJ0X2tlcm5lbChwMm1fcGFnZXMo bnJfbWF4X3BhZ2VzKSk7CiAgICAgZm9yICggcGZuID0gMDsgcGZuIDwgbWF4X3BmbjsgcGZuICs9 IFAyTV9FTlRSSUVTICkKICAgICB7Ci0gICAgICAgIG1hcF9mcmFtZV9ydyh2aXJ0X2tlcm5lbF9h cmVhX2VuZCArIFBBR0VfU0laRSAqIChwZm4gLyBQMk1fRU5UUklFUyksCisgICAgICAgIG1hcF9m cmFtZV9ydyhuZXdfcDJtICsgUEFHRV9TSVpFICogKHBmbiAvIFAyTV9FTlRSSUVTKSwKICAgICAg ICAgICAgICAgICAgICAgIHZpcnRfdG9fbWZuKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nICsgcGZu KSk7CiAgICAgfQogCi0gICAgcGh5c190b19tYWNoaW5lX21hcHBpbmcgPSAodW5zaWduZWQgbG9u ZyAqKXZpcnRfa2VybmVsX2FyZWFfZW5kOworICAgIHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nID0g KHVuc2lnbmVkIGxvbmcgKiluZXdfcDJtOwogICAgIHByaW50aygicmVtYXBwZWQgcDJtIGxpc3Qg dG8gJXBcbiIsIHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nKTsKLQotICAgIHZpcnRfa2VybmVsX2Fy ZWFfZW5kICs9IFBBR0VfU0laRSAqIHAybV9wYWdlcyhucl9tYXhfcGFnZXMpOwotICAgIEFTU0VS VCh2aXJ0X2tlcm5lbF9hcmVhX2VuZCA8PSBWSVJUX0RFTUFORF9BUkVBKTsKIH0KIAogaW50IGFy Y2hfZXhwYW5kX3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm4pCmRpZmYgLS1naXQgYS9hcmNoL3g4 Ni9tbS5jIGIvYXJjaC94ODYvbW0uYwppbmRleCBmNTI0OGE0Li43NjI1OTlkIDEwMDY0NAotLS0g YS9hcmNoL3g4Ni9tbS5jCisrKyBiL2FyY2gveDg2L21tLmMKQEAgLTU3LDYgKzU3LDcgQEAgdW5z aWduZWQgbG9uZyBtZm5femVybzsKIHBnZW50cnlfdCAqcHRfYmFzZTsKIHN0YXRpYyB1bnNpZ25l ZCBsb25nIGZpcnN0X2ZyZWVfcGZuOwogc3RhdGljIHVuc2lnbmVkIGxvbmcgbGFzdF9mcmVlX3Bm bjsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHZpcnRfa2VybmVsX2FyZWFfZW5kID0gVklSVF9LRVJO RUxfQVJFQTsKIAogZXh0ZXJuIGNoYXIgc3RhY2tbXTsKIGV4dGVybiB2b2lkIHBhZ2Vfd2Fsayh1 bnNpZ25lZCBsb25nIHZhKTsKQEAgLTgyOSwzICs4MzAsMjUgQEAgZ3JhbnRfZW50cnlfdCAqYXJj aF9pbml0X2dudHRhYihpbnQgbnJfZ3JhbnRfZnJhbWVzKQogICAgIEhZUEVSVklTT1JfZ3JhbnRf dGFibGVfb3AoR05UVEFCT1Bfc2V0dXBfdGFibGUsICZzZXR1cCwgMSk7CiAgICAgcmV0dXJuIG1h cF9mcmFtZXMoZnJhbWVzLCBucl9ncmFudF9mcmFtZXMpOwogfQorCit1bnNpZ25lZCBsb25nIGFs bG9jX3ZpcnRfa2VybmVsKHVuc2lnbmVkIG5fcGFnZXMpCit7CisgICAgdW5zaWduZWQgbG9uZyBh ZGRyOworCisgICAgYWRkciA9IHZpcnRfa2VybmVsX2FyZWFfZW5kOworICAgIHZpcnRfa2VybmVs X2FyZWFfZW5kICs9IFBBR0VfU0laRSAqIG5fcGFnZXM7CisgICAgQVNTRVJUKHZpcnRfa2VybmVs X2FyZWFfZW5kIDw9IFZJUlRfREVNQU5EX0FSRUEpOworCisgICAgcmV0dXJuIGFkZHI7Cit9CisK K3Vuc2lnbmVkIGxvbmcgbWFwX2ZyYW1lX3ZpcnQodW5zaWduZWQgbG9uZyBtZm4pCit7CisgICAg dW5zaWduZWQgbG9uZyBhZGRyOworCisgICAgYWRkciA9IGFsbG9jX3ZpcnRfa2VybmVsKDEpOwor ICAgIGlmICggbWFwX2ZyYW1lX3J3KGFkZHIsIG1mbikgKQorICAgICAgICByZXR1cm4gMDsKKwor ICAgIHJldHVybiBhZGRyOworfQpkaWZmIC0tZ2l0IGEvYmFsbG9vbi5jIGIvYmFsbG9vbi5jCmlu ZGV4IDg2NjllZGIuLmIwZDAyMzAgMTAwNjQ0Ci0tLSBhL2JhbGxvb24uYworKysgYi9iYWxsb29u LmMKQEAgLTUwLDIwICs1MCwxOSBAQCB2b2lkIGdldF9tYXhfcGFnZXModm9pZCkKIAogdm9pZCBt bV9hbGxvY19iaXRtYXBfcmVtYXAodm9pZCkKIHsKLSAgICB1bnNpZ25lZCBsb25nIGk7CisgICAg dW5zaWduZWQgbG9uZyBpLCBuZXdfYml0bWFwOwogCiAgICAgaWYgKCBtbV9hbGxvY19iaXRtYXBf c2l6ZSA+PSAoKG5yX21heF9wYWdlcyArIDEpID4+IDMpICkKICAgICAgICAgcmV0dXJuOwogCisg ICAgbmV3X2JpdG1hcCA9IGFsbG9jX3ZpcnRfa2VybmVsKFBGTl9VUCgobnJfbWF4X3BhZ2VzICsg MSkgPj4gMykpOwogICAgIGZvciAoIGkgPSAwOyBpIDwgbW1fYWxsb2NfYml0bWFwX3NpemU7IGkg Kz0gUEFHRV9TSVpFICkKICAgICB7Ci0gICAgICAgIG1hcF9mcmFtZV9ydyh2aXJ0X2tlcm5lbF9h cmVhX2VuZCArIGksCisgICAgICAgIG1hcF9mcmFtZV9ydyhuZXdfYml0bWFwICsgaSwKICAgICAg ICAgICAgICAgICAgICAgIHZpcnRfdG9fbWZuKCh1bnNpZ25lZCBsb25nKShtbV9hbGxvY19iaXRt YXApICsgaSkpOwogICAgIH0KIAotICAgIG1tX2FsbG9jX2JpdG1hcCA9ICh1bnNpZ25lZCBsb25n ICopdmlydF9rZXJuZWxfYXJlYV9lbmQ7Ci0gICAgdmlydF9rZXJuZWxfYXJlYV9lbmQgKz0gcm91 bmRfcGd1cCgobnJfbWF4X3BhZ2VzICsgMSkgPj4gMyk7Ci0gICAgQVNTRVJUKHZpcnRfa2VybmVs X2FyZWFfZW5kIDw9IFZJUlRfREVNQU5EX0FSRUEpOworICAgIG1tX2FsbG9jX2JpdG1hcCA9ICh1 bnNpZ25lZCBsb25nICopbmV3X2JpdG1hcDsKIH0KIAogI2RlZmluZSBOX0JBTExPT05fRlJBTUVT IDY0CmRpZmYgLS1naXQgYS9pbmNsdWRlL2JhbGxvb24uaCBiL2luY2x1ZGUvYmFsbG9vbi5oCmlu ZGV4IDhjZDQxYWYuLjZjZmVjNGYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYmFsbG9vbi5oCisrKyBi L2luY2x1ZGUvYmFsbG9vbi5oCkBAIC0zMyw3ICszMyw2IEBACiAjZGVmaW5lIEJBTExPT05fRU1F UkdFTkNZX1BBR0VTICAgNjQKIAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfbWF4X3BhZ2VzOwot ZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdmlydF9rZXJuZWxfYXJlYV9lbmQ7CiBleHRlcm4gdW5zaWdu ZWQgbG9uZyBucl9tZW1fcGFnZXM7CiAKIHZvaWQgZ2V0X21heF9wYWdlcyh2b2lkKTsKZGlmZiAt LWdpdCBhL2luY2x1ZGUvbW0uaCBiL2luY2x1ZGUvbW0uaAppbmRleCA5NTM1NzBjLi40ZmMzNjRm IDEwMDY0NAotLS0gYS9pbmNsdWRlL21tLmgKKysrIGIvaW5jbHVkZS9tbS5oCkBAIC03OSw2ICs3 OSw3IEBAIGludCBkb19tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgYWRkciwKIAl1bnNpZ25lZCBs b25nIGluY3JlbWVudCwgZG9taWRfdCBpZCwgaW50ICplcnIsIHVuc2lnbmVkIGxvbmcgcHJvdCk7 CiBpbnQgdW5tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgdmEsIHVuc2lnbmVkIGxvbmcgbnVtX2Zy YW1lcyk7CiBpbnQgbWFwX2ZyYW1lX3J3KHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9u ZyBtZm4pOwordW5zaWduZWQgbG9uZyBtYXBfZnJhbWVfdmlydCh1bnNpZ25lZCBsb25nIG1mbik7 CiAjaWZkZWYgSEFWRV9MSUJDCiBleHRlcm4gdW5zaWduZWQgbG9uZyBoZWFwLCBicmssIGhlYXBf bWFwcGVkLCBoZWFwX2VuZDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ODYvYXJjaF9t bS5oIGIvaW5jbHVkZS94ODYvYXJjaF9tbS5oCmluZGV4IGUwYWU1NTIuLjkzNzJmMWUgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUveDg2L2FyY2hfbW0uaAorKysgYi9pbmNsdWRlL3g4Ni9hcmNoX21tLmgK QEAgLTI3Nyw2ICsyNzcsNyBAQCBzdGF0aWMgX19pbmxpbmVfXyBwYWRkcl90IG1hY2hpbmVfdG9f cGh5cyhtYWRkcl90IG1hY2hpbmUpCiAKIHBnZW50cnlfdCAqbmVlZF9wZ3QodW5zaWduZWQgbG9u ZyBhZGRyKTsKIHZvaWQgYXJjaF9tbV9wcmVpbml0KHZvaWQgKnApOwordW5zaWduZWQgbG9uZyBh bGxvY192aXJ0X2tlcm5lbCh1bnNpZ25lZCBuX3BhZ2VzKTsKIAogI2VuZGlmCiAKLS0gCjIuNi42 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==