From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 14/22] mini-os: add map_frame_virt() function Date: Wed, 24 Aug 2016 12:11:36 +0200 Message-ID: <1472033504-23180-15-git-send-email-jgross@suse.com> References: <1472033504-23180-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: <1472033504-23180-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 Zi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogU2FtdWVs IFRoaWJhdWx0IDxzYW11ZWwudGhpYmF1bHRAZW5zLWx5b24ub3JnPgotLS0KIGFyY2gvYXJtL2Jh bGxvb24uYyAgICB8ICAyIC0tCiBhcmNoL2FybS9tbS5jICAgICAgICAgfCAgNSArKysrKwogYXJj aC94ODYvYmFsbG9vbi5jICAgIHwgMTMgKysrKy0tLS0tLS0tLQogYXJjaC94ODYvbW0uYyAgICAg ICAgIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKIGJhbGxvb24uYyAgICAgICAgICAgICB8 ICA5ICsrKystLS0tLQogaW5jbHVkZS9iYWxsb29uLmggICAgIHwgIDEgLQogaW5jbHVkZS9tbS5o ICAgICAgICAgIHwgIDEgKwogaW5jbHVkZS94ODYvYXJjaF9tbS5oIHwgIDEgKwogOCBmaWxlcyBj aGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9h cmNoL2FybS9iYWxsb29uLmMgYi9hcmNoL2FybS9iYWxsb29uLmMKaW5kZXggOTU4ZWNiYS4uMWRm N2QxYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYmFsbG9vbi5jCisrKyBiL2FyY2gvYXJtL2JhbGxv b24uYwpAQCAtMjUsOCArMjUsNiBAQAogCiAjaWZkZWYgQ09ORklHX0JBTExPT04KIAotdW5zaWdu ZWQgbG9uZyB2aXJ0X2tlcm5lbF9hcmVhX2VuZDsgICAvKiBUT0RPOiBmaW5kIGEgdmlydHVhbCBh cmVhICovCi0KIHZvaWQgYXJjaF9wZm5fYWRkKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBs b25nIG1mbikKIHsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tLmMgYi9hcmNoL2FybS9tbS5j CmluZGV4IDRmNThmYzcuLmRiZGUxNjIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tLmMKKysrIGIv YXJjaC9hcm0vbW0uYwpAQCAtMTQxLDMgKzE0MSw4IEBAIGdyYW50X2VudHJ5X3QgKmFyY2hfaW5p dF9nbnR0YWIoaW50IG5yX2dyYW50X2ZyYW1lcykKIAogICAgIHJldHVybiB0b192aXJ0KGdudHRh Yl90YWJsZSk7CiB9CisKK3Vuc2lnbmVkIGxvbmcgbWFwX2ZyYW1lX3ZpcnQodW5zaWduZWQgbG9u ZyBtZm4pCit7CisgICAgcmV0dXJuIG1mbl90b192aXJ0KG1mbik7Cit9CmRpZmYgLS1naXQgYS9h cmNoL3g4Ni9iYWxsb29uLmMgYi9hcmNoL3g4Ni9iYWxsb29uLmMKaW5kZXggMTZhYWFlNC4uMTBi NDQwYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYmFsbG9vbi5jCisrKyBiL2FyY2gveDg2L2JhbGxv b24uYwpAQCAtMjksOSArMjksNiBAQAogI2luY2x1ZGUgPG1pbmktb3MvcGFyYXZpcnQuaD4KIAog I2lmZGVmIENPTkZJR19CQUxMT09OCi0KLXVuc2lnbmVkIGxvbmcgdmlydF9rZXJuZWxfYXJlYV9l bmQgPSBWSVJUX0tFUk5FTF9BUkVBOwotCiAjaWZkZWYgQ09ORklHX1BBUkFWSVJUCiBzdGF0aWMg dm9pZCBwMm1faW52YWxpZGF0ZSh1bnNpZ25lZCBsb25nICpsaXN0LCB1bnNpZ25lZCBsb25nIHN0 YXJ0X2lkeCkKIHsKQEAgLTUzLDcgKzUwLDcgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25n ICpwMm1fdG9fdmlydCh1bnNpZ25lZCBsb25nIHAybSkKIAogdm9pZCBhcmNoX3JlbWFwX3AybSh1 bnNpZ25lZCBsb25nIG1heF9wZm4pCiB7Ci0gICAgdW5zaWduZWQgbG9uZyBwZm47CisgICAgdW5z aWduZWQgbG9uZyBwZm4sIG5ld19wMm07CiAgICAgdW5zaWduZWQgbG9uZyAqbDNfbGlzdCwgKmwy X2xpc3QsICpsMV9saXN0OwogCiAgICAgbDNfbGlzdCA9IHAybV9sM2xpc3QoKTsKQEAgLTY3LDE3 ICs2NCwxNSBAQCB2b2lkIGFyY2hfcmVtYXBfcDJtKHVuc2lnbmVkIGxvbmcgbWF4X3BmbikKICAg ICBpZiAoIHAybV9wYWdlcyhucl9tYXhfcGFnZXMpIDw9IHAybV9wYWdlcyhtYXhfcGZuKSApCiAg ICAgICAgIHJldHVybjsKIAorICAgIG5ld19wMm0gPSBhbGxvY192aXJ0X2tlcm5lbChwMm1fcGFn ZXMobnJfbWF4X3BhZ2VzKSk7CiAgICAgZm9yICggcGZuID0gMDsgcGZuIDwgbWF4X3BmbjsgcGZu ICs9IFAyTV9FTlRSSUVTICkKICAgICB7Ci0gICAgICAgIG1hcF9mcmFtZV9ydyh2aXJ0X2tlcm5l bF9hcmVhX2VuZCArIFBBR0VfU0laRSAqIChwZm4gLyBQMk1fRU5UUklFUyksCisgICAgICAgIG1h cF9mcmFtZV9ydyhuZXdfcDJtICsgUEFHRV9TSVpFICogKHBmbiAvIFAyTV9FTlRSSUVTKSwKICAg ICAgICAgICAgICAgICAgICAgIHZpcnRfdG9fbWZuKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nICsg cGZuKSk7CiAgICAgfQogCi0gICAgcGh5c190b19tYWNoaW5lX21hcHBpbmcgPSAodW5zaWduZWQg bG9uZyAqKXZpcnRfa2VybmVsX2FyZWFfZW5kOworICAgIHBoeXNfdG9fbWFjaGluZV9tYXBwaW5n ID0gKHVuc2lnbmVkIGxvbmcgKiluZXdfcDJtOwogICAgIHByaW50aygicmVtYXBwZWQgcDJtIGxp c3QgdG8gJXBcbiIsIHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nKTsKLQotICAgIHZpcnRfa2VybmVs X2FyZWFfZW5kICs9IFBBR0VfU0laRSAqIHAybV9wYWdlcyhucl9tYXhfcGFnZXMpOwotICAgIEFT U0VSVCh2aXJ0X2tlcm5lbF9hcmVhX2VuZCA8PSBWSVJUX0RFTUFORF9BUkVBKTsKIH0KIAogaW50 IGFyY2hfZXhwYW5kX3AybSh1bnNpZ25lZCBsb25nIG1heF9wZm4pCmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9tbS5jIGIvYXJjaC94ODYvbW0uYwppbmRleCBmNTI0OGE0Li43NjI1OTlkIDEwMDY0NAot LS0gYS9hcmNoL3g4Ni9tbS5jCisrKyBiL2FyY2gveDg2L21tLmMKQEAgLTU3LDYgKzU3LDcgQEAg dW5zaWduZWQgbG9uZyBtZm5femVybzsKIHBnZW50cnlfdCAqcHRfYmFzZTsKIHN0YXRpYyB1bnNp Z25lZCBsb25nIGZpcnN0X2ZyZWVfcGZuOwogc3RhdGljIHVuc2lnbmVkIGxvbmcgbGFzdF9mcmVl X3BmbjsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHZpcnRfa2VybmVsX2FyZWFfZW5kID0gVklSVF9L RVJORUxfQVJFQTsKIAogZXh0ZXJuIGNoYXIgc3RhY2tbXTsKIGV4dGVybiB2b2lkIHBhZ2Vfd2Fs ayh1bnNpZ25lZCBsb25nIHZhKTsKQEAgLTgyOSwzICs4MzAsMjUgQEAgZ3JhbnRfZW50cnlfdCAq YXJjaF9pbml0X2dudHRhYihpbnQgbnJfZ3JhbnRfZnJhbWVzKQogICAgIEhZUEVSVklTT1JfZ3Jh bnRfdGFibGVfb3AoR05UVEFCT1Bfc2V0dXBfdGFibGUsICZzZXR1cCwgMSk7CiAgICAgcmV0dXJu IG1hcF9mcmFtZXMoZnJhbWVzLCBucl9ncmFudF9mcmFtZXMpOwogfQorCit1bnNpZ25lZCBsb25n IGFsbG9jX3ZpcnRfa2VybmVsKHVuc2lnbmVkIG5fcGFnZXMpCit7CisgICAgdW5zaWduZWQgbG9u ZyBhZGRyOworCisgICAgYWRkciA9IHZpcnRfa2VybmVsX2FyZWFfZW5kOworICAgIHZpcnRfa2Vy bmVsX2FyZWFfZW5kICs9IFBBR0VfU0laRSAqIG5fcGFnZXM7CisgICAgQVNTRVJUKHZpcnRfa2Vy bmVsX2FyZWFfZW5kIDw9IFZJUlRfREVNQU5EX0FSRUEpOworCisgICAgcmV0dXJuIGFkZHI7Cit9 CisKK3Vuc2lnbmVkIGxvbmcgbWFwX2ZyYW1lX3ZpcnQodW5zaWduZWQgbG9uZyBtZm4pCit7Cisg ICAgdW5zaWduZWQgbG9uZyBhZGRyOworCisgICAgYWRkciA9IGFsbG9jX3ZpcnRfa2VybmVsKDEp OworICAgIGlmICggbWFwX2ZyYW1lX3J3KGFkZHIsIG1mbikgKQorICAgICAgICByZXR1cm4gMDsK KworICAgIHJldHVybiBhZGRyOworfQpkaWZmIC0tZ2l0IGEvYmFsbG9vbi5jIGIvYmFsbG9vbi5j CmluZGV4IDg2NjllZGIuLmIwZDAyMzAgMTAwNjQ0Ci0tLSBhL2JhbGxvb24uYworKysgYi9iYWxs b29uLmMKQEAgLTUwLDIwICs1MCwxOSBAQCB2b2lkIGdldF9tYXhfcGFnZXModm9pZCkKIAogdm9p ZCBtbV9hbGxvY19iaXRtYXBfcmVtYXAodm9pZCkKIHsKLSAgICB1bnNpZ25lZCBsb25nIGk7Cisg ICAgdW5zaWduZWQgbG9uZyBpLCBuZXdfYml0bWFwOwogCiAgICAgaWYgKCBtbV9hbGxvY19iaXRt YXBfc2l6ZSA+PSAoKG5yX21heF9wYWdlcyArIDEpID4+IDMpICkKICAgICAgICAgcmV0dXJuOwog CisgICAgbmV3X2JpdG1hcCA9IGFsbG9jX3ZpcnRfa2VybmVsKFBGTl9VUCgobnJfbWF4X3BhZ2Vz ICsgMSkgPj4gMykpOwogICAgIGZvciAoIGkgPSAwOyBpIDwgbW1fYWxsb2NfYml0bWFwX3NpemU7 IGkgKz0gUEFHRV9TSVpFICkKICAgICB7Ci0gICAgICAgIG1hcF9mcmFtZV9ydyh2aXJ0X2tlcm5l bF9hcmVhX2VuZCArIGksCisgICAgICAgIG1hcF9mcmFtZV9ydyhuZXdfYml0bWFwICsgaSwKICAg ICAgICAgICAgICAgICAgICAgIHZpcnRfdG9fbWZuKCh1bnNpZ25lZCBsb25nKShtbV9hbGxvY19i aXRtYXApICsgaSkpOwogICAgIH0KIAotICAgIG1tX2FsbG9jX2JpdG1hcCA9ICh1bnNpZ25lZCBs b25nICopdmlydF9rZXJuZWxfYXJlYV9lbmQ7Ci0gICAgdmlydF9rZXJuZWxfYXJlYV9lbmQgKz0g cm91bmRfcGd1cCgobnJfbWF4X3BhZ2VzICsgMSkgPj4gMyk7Ci0gICAgQVNTRVJUKHZpcnRfa2Vy bmVsX2FyZWFfZW5kIDw9IFZJUlRfREVNQU5EX0FSRUEpOworICAgIG1tX2FsbG9jX2JpdG1hcCA9 ICh1bnNpZ25lZCBsb25nICopbmV3X2JpdG1hcDsKIH0KIAogI2RlZmluZSBOX0JBTExPT05fRlJB TUVTIDY0CmRpZmYgLS1naXQgYS9pbmNsdWRlL2JhbGxvb24uaCBiL2luY2x1ZGUvYmFsbG9vbi5o CmluZGV4IDhjZDQxYWYuLjZjZmVjNGYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYmFsbG9vbi5oCisr KyBiL2luY2x1ZGUvYmFsbG9vbi5oCkBAIC0zMyw3ICszMyw2IEBACiAjZGVmaW5lIEJBTExPT05f RU1FUkdFTkNZX1BBR0VTICAgNjQKIAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfbWF4X3BhZ2Vz OwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdmlydF9rZXJuZWxfYXJlYV9lbmQ7CiBleHRlcm4gdW5z aWduZWQgbG9uZyBucl9tZW1fcGFnZXM7CiAKIHZvaWQgZ2V0X21heF9wYWdlcyh2b2lkKTsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbW0uaCBiL2luY2x1ZGUvbW0uaAppbmRleCA5NTM1NzBjLi40ZmMz NjRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL21tLmgKKysrIGIvaW5jbHVkZS9tbS5oCkBAIC03OSw2 ICs3OSw3IEBAIGludCBkb19tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgYWRkciwKIAl1bnNpZ25l ZCBsb25nIGluY3JlbWVudCwgZG9taWRfdCBpZCwgaW50ICplcnIsIHVuc2lnbmVkIGxvbmcgcHJv dCk7CiBpbnQgdW5tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgdmEsIHVuc2lnbmVkIGxvbmcgbnVt X2ZyYW1lcyk7CiBpbnQgbWFwX2ZyYW1lX3J3KHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQg bG9uZyBtZm4pOwordW5zaWduZWQgbG9uZyBtYXBfZnJhbWVfdmlydCh1bnNpZ25lZCBsb25nIG1m bik7CiAjaWZkZWYgSEFWRV9MSUJDCiBleHRlcm4gdW5zaWduZWQgbG9uZyBoZWFwLCBicmssIGhl YXBfbWFwcGVkLCBoZWFwX2VuZDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ODYvYXJj aF9tbS5oIGIvaW5jbHVkZS94ODYvYXJjaF9tbS5oCmluZGV4IGUwYWU1NTIuLjkzNzJmMWUgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUveDg2L2FyY2hfbW0uaAorKysgYi9pbmNsdWRlL3g4Ni9hcmNoX21t LmgKQEAgLTI3Nyw2ICsyNzcsNyBAQCBzdGF0aWMgX19pbmxpbmVfXyBwYWRkcl90IG1hY2hpbmVf dG9fcGh5cyhtYWRkcl90IG1hY2hpbmUpCiAKIHBnZW50cnlfdCAqbmVlZF9wZ3QodW5zaWduZWQg bG9uZyBhZGRyKTsKIHZvaWQgYXJjaF9tbV9wcmVpbml0KHZvaWQgKnApOwordW5zaWduZWQgbG9u ZyBhbGxvY192aXJ0X2tlcm5lbCh1bnNpZ25lZCBuX3BhZ2VzKTsKIAogI2VuZGlmCiAKLS0gCjIu Ni42CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==