From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v6 1/2] xen/hvm: introduce a flags field in the CPU save record Date: Tue, 12 Jan 2016 17:12:32 +0100 Message-ID: <1452615153-67387-2-git-send-email-roger.pau@citrix.com> References: <1452615153-67387-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aJ1Ze-0004ev-Nz for xen-devel@lists.xenproject.org; Tue, 12 Jan 2016 16:13:34 +0000 In-Reply-To: <1452615153-67387-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGEgbmV3IGZsYWdzIGZpZWxkIGFuZCB1c2UgYml0IDAgdG8gc2lnbmFsIGlmIHRo ZSBGUFUgaGFzIGJlZW4KaW5pdGlhbGlzZWQgb3Igbm90LiBQcmV2aW91c2x5IFhlbiBhbHdheXMg d3JvbmdseSBhc3N1bWVkIHRoZSBGUFUgd2FzCmluaXRpYWxpc2VkIG9uIHJlc3RvcmUuCgpTaWdu ZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNj OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2NToKIC0gQWRhcHQgdGhl IGNvZGUgZHVlIHRvIHRoZSBjaGFuZ2VzIGludHJvZHVjZWQgYnkgWFNBLTE2NS4KCkNoYW5nZXMg c2luY2UgdjQ6CiAtIFplcm8gdGhlIGZwdSBzYXZlIGFyZWEgaWYgdGhlIEZQVSBpcyBub3QgaW5p dGlhbGlzZWQuIFRoaXMgYXZvaWRzCiAgIGxlYWtpbmcgaHlwZXJ2aXNvciBkYXRhLgogLSBEdWUg dG8gdGhlIHByZXZpb3VzIHBhdGNoIGluIHRoaXMgc2VyaWVzLCBzbGlnaHRseSByZXdvcmsgdGhl IHdheSB0byBsb2FkCiAgIHRoZSBGUFUgc3RhdGUgaW4gYSB4c2F2ZSBjYXBhYmxlIGhvc3QuCgpD aGFuZ2VzIHNpbmNlIHYzOgogLSBEb24ndCBhZGQgYSBjb21tZW50IGluIHRoZSBjb21wYXQgc3Ry dWN0dXJlIHJlZ2FyaW5nIHRoZSBmcHVfaW5pdGlhbGlzZWQKICAgZmllbGQuCiAtIFJlbmFtZSBm cHVfaW5pdGlhbGlzZWQgdG8gZmxhZ3MgYW5kIHVzZSBpdCBhcyBhIGJpdCBmaWVsZC4gQml0IDAg d2lsbCBiZQogICB1c2VkIHRvIHNpZ25hbCB3aGV0aGVyIHRoZSBmcHUgaXMgaW5pdGlhbGlzZWQu CiAtIE9ubHkgc2F2ZSB0aGUgZnB1IGNvbnRleHQgaWYgaXQncyBpbml0aWFsaXNlZC4KIC0gT25s eSByZXN0b3JlIHRoZSBmcHUgY29udGV4dCBmcm9tIHRoZSBzYXZlIHJlY29yZCBpZiB0aGUgZnB1 IGlzCiAgIGluaXRpYWxpc2VkLgogLSBDaGVjayB0aGF0IHVudXNlZCBiaXRzIGluIHRoZSBmbGFn cyBmaWVsZCBhcmUgMC4KCkNoYW5nZXMgc2luY2UgdjE6CiAtIERvbid0IGFkZCB5ZXQgYW5vdGhl ciBjb21wYXQgc3RydWN0dXJlLCBuZXcgZmllbGRzIHNob3VsZCBhbHdheXMgYmUgYWRkZWQKICAg dG8gdGhlIGVuZCBvZiB0aGUgZXhpc3Rpbmcgc3RydWN0dXJlIGFuZCBvZmZzZXRvZiBzaG91bGQg YmUgdXNlZCB0bwogICBjb21wYXJlIHNpemVzLgogLSBMZWF2ZSB0aGUgcHJldmlvdXMgY29tcGF0 IHN0cnVjdHVyZSBhcy1pcywgc2luY2UgdGhlIGZpZWxkIHdhcyBub3QgYWRkZWQKICAgdG8gdGhl IGVuZCB3ZSBjYW5ub3QgcmVtb3ZlIGl0IGFuZCB1c2Ugb2Zmc2V0b2YgaW4gdGhpcyBjYXNlLgog LSBTZXQgeHN0YXRlX2J2IGJhc2VkIG9uIGZwdV9pbml0aWFsaXNlZCB2YWx1ZSBpbnN0ZWFkIG9m IHVuY29uZGl0aW9uYWxseQogICBzZXR0aW5nIGl0IHRvIFhTVEFURV9GUF9TU0UuCi0tLQogeGVu L2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvaHZtL3NhdmUu aCB8IDI3ICsrKysrKysrKysrKysrKystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0 aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9o dm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggNzg3YjdkZS4uNzllYzkwZiAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2 bS5jCkBAIC0xNzk3LDkgKzE3OTcsMTUgQEAgc3RhdGljIGludCBodm1fc2F2ZV9jcHVfY3R4dChz dHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKICAgICAgICAgY3R4dC5s ZHRyX2FyYnl0ZXMgPSBzZWcuYXR0ci5ieXRlczsKIAogICAgICAgICBpZiAoIHYtPmZwdV9pbml0 aWFsaXNlZCApCisgICAgICAgIHsKICAgICAgICAgICAgIG1lbWNweShjdHh0LmZwdV9yZWdzLCB2 LT5hcmNoLmZwdV9jdHh0LCBzaXplb2YoY3R4dC5mcHVfcmVncykpOwotICAgICAgICBlbHNlIAot ICAgICAgICAgICAgbWVtc2V0KGN0eHQuZnB1X3JlZ3MsIDAsIHNpemVvZihjdHh0LmZwdV9yZWdz KSk7CisgICAgICAgICAgICBjdHh0LmZsYWdzID0gWEVOX1g4Nl9GUFVfSU5JVElBTElTRUQ7Cisg ICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICAgbWVtc2V0KGN0 eHQuZnB1X3JlZ3MsIDAsIHNpemVvZihjdHh0LmZwdV9yZWdzKSk7CisgICAgICAgICAgICAgY3R4 dC5mbGFncyA9IDA7CisgICAgICAgIH0KIAogICAgICAgICBjdHh0LnJheCA9IHYtPmFyY2gudXNl cl9yZWdzLmVheDsKICAgICAgICAgY3R4dC5yYnggPSB2LT5hcmNoLnVzZXJfcmVncy5lYng7CkBA IC0xOTgxLDcgKzE5ODcsNyBAQCBzdGF0aWMgaW50IGh2bV9sb2FkX2NwdV9jdHh0KHN0cnVjdCBk b21haW4gKmQsIGh2bV9kb21haW5fY29udGV4dF90ICpoKQogICAgICAgICByZXR1cm4gLUVJTlZB TDsKICAgICB9CiAKLSAgICBpZiAoIGh2bV9sb2FkX2VudHJ5KENQVSwgaCwgJmN0eHQpICE9IDAg KSAKKyAgICBpZiAoIGh2bV9sb2FkX2VudHJ5X3plcm9leHRlbmQoQ1BVLCBoLCAmY3R4dCkgIT0g MCApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCiAgICAgLyogU2FuaXR5IGNoZWNrIHNvbWUg Y29udHJvbCByZWdpc3RlcnMuICovCkBAIC0yMDA5LDYgKzIwMTUsMTMgQEAgc3RhdGljIGludCBo dm1fbG9hZF9jcHVfY3R4dChzdHJ1Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAq aCkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQogCisgICAgaWYgKCAoY3R4dC5mbGFn cyAmIH5YRU5fWDg2X0ZQVV9JTklUSUFMSVNFRCkgIT0gMCApCisgICAgeworICAgICAgICBncHJp bnRrKFhFTkxPR19FUlIsICJiYWQgZmxhZ3MgdmFsdWUgaW4gQ1BVIGNvbnRleHQ6ICUjeFxuIiwK KyAgICAgICAgICAgICAgICBjdHh0LmZsYWdzKTsKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cisg ICAgfQorCiAgICAgLyogT2xkZXIgWGVuIHZlcnNpb25zIHVzZWQgdG8gc2F2ZSB0aGUgc2VnbWVu dCBhcmJ5dGVzIGRpcmVjdGx5IAogICAgICAqIGZyb20gdGhlIFZNQ1Mgb24gSW50ZWwgaG9zdHMu ICBEZXRlY3QgdGhpcyBhbmQgcmVhcnJhbmdlIHRoZW0KICAgICAgKiBpbnRvIHRoZSBzdHJ1Y3Qg c2VnbWVudF9yZWdpc3RlciBmb3JtYXQuICovCkBAIC0yMDg3LDE5ICsyMTAwLDIxIEBAIHN0YXRp YyBpbnQgaHZtX2xvYWRfY3B1X2N0eHQoc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250 ZXh0X3QgKmgpCiAgICAgc2VnLmF0dHIuYnl0ZXMgPSBjdHh0LmxkdHJfYXJieXRlczsKICAgICBo dm1fc2V0X3NlZ21lbnRfcmVnaXN0ZXIodiwgeDg2X3NlZ19sZHRyLCAmc2VnKTsKIAotICAgIC8q IEluIGNhc2UgeHNhdmUtYWJzZW50IHNhdmUgZmlsZSBpcyByZXN0b3JlZCBvbiBhIHhzYXZlLWNh cGFibGUgaG9zdCAqLwotICAgIGlmICggY3B1X2hhc194c2F2ZSAmJiAheHNhdmVfZW5hYmxlZCh2 KSApCisgICAgdi0+ZnB1X2luaXRpYWxpc2VkID0gISEoY3R4dC5mbGFncyAmIFhFTl9YODZfRlBV X0lOSVRJQUxJU0VEKTsKKyAgICBpZiAoIHYtPmZwdV9pbml0aWFsaXNlZCApCiAgICAgewotICAg ICAgICBzdHJ1Y3QgeHNhdmVfc3RydWN0ICp4c2F2ZV9hcmVhID0gdi0+YXJjaC54c2F2ZV9hcmVh OworICAgICAgICBtZW1jcHkodi0+YXJjaC5mcHVfY3R4dCwgY3R4dC5mcHVfcmVncywgc2l6ZW9m KGN0eHQuZnB1X3JlZ3MpKTsKKyAgICAgICAgLyogSW4gY2FzZSB4c2F2ZS1hYnNlbnQgc2F2ZSBm aWxlIGlzIHJlc3RvcmVkIG9uIGEgeHNhdmUtY2FwYWJsZSBob3N0ICovCisgICAgICAgIGlmICgg Y3B1X2hhc194c2F2ZSAmJiAheHNhdmVfZW5hYmxlZCh2KSApCisgICAgICAgIHsKKyAgICAgICAg ICAgIHN0cnVjdCB4c2F2ZV9zdHJ1Y3QgKnhzYXZlX2FyZWEgPSB2LT5hcmNoLnhzYXZlX2FyZWE7 CiAKLSAgICAgICAgbWVtY3B5KHYtPmFyY2gueHNhdmVfYXJlYSwgY3R4dC5mcHVfcmVncywgc2l6 ZW9mKGN0eHQuZnB1X3JlZ3MpKTsKLSAgICAgICAgeHNhdmVfYXJlYS0+eHNhdmVfaGRyLnhzdGF0 ZV9idiA9IFhTVEFURV9GUF9TU0U7Ci0gICAgICAgIGlmICggY3B1X2hhc194c2F2ZXMgfHwgY3B1 X2hhc194c2F2ZWMgKQotICAgICAgICAgICAgeHNhdmVfYXJlYS0+eHNhdmVfaGRyLnhjb21wX2J2 ID0gWFNUQVRFX0ZQX1NTRSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBYU1RBVEVfQ09NUEFDVElPTl9FTkFCTEVEOworICAgICAgICAgICAgeHNhdmVfYXJl YS0+eHNhdmVfaGRyLnhzdGF0ZV9idiA9IFhTVEFURV9GUF9TU0U7CisgICAgICAgICAgICBpZiAo IGNwdV9oYXNfeHNhdmVzIHx8IGNwdV9oYXNfeHNhdmVjICkKKyAgICAgICAgICAgICAgICB4c2F2 ZV9hcmVhLT54c2F2ZV9oZHIueGNvbXBfYnYgPSBYU1RBVEVfRlBfU1NFIHwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYU1RBVEVfQ09NUEFDVElPTl9F TkFCTEVEOworICAgICAgICB9CiAgICAgfQotICAgIGVsc2UKLSAgICAgICAgbWVtY3B5KHYtPmFy Y2guZnB1X2N0eHQsIGN0eHQuZnB1X3JlZ3MsIHNpemVvZihjdHh0LmZwdV9yZWdzKSk7CiAKICAg ICB2LT5hcmNoLnVzZXJfcmVncy5lYXggPSBjdHh0LnJheDsKICAgICB2LT5hcmNoLnVzZXJfcmVn cy5lYnggPSBjdHh0LnJieDsKQEAgLTIxMjcsNyArMjE0Miw2IEBAIHN0YXRpYyBpbnQgaHZtX2xv YWRfY3B1X2N0eHQoc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3QgKmgpCiAg ICAgdi0+YXJjaC5kZWJ1Z3JlZ1s3XSA9IGN0eHQuZHI3OwogCiAgICAgdi0+YXJjaC52Z2NfZmxh Z3MgPSBWR0NGX29ubGluZTsKLSAgICB2LT5mcHVfaW5pdGlhbGlzZWQgPSAxOwogCiAgICAgLyog QXV4aWxpYXJ5IHByb2Nlc3NvcnMgc2hvdWxkIGJlIHdva2VuIGltbWVkaWF0ZWx5LiAqLwogICAg IHYtPmlzX2luaXRpYWxpc2VkID0gMTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9h cmNoLXg4Ni9odm0vc2F2ZS5oIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2h2bS9zYXZl LmgKaW5kZXggMjlkNTEzYy4uYjZiMWJmOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGlj L2FyY2gteDg2L2h2bS9zYXZlLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2h2 bS9zYXZlLmgKQEAgLTQ3LDcgKzQ3LDkgQEAgREVDTEFSRV9IVk1fU0FWRV9UWVBFKEhFQURFUiwg MSwgc3RydWN0IGh2bV9zYXZlX2hlYWRlcik7CiAvKgogICogUHJvY2Vzc29yCiAgKgotICogQ29t cGF0OiBQcmUtMy40IGRpZG4ndCBoYXZlIG1zcl90c2NfYXV4CisgKiBDb21wYXQ6CisgKiAgICAg LSBQcmUtMy40IGRpZG4ndCBoYXZlIG1zcl90c2NfYXV4CisgKiAgICAgLSBQcmUtNC43IGRpZG4n dCBoYXZlIGZwdV9pbml0aWFsaXNlZAogICovCiAKIHN0cnVjdCBodm1faHdfY3B1IHsKQEAgLTE1 Nyw2ICsxNTksMTAgQEAgc3RydWN0IGh2bV9od19jcHUgewogICAgIH07CiAgICAgLyogZXJyb3Ig Y29kZSBmb3IgcGVuZGluZyBldmVudCAqLwogICAgIHVpbnQzMl90IGVycm9yX2NvZGU7CisKKyNk ZWZpbmUgX1hFTl9YODZfRlBVX0lOSVRJQUxJU0VEICAgICAgICAwCisjZGVmaW5lIFhFTl9YODZf RlBVX0lOSVRJQUxJU0VEICAgICAgICAgKDFVPDxfWEVOX1g4Nl9GUFVfSU5JVElBTElTRUQpCisg ICAgdWludDMyX3QgZmxhZ3M7CiB9OwogCiBzdHJ1Y3QgaHZtX2h3X2NwdV9jb21wYXQgewpAQCAt Mjc1LDEyICsyODEsMTkgQEAgc3RhdGljIGlubGluZSBpbnQgX2h2bV9od19maXhfY3B1KHZvaWQg KmgsIHVpbnQzMl90IHNpemUpIHsKICAgICAgICAgc3RydWN0IGh2bV9od19jcHVfY29tcGF0IGNt cDsKICAgICB9ICp1Y3B1ID0gKHVuaW9uIGh2bV9od19jcHVfdW5pb24gKiloOwogCi0gICAgLyog SWYgd2UgY29weSBmcm9tIHRoZSBlbmQgYmFja3dhcmRzLCB3ZSBzaG91bGQKLSAgICAgKiBiZSBh YmxlIHRvIGRvIHRoZSBtb2RpZmljYXRpb24gaW4tcGxhY2UgKi8KLSAgICB1Y3B1LT5uYXQuZXJy b3JfY29kZSA9IHVjcHUtPmNtcC5lcnJvcl9jb2RlOwotICAgIHVjcHUtPm5hdC5wZW5kaW5nX2V2 ZW50ID0gdWNwdS0+Y21wLnBlbmRpbmdfZXZlbnQ7Ci0gICAgdWNwdS0+bmF0LnRzYyA9IHVjcHUt PmNtcC50c2M7Ci0gICAgdWNwdS0+bmF0Lm1zcl90c2NfYXV4ID0gMDsKKyAgICBpZiAoIHNpemUg PT0gc2l6ZW9mKHN0cnVjdCBodm1faHdfY3B1X2NvbXBhdCkgKQorICAgIHsKKyAgICAgICAgLyoK KyAgICAgICAgICogSWYgd2UgY29weSBmcm9tIHRoZSBlbmQgYmFja3dhcmRzLCB3ZSBzaG91bGQK KyAgICAgICAgICogYmUgYWJsZSB0byBkbyB0aGUgbW9kaWZpY2F0aW9uIGluLXBsYWNlLgorICAg ICAgICAgKi8KKyAgICAgICAgdWNwdS0+bmF0LmVycm9yX2NvZGUgPSB1Y3B1LT5jbXAuZXJyb3Jf Y29kZTsKKyAgICAgICAgdWNwdS0+bmF0LnBlbmRpbmdfZXZlbnQgPSB1Y3B1LT5jbXAucGVuZGlu Z19ldmVudDsKKyAgICAgICAgdWNwdS0+bmF0LnRzYyA9IHVjcHUtPmNtcC50c2M7CisgICAgICAg IHVjcHUtPm5hdC5tc3JfdHNjX2F1eCA9IDA7CisgICAgfQorICAgIC8qIE1pbWljIHRoZSBvbGQg YmVoYXZpb3VyIGJ5IHVuY29uZGl0aW9uYWxseSBzZXR0aW5nIGZwdV9pbml0aWFsaXNlZC4gKi8K KyAgICB1Y3B1LT5uYXQuZmxhZ3MgPSBYRU5fWDg2X0ZQVV9JTklUSUFMSVNFRDsKIAogICAgIHJl dHVybiAwOwogfQotLSAKMS45LjUgKEFwcGxlIEdpdC01MC4zKQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==