From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 08/22] mini-os: initialize trap handling for HVMlite Date: Wed, 24 Aug 2016 12:11:30 +0200 Message-ID: <1472033504-23180-9-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 VHJhcCBoYW5kbGluZyBmb3IgSFZNbGl0ZSBkb21haW5zIHJlcXVpcmVzIGFuIGluaXRpYWxpemVk IElEVC4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KUmV2 aWV3ZWQtYnk6IFNhbXVlbCBUaGliYXVsdCA8c2FtdWVsLnRoaWJhdWx0QGVucy1seW9uLm9yZz4K LS0tCiBhcmNoL3g4Ni9zZXR1cC5jICB8IDE1IC0tLS0tLS0tLS0KIGFyY2gveDg2L3RyYXBzLmMg IHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogYXJjaC94ODYveDg2XzY0LlMgfCAgNCArKysKIGluY2x1ZGUveDg2L29zLmggIHwgIDEg KwogNCBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9zZXR1cC5jIGIvYXJjaC94ODYvc2V0dXAuYwppbmRleCBlZGM0 Y2E0Li5lZmVjZWZiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL2FyY2gveDg2 L3NldHVwLmMKQEAgLTUyLDEwICs1Miw2IEBAIGNoYXIgc3RhY2tbMipTVEFDS19TSVpFXTsKIAog ZXh0ZXJuIGNoYXIgc2hhcmVkX2luZm9bUEFHRV9TSVpFXTsKIAotLyogQXNzZW1ibGVyIGludGVy ZmFjZSBmbnMgaW4gZW50cnkuUy4gKi8KLXZvaWQgaHlwZXJ2aXNvcl9jYWxsYmFjayh2b2lkKTsK LXZvaWQgZmFpbHNhZmVfY2FsbGJhY2sodm9pZCk7Ci0KICNpZiBkZWZpbmVkKF9feDg2XzY0X18p CiAjZGVmaW5lIF9fcHRlKHgpICgocHRlX3QpIHsgKHgpIH0gKQogI2Vsc2UKQEAgLTE2MiwxNyAr MTU4LDYgQEAgYXJjaF9pbml0KHZvaWQgKnBhcikKIAkvKiBHcmFiIHRoZSBzaGFyZWRfaW5mbyBw b2ludGVyIGFuZCBwdXQgaXQgaW4gYSBzYWZlIHBsYWNlLiAqLwogCUhZUEVSVklTT1Jfc2hhcmVk X2luZm8gPSBtYXBfc2hhcmVkX2luZm8oc3RhcnRfaW5mby5zaGFyZWRfaW5mbyk7CiAKLQkgICAg LyogU2V0IHVwIGV2ZW50IGFuZCBmYWlsc2FmZSBjYWxsYmFjayBhZGRyZXNzZXMuICovCi0jaWZk ZWYgX19pMzg2X18KLQlIWVBFUlZJU09SX3NldF9jYWxsYmFja3MoCi0JCV9fS0VSTkVMX0NTLCAo dW5zaWduZWQgbG9uZyloeXBlcnZpc29yX2NhbGxiYWNrLAotCQlfX0tFUk5FTF9DUywgKHVuc2ln bmVkIGxvbmcpZmFpbHNhZmVfY2FsbGJhY2spOwotI2Vsc2UKLQlIWVBFUlZJU09SX3NldF9jYWxs YmFja3MoCi0JCSh1bnNpZ25lZCBsb25nKWh5cGVydmlzb3JfY2FsbGJhY2ssCi0JCSh1bnNpZ25l ZCBsb25nKWZhaWxzYWZlX2NhbGxiYWNrLCAwKTsKLSNlbmRpZgotCiAJc3RhcnRfa2VybmVsKCk7 CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3RyYXBzLmMgYi9hcmNoL3g4Ni90cmFwcy5jCmlu ZGV4IDMwN2ExNGMuLjNiMWZmZmIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3RyYXBzLmMKKysrIGIv YXJjaC94ODYvdHJhcHMuYwpAQCAtMSwxMCArMSwxMiBAQAogCiAjaW5jbHVkZSA8bWluaS1vcy9v cy5oPgogI2luY2x1ZGUgPG1pbmktb3MvdHJhcHMuaD4KKyNpbmNsdWRlIDxtaW5pLW9zL2Rlc2Mu aD4KICNpbmNsdWRlIDxtaW5pLW9zL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxtaW5pLW9zL21t Lmg+CiAjaW5jbHVkZSA8bWluaS1vcy9saWIuaD4KICNpbmNsdWRlIDxtaW5pLW9zL3NjaGVkLmg+ CisjaW5jbHVkZSA8eGVuL2h2bS9wYXJhbXMuaD4KIAogLyoKICAqIFRoZXNlIGFyZSBhc3NlbWJs ZXIgc3R1YnMgaW4gZW50cnkuUy4KQEAgLTI5Myw2ICsyOTUsMTEgQEAgdm9pZCBkb19zcHVyaW91 c19pbnRlcnJ1cHRfYnVnKHN0cnVjdCBwdF9yZWdzICogcmVncykKIHsKIH0KIAorLyogQXNzZW1i bGVyIGludGVyZmFjZSBmbnMgaW4gZW50cnkuUy4gKi8KK3ZvaWQgaHlwZXJ2aXNvcl9jYWxsYmFj ayh2b2lkKTsKK3ZvaWQgZmFpbHNhZmVfY2FsbGJhY2sodm9pZCk7CisKKyNpZmRlZiBDT05GSUdf UEFSQVZJUlQKIC8qCiAgKiBTdWJtaXQgYSB2aXJ0dWFsIElEVCB0byB0ZWggaHlwZXJ2aXNvci4g VGhpcyBjb25zaXN0cyBvZiB0dXBsZXMKICAqIChpbnRlcnJ1cHQgdmVjdG9yLCBwcml2aWxlZ2Ug cmluZywgQ1M6RUlQIG9mIGhhbmRsZXIpLgpAQCAtMzI1LDkgKzMzMiw5MCBAQCBzdGF0aWMgdHJh cF9pbmZvX3QgdHJhcF90YWJsZVtdID0gewogdm9pZCB0cmFwX2luaXQodm9pZCkKIHsKICAgICBI WVBFUlZJU09SX3NldF90cmFwX3RhYmxlKHRyYXBfdGFibGUpOyAgICAKKworI2lmZGVmIF9faTM4 Nl9fCisgICAgSFlQRVJWSVNPUl9zZXRfY2FsbGJhY2tzKAorICAgICAgICBfX0tFUk5FTF9DUywg KHVuc2lnbmVkIGxvbmcpaHlwZXJ2aXNvcl9jYWxsYmFjaywKKyAgICAgICAgX19LRVJORUxfQ1Ms ICh1bnNpZ25lZCBsb25nKWZhaWxzYWZlX2NhbGxiYWNrKTsKKyNlbHNlCisgICAgSFlQRVJWSVNP Ul9zZXRfY2FsbGJhY2tzKAorICAgICAgICAodW5zaWduZWQgbG9uZyloeXBlcnZpc29yX2NhbGxi YWNrLAorICAgICAgICAodW5zaWduZWQgbG9uZylmYWlsc2FmZV9jYWxsYmFjaywgMCk7CisjZW5k aWYKIH0KIAogdm9pZCB0cmFwX2Zpbmkodm9pZCkKIHsKICAgICBIWVBFUlZJU09SX3NldF90cmFw X3RhYmxlKE5VTEwpOwogfQorI2Vsc2UKKworI2RlZmluZSBJTlRSX1NUQUNLX1NJWkUgUEFHRV9T SVpFCitzdGF0aWMgdWludDhfdCBpbnRyX3N0YWNrW0lOVFJfU1RBQ0tfU0laRV0gX19hdHRyaWJ1 dGVfXygoYWxpZ25lZCgxNikpKTsKKworaHdfdHNzIHRzcyBfX2F0dHJpYnV0ZV9fKChhbGlnbmVk KDE2KSkpID0KK3sKKyNpZiBkZWZpbmVkKF9faTM4Nl9fKQorICAgIC5lc3AwID0gKHVuc2lnbmVk IGxvbmcpJmludHJfc3RhY2tbSU5UUl9TVEFDS19TSVpFXSwKKyAgICAuc3MwICA9IF9fS0VSTl9E UywKKyNlbGlmIGRlZmluZWQoX194ODZfNjRfXykKKyAgICAucnNwMCA9ICh1bnNpZ25lZCBsb25n KSZpbnRyX3N0YWNrW0lOVFJfU1RBQ0tfU0laRV0sCisjZW5kaWYKKyAgICAuaW9wYiA9IFg4Nl9U U1NfSU5WQUxJRF9JT19CSVRNQVAsCit9OworCitzdGF0aWMgdm9pZCBzZXR1cF9nYXRlKHVuc2ln bmVkIGludCBlbnRyeSwgdm9pZCAqYWRkciwgdW5zaWduZWQgaW50IGRwbCkKK3sKKyAgICBpZHRb ZW50cnldLm9mZnNldDAgPSAodW5zaWduZWQgbG9uZylhZGRyICYgMHhmZmZmOworICAgIGlkdFtl bnRyeV0uc2VsZWN0b3IgPSBfX0tFUk5fQ1M7CisgICAgaWR0W2VudHJ5XS5fcjAgPSAwOworICAg IGlkdFtlbnRyeV0udHlwZSA9IDE0OworICAgIGlkdFtlbnRyeV0ucyA9IDA7CisgICAgaWR0W2Vu dHJ5XS5kcGwgPSBkcGw7CisgICAgaWR0W2VudHJ5XS5wID0gMTsKKyAgICBpZHRbZW50cnldLm9m ZnNldDEgPSAoKHVuc2lnbmVkIGxvbmcpYWRkciA+PiAxNikgJiAweGZmZmY7CisjaWYgZGVmaW5l ZChfX3g4Nl82NF9fKQorICAgIGlkdFtlbnRyeV0uaXN0ID0gMDsKKyAgICBpZHRbZW50cnldLm9m ZnNldDIgPSAoKHVuc2lnbmVkIGxvbmcpYWRkciA+PiAzMikgJiAweGZmZmZmZmZmdTsKKyAgICBp ZHRbZW50cnldLl9yMSA9IDA7CisjZW5kaWYKK30KKwordm9pZCB0cmFwX2luaXQodm9pZCkKK3sK KyAgICBzZXR1cF9nYXRlKFRSQVBfZGl2aWRlX2Vycm9yLCAmZGl2aWRlX2Vycm9yLCAwKTsKKyAg ICBzZXR1cF9nYXRlKFRSQVBfZGVidWcsICZkZWJ1ZywgMCk7CisgICAgc2V0dXBfZ2F0ZShUUkFQ X2ludDMsICZpbnQzLCAzKTsKKyAgICBzZXR1cF9nYXRlKFRSQVBfb3ZlcmZsb3csICZvdmVyZmxv dywgMyk7CisgICAgc2V0dXBfZ2F0ZShUUkFQX2JvdW5kcywgJmJvdW5kcywgMCk7CisgICAgc2V0 dXBfZ2F0ZShUUkFQX2ludmFsaWRfb3AsICZpbnZhbGlkX29wLCAwKTsKKyAgICBzZXR1cF9nYXRl KFRSQVBfbm9fZGV2aWNlLCAmZGV2aWNlX25vdF9hdmFpbGFibGUsIDApOworICAgIHNldHVwX2dh dGUoVFJBUF9jb3Byb19zZWcsICZjb3Byb2Nlc3Nvcl9zZWdtZW50X292ZXJydW4sIDApOworICAg IHNldHVwX2dhdGUoVFJBUF9pbnZhbGlkX3RzcywgJmludmFsaWRfVFNTLCAwKTsKKyAgICBzZXR1 cF9nYXRlKFRSQVBfbm9fc2VnbWVudCwgJnNlZ21lbnRfbm90X3ByZXNlbnQsIDApOworICAgIHNl dHVwX2dhdGUoVFJBUF9zdGFja19lcnJvciwgJnN0YWNrX3NlZ21lbnQsIDApOworICAgIHNldHVw X2dhdGUoVFJBUF9ncF9mYXVsdCwgJmdlbmVyYWxfcHJvdGVjdGlvbiwgMCk7CisgICAgc2V0dXBf Z2F0ZShUUkFQX3BhZ2VfZmF1bHQsICZwYWdlX2ZhdWx0LCAwKTsKKyAgICBzZXR1cF9nYXRlKFRS QVBfc3B1cmlvdXNfaW50LCAmc3B1cmlvdXNfaW50ZXJydXB0X2J1ZywgMCk7CisgICAgc2V0dXBf Z2F0ZShUUkFQX2NvcHJvX2Vycm9yLCAmY29wcm9jZXNzb3JfZXJyb3IsIDApOworICAgIHNldHVw X2dhdGUoVFJBUF9hbGlnbm1lbnRfY2hlY2ssICZhbGlnbm1lbnRfY2hlY2ssIDApOworICAgIHNl dHVwX2dhdGUoVFJBUF9zaW1kX2Vycm9yLCAmc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvciwgMCk7Cisg ICAgc2V0dXBfZ2F0ZShUUkFQX3hlbl9jYWxsYmFjaywgaHlwZXJ2aXNvcl9jYWxsYmFjaywgMCk7 CisKKyAgICBhc20gdm9sYXRpbGUgKCJsaWR0IGlkdF9wdHIiKTsKKworICAgIGdkdFtHRFRFX1RT U10gPSAodHlwZW9mKCpnZHQpKUlOSVRfR0RURSgodW5zaWduZWQgbG9uZykmdHNzLCAweDY3LCAw eDg5KTsKKyAgICBhc20gdm9sYXRpbGUgKCJsdHIgJXcwIiA6OiAicm0iIChHRFRFX1RTUyAqIDgp KTsKKworICAgIGlmICggaHZtX3NldF9wYXJhbWV0ZXIoSFZNX1BBUkFNX0NBTExCQUNLX0lSUSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICgyVUxMIDw8IDU2KSB8IFRSQVBfeGVuX2NhbGxi YWNrKSApCisgICAgeworICAgICAgICB4cHJpbnRrKCJSZXF1ZXN0IGZvciBYZW4gSFZNIGNhbGxi YWNrIHZlY3RvciBmYWlsZWRcbiIpOworICAgICAgICBkb19leGl0KCk7CisgICAgfQorfQorCit2 b2lkIHRyYXBfZmluaSh2b2lkKQoreworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94 ODZfNjQuUyBiL2FyY2gveDg2L3g4Nl82NC5TCmluZGV4IDM3M2Y0MDAuLmU3MjVjNjMgMTAwNjQ0 Ci0tLSBhL2FyY2gveDg2L3g4Nl82NC5TCisrKyBiL2FyY2gveDg2L3g4Nl82NC5TCkBAIC0xMzAs MTggKzEzMCwyMiBAQCBLRVJORUxfQ1NfTUFTSyA9IDB4ZmMKIC5lbmRtCiAKIC5tYWNybyBIWVBF UlZJU09SX0lSRVQgZmxhZworI2lmZGVmIENPTkZJR19QQVJBVklSVAogCXRlc3RsICROTUlfTUFT SywyKjgoJXJzcCkKIAlqbnogICAyZgorI2VuZGlmCiAKIAkvKiBEaXJlY3QgaXJldCB0byBrZXJu ZWwgc3BhY2UuIENvcnJlY3QgQ1MgYW5kIFNTLiAqLwogCW9yYiAgICQzLDEqOCglcnNwKQogCW9y YiAgICQzLDQqOCglcnNwKQogCWlyZXRxCiAKKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKIDI6CS8q IFNsb3cgaXJldCB2aWEgaHlwZXJ2aXNvci4gKi8KIAlhbmRsICAkfk5NSV9NQVNLLCAxNiglcnNw KQogCXB1c2hxICRcZmxhZwogCWptcCAgaHlwZXJjYWxsX3BhZ2UgKyAoX19IWVBFUlZJU09SX2ly ZXQgKiAzMikKKyNlbmRpZgogLmVuZG0KIAogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3g4Ni9vcy5o IGIvaW5jbHVkZS94ODYvb3MuaAppbmRleCA3Yjc4NjlhLi5kYjEzODlhIDEwMDY0NAotLS0gYS9p bmNsdWRlL3g4Ni9vcy5oCisrKyBiL2luY2x1ZGUveDg2L29zLmgKQEAgLTU2LDYgKzU2LDcgQEAK ICNkZWZpbmUgVFJBUF9tYWNoaW5lX2NoZWNrICAgIDE4CiAjZGVmaW5lIFRSQVBfc2ltZF9lcnJv ciAgICAgICAxOQogI2RlZmluZSBUUkFQX2RlZmVycmVkX25taSAgICAgMzEKKyNkZWZpbmUgVFJB UF94ZW5fY2FsbGJhY2sgICAgIDMyCiAKIC8qIEV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBwb2ludCBp cyBub3QgaW5jbHVkZWQgYnkgYXNzZW1ibGVyICguUykgZmlsZXMuICovCiAjaWZuZGVmIF9fQVNT RU1CTFlfXwotLSAKMi42LjYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK