From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH 6/6] x86emul: generalize vector length handling for AVX512/EVEX Date: Thu, 09 Aug 2018 02:26:44 -0600 Message-ID: <5B6BFAC402000078001DC574@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fngHQ-0000At-AL for xen-devel@lists.xenproject.org; Thu, 09 Aug 2018 08:26:48 +0000 In-Reply-To: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org VG8gYWxsb3cgZm9yIHNvbWUgY29kZSBzaGFyaW5nIHdoZXJlIHBvc3NpYmxlLCBjb3B5IFZFWC5M IGludG8gRVZFWC5MUgpldmVuIGZvciBWRVggKG9yIFhPUCkgZW5jb2RlZCBpbnNucy4gTWFrZSBv cGVyYW5kIHNpemUgZGV0ZXJtaW5hdGlvbgp1c2UgdGhpcyByaWdodCBhd2F5LCBhdCB0aGUgc2Ft ZSB0aW1lIGFkZGluZyBjb25zaXN0ZW5jeSBjaGVja3MgZm9yIHRoZQpFVkVYIHNjYWxhciBpbnNu IGNhc2VzICh0aGUgbm9uLXNjYWxhciBvbmVzIGFyZW4ndCB1bmlmb3JtIGVub3VnaCBmb3IKdGhl IGNoZWNraW5nIHRvIGJlIGRvbmUgaW4gYSBjZW50cmFsIHBsYWNlIGxpa2UgdGhpcykuCgpOb3Rl IHRoYXQgdGhlIGJyb2FkY2FzdCBjYXNlIGlzIG5vdCBoYW5kbGVkIGhlcmUsIGJ1dCB3aWxsIGJl IHRha2VuIGNhcmUKb2YgZWxzZXdoZXJlIChpbiBqdXN0IGEgc2luZ2xlIHBsYWNlIHJhdGhlciB0 aGFuIGF0IGxlYXN0IHR3bykuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYwor KysgYi94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYwpAQCAtMTkxLDE0ICsx OTEsMTQgQEAgZW51bSBzaW1kX29wc2l6ZSB7CiAgICAgICogT3JkaW5hcnkgcGFja2VkIGludGVn ZXJzOgogICAgICAqIC0gNjQgYml0cyB3aXRob3V0IHByZWZpeCA2NiAoTU1YKQogICAgICAqIC0g MTI4IGJpdHMgd2l0aCBwcmVmaXggNjYgKFNTRW4pCi0gICAgICogLSAxMjgvMjU2IGJpdHMgZGVw ZW5kaW5nIG9uIFZFWC5MIChBVlgpCisgICAgICogLSAxMjgvMjU2LzUxMiBiaXRzIGRlcGVuZGlu ZyBvbiBWRVguTC9FVkVYLkxSIChBVlgrKQogICAgICAqLwogICAgIHNpbWRfcGFja2VkX2ludCwK IAogICAgIC8qCiAgICAgICogT3JkaW5hcnkgcGFja2VkL3NjYWxhciBmbG9hdGluZyBwb2ludDoK ICAgICAgKiAtIDEyOCBiaXRzIHdpdGhvdXQgcHJlZml4IG9yIHdpdGggcHJlZml4IDY2IChTU0Vu KQotICAgICAqIC0gMTI4LzI1NiBiaXRzIGRlcGVuZGluZyBvbiBWRVguTCAoQVZYKQorICAgICAq IC0gMTI4LzI1Ni81MTIgYml0cyBkZXBlbmRpbmcgb24gVkVYLkwvRVZFWC5MUiAoQVZYKykKICAg ICAgKiAtIDMyIGJpdHMgd2l0aCBwcmVmaXggRjMgKHNjYWxhciBzaW5nbGUpCiAgICAgICogLSA2 NCBiaXRzIHdpdGggcHJlZml4IEYyIChzY2FsYXIgZG91YmdsZSkKICAgICAgKi8KQEAgLTIwNywx NCArMjA3LDE0IEBAIGVudW0gc2ltZF9vcHNpemUgewogICAgIC8qCiAgICAgICogUGFja2VkIGZs b2F0aW5nIHBvaW50OgogICAgICAqIC0gMTI4IGJpdHMgd2l0aG91dCBwcmVmaXggb3Igd2l0aCBw cmVmaXggNjYgKFNTRW4pCi0gICAgICogLSAxMjgvMjU2IGJpdHMgZGVwZW5kaW5nIG9uIFZFWC5M IChBVlgpCisgICAgICogLSAxMjgvMjU2LzUxMiBiaXRzIGRlcGVuZGluZyBvbiBWRVguTC9FVkVY LkxSIChBVlgrKQogICAgICAqLwogICAgIHNpbWRfcGFja2VkX2ZwLAogCiAgICAgLyoKICAgICAg KiBTaW5nbGUgcHJlY2lzaW9uIHBhY2tlZC9zY2FsYXIgZmxvYXRpbmcgcG9pbnQ6CiAgICAgICog LSAxMjggYml0cyB3aXRob3V0IHByZWZpeCAoU1NFbikKLSAgICAgKiAtIDEyOC8yNTYgYml0cyBk ZXBlbmRpbmcgb24gVkVYLkwsIG5vIHByZWZpeCAoQVZYKQorICAgICAqIC0gMTI4LzI1Ni81MTIg Yml0cyBkZXBlbmRpbmcgb24gVkVYLkwvRVZFWC5MUiAoQVZYKykKICAgICAgKiAtIDMyIGJpdHMg d2l0aCBwcmVmaXggRjMgKHNjYWxhcikKICAgICAgKi8KICAgICBzaW1kX3NpbmdsZV9mcCwKQEAg LTIyOCw3ICsyMjgsNyBAQCBlbnVtIHNpbWRfb3BzaXplIHsKIAogICAgIC8qCiAgICAgICogU2Nh bGFyIGZsb2F0aW5nIHBvaW50OgotICAgICAqIC0gMzIvNjQgYml0cyBkZXBlbmRpbmcgb24gVkVY LlcKKyAgICAgKiAtIDMyLzY0IGJpdHMgZGVwZW5kaW5nIG9uIFZFWC5XL0VWRVguVwogICAgICAq LwogICAgIHNpbWRfc2NhbGFyX3ZleHcsCiAKQEAgLTI4MTgsNiArMjgxOCw5IEBAIHg4Nl9kZWNv ZGUoCiAKICAgICAgICAgICAgICAgICBvcGNvZGUgfD0gYiB8IE1BU0tfSU5TUih2ZXgucGZ4LCBY ODZFTVVMX09QQ19QRlhfTUFTSyk7CiAKKyAgICAgICAgICAgICAgICBpZiAoICFldmV4Lm1icyAp CisgICAgICAgICAgICAgICAgICAgIGV2ZXgubHIgPSB2ZXgubDsKKwogICAgICAgICAgICAgICAg IGlmICggIShkICYgTW9kUk0pICkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTMx NDgsNyArMzE1MSw3IEBAIHg4Nl9kZWNvZGUoCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAv KiBmYWxsIHRocm91Z2ggKi8KICAgICAgICAgY2FzZSB2ZXhfNjY6Ci0gICAgICAgICAgICBvcF9i eXRlcyA9IDE2IDw8IHZleC5sOworICAgICAgICAgICAgb3BfYnl0ZXMgPSAxNiA8PCBldmV4Lmxy OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBvcF9i eXRlcyA9IDA7CkBAIC0zMTcyLDEzICszMTc1LDIzIEBAIHg4Nl9kZWNvZGUoCiAgICAgY2FzZSBz aW1kX2FueV9mcDoKICAgICAgICAgc3dpdGNoICggdmV4LnBmeCApCiAgICAgICAgIHsKLSAgICAg ICAgZGVmYXVsdDogICAgIG9wX2J5dGVzID0gMTYgPDwgdmV4Lmw7IGJyZWFrOwotICAgICAgICBj YXNlIHZleF9mMzogb3BfYnl0ZXMgPSA0OyAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug dmV4X2YyOiBvcF9ieXRlcyA9IDg7ICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoK KyAgICAgICAgICAgIG9wX2J5dGVzID0gMTYgPDwgZXZleC5scjsKKyAgICAgICAgICAgIGJyZWFr OworICAgICAgICBjYXNlIHZleF9mMzoKKyAgICAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9p ZihldmV4Lm1icyAmJiBldmV4LncsIEVYQ19VRCk7CisgICAgICAgICAgICBvcF9ieXRlcyA9IDQ7 CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSB2ZXhfZjI6CisgICAgICAgICAgICBn ZW5lcmF0ZV9leGNlcHRpb25faWYoZXZleC5tYnMgJiYgIWV2ZXgudywgRVhDX1VEKTsKKyAgICAg ICAgICAgIG9wX2J5dGVzID0gODsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAg ICAgIGJyZWFrOwogCiAgICAgY2FzZSBzaW1kX3NjYWxhcl9vcGM6CisgICAgICAgIGdlbmVyYXRl X2V4Y2VwdGlvbl9pZihldmV4Lm1icyAmJiAoZXZleC53ICE9IChjdHh0LT5vcGNvZGUgJiAxKSks CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWENfVUQpOwogICAgICAgICBvcF9ieXRl cyA9IDQgPDwgKGN0eHQtPm9wY29kZSAmIDEpOwogICAgICAgICBicmVhazsKIAoKCgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=