From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v3 3/7] x86emul/test: factor out emul_test_{read_cr, cpuid} Date: Mon, 12 Dec 2016 09:28:28 +0000 Message-ID: <1481534912-1101-4-git-send-email-wei.liu2@citrix.com> References: <1481534912-1101-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cGMuV-00021S-P4 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2016 09:28:39 +0000 In-Reply-To: <1481534912-1101-1-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Ian Jackson , Jan Beulich List-Id: xen-devel@lists.xenproject.org V2hpbGUgYXQgaXQsIG1vdmUgeGdldGJ2LCBhbGwgY3B1X2hhc18qIGFuZCBjYWNoZV9saW5lX3Np emUgbWFjcm9zIHRvCng4Nl9lbXVsYXRlLmguCgpTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDx3ZWku bGl1MkBjaXRyaXguY29tPgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K Q2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNp dHJpeC5jb20+Ci0tLQogdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9y LmMgfCAxMDMgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0b29scy90ZXN0cy94ODZfZW11 bGF0b3IveDg2X2VtdWxhdGUuYyAgICAgICB8ICAzOSArKysrKysrKysrCiB0b29scy90ZXN0cy94 ODZfZW11bGF0b3IveDg2X2VtdWxhdGUuaCAgICAgICB8ICA3MiArKysrKysrKysrKysrKysrKysr CiAzIGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCspLCAxMDEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMg Yi90b29scy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYwppbmRleCAwZDgw YmZmLi5lNDBmMGVhIDEwMDY0NAotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94 ODZfZW11bGF0b3IuYworKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11 bGF0b3IuYwpAQCAtOTIsMTA1ICs5Miw2IEBAIHN0YXRpYyBpbnQgY21weGNoZygKICAgICByZXR1 cm4gWDg2RU1VTF9PS0FZOwogfQogCi1zdGF0aWMgaW50IGNwdWlkKAotICAgIHVuc2lnbmVkIGlu dCAqZWF4LAotICAgIHVuc2lnbmVkIGludCAqZWJ4LAotICAgIHVuc2lnbmVkIGludCAqZWN4LAot ICAgIHVuc2lnbmVkIGludCAqZWR4LAotICAgIHN0cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0 KQotewotICAgIHVuc2lnbmVkIGludCBsZWFmID0gKmVheDsKLQotICAgIGFzbSAoImNwdWlkIiA6 ICIrYSIgKCplYXgpLCAiK2MiICgqZWN4KSwgIj1kIiAoKmVkeCksICI9YiIgKCplYngpKTsKLQot ICAgIC8qIFRoZSBlbXVsYXRvciBkb2Vzbid0IGl0c2VsZiB1c2UgTU9WQkUsIHNvIHdlIGNhbiBh bHdheXMgcnVuIHRoZSB0ZXN0LiAqLwotICAgIGlmICggbGVhZiA9PSAxICkKLSAgICAgICAgKmVj eCB8PSAxVSA8PCAyMjsKLQotICAgIHJldHVybiBYODZFTVVMX09LQVk7Ci19Ci0KLSNkZWZpbmUg Y2FjaGVfbGluZV9zaXplKCkgKHsgXAotICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBlYngsIGVj eCA9IDAsIGVkeDsgXAotICAgIGNwdWlkKCZlYXgsICZlYngsICZlY3gsICZlZHgsIE5VTEwpOyBc Ci0gICAgZWR4ICYgKDFVIDw8IDE5KSA/IChlYnggPj4gNSkgJiAweDdmOCA6IDA7IFwKLX0pCi0K LSNkZWZpbmUgY3B1X2hhc19tbXggKHsgXAotICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBlY3gg PSAwLCBlZHg7IFwKLSAgICBjcHVpZCgmZWF4LCAmZWN4LCAmZWN4LCAmZWR4LCBOVUxMKTsgXAot ICAgIChlZHggJiAoMVUgPDwgMjMpKSAhPSAwOyBcCi19KQotCi0jZGVmaW5lIGNwdV9oYXNfc3Nl ICh7IFwKLSAgICB1bnNpZ25lZCBpbnQgZWF4ID0gMSwgZWN4ID0gMCwgZWR4OyBcCi0gICAgY3B1 aWQoJmVheCwgJmVjeCwgJmVjeCwgJmVkeCwgTlVMTCk7IFwKLSAgICAoZWR4ICYgKDFVIDw8IDI1 KSkgIT0gMDsgXAotfSkKLQotI2RlZmluZSBjcHVfaGFzX3NzZTIgKHsgXAotICAgIHVuc2lnbmVk IGludCBlYXggPSAxLCBlY3ggPSAwLCBlZHg7IFwKLSAgICBjcHVpZCgmZWF4LCAmZWN4LCAmZWN4 LCAmZWR4LCBOVUxMKTsgXAotICAgIChlZHggJiAoMVUgPDwgMjYpKSAhPSAwOyBcCi19KQotCi0j ZGVmaW5lIGNwdV9oYXNfeHNhdmUgKHsgXAotICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBlY3gg PSAwOyBcCi0gICAgY3B1aWQoJmVheCwgJmVheCwgJmVjeCwgJmVheCwgTlVMTCk7IFwKLSAgICAv KiBJbnRlbnRpb25hbGx5IGNoZWNraW5nIE9TWFNBVkUgaGVyZS4gKi8gXAotICAgIChlY3ggJiAo MVUgPDwgMjcpKSAhPSAwOyBcCi19KQotCi1zdGF0aWMgaW5saW5lIHVpbnQ2NF90IHhnZXRidih1 aW50MzJfdCB4Y3IpCi17Ci0gICAgdWludDMyX3QgbG8sIGhpOwotCi0gICAgYXNtICggIi5ieXRl IDB4MGYsIDB4MDEsIDB4ZDAiIDogIj1hIiAobG8pLCAiPWQiIChoaSkgOiAiYyIgKHhjcikgKTsK LQotICAgIHJldHVybiAoKHVpbnQ2NF90KWhpIDw8IDMyKSB8IGxvOwotfQotCi0jZGVmaW5lIGNw dV9oYXNfYXZ4ICh7IFwKLSAgICB1bnNpZ25lZCBpbnQgZWF4ID0gMSwgZWN4ID0gMDsgXAotICAg IGNwdWlkKCZlYXgsICZlYXgsICZlY3gsICZlYXgsIE5VTEwpOyBcCi0gICAgaWYgKCAhKGVjeCAm ICgxVSA8PCAyNykpIHx8ICgoeGdldGJ2KDApICYgNikgIT0gNikgKSBcCi0gICAgICAgIGVjeCA9 IDA7IFwKLSAgICAoZWN4ICYgKDFVIDw8IDI4KSkgIT0gMDsgXAotfSkKLQotI2RlZmluZSBjcHVf aGFzX2F2eDIgKHsgXAotICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBlYngsIGVjeCA9IDA7IFwK LSAgICBjcHVpZCgmZWF4LCAmZWJ4LCAmZWN4LCAmZWF4LCBOVUxMKTsgXAotICAgIGlmICggIShl Y3ggJiAoMVUgPDwgMjcpKSB8fCAoKHhnZXRidigwKSAmIDYpICE9IDYpICkgXAotICAgICAgICBl YnggPSAwOyBcCi0gICAgZWxzZSB7IFwKLSAgICAgICAgZWF4ID0gNywgZWN4ID0gMDsgXAotICAg ICAgICBjcHVpZCgmZWF4LCAmZWJ4LCAmZWN4LCAmZWF4LCBOVUxMKTsgXAotICAgIH0gXAotICAg IChlYnggJiAoMVUgPDwgNSkpICE9IDA7IFwKLX0pCi0KLXN0YXRpYyBpbnQgcmVhZF9jcigKLSAg ICB1bnNpZ25lZCBpbnQgcmVnLAotICAgIHVuc2lnbmVkIGxvbmcgKnZhbCwKLSAgICBzdHJ1Y3Qg eDg2X2VtdWxhdGVfY3R4dCAqY3R4dCkKLXsKLSAgICAvKiBGYWtlIGp1c3QgZW5vdWdoIHN0YXRl IGZvciB0aGUgZW11bGF0b3IncyBfZ2V0X2ZwdSgpIHRvIGJlIGhhcHB5LiAqLwotICAgIHN3aXRj aCAoIHJlZyApCi0gICAgewotICAgIGNhc2UgMDoKLSAgICAgICAgKnZhbCA9IDB4MDAwMDAwMDE7 IC8qIFBFICovCi0gICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7Ci0KLSAgICBjYXNlIDQ6Ci0g ICAgICAgIC8qIE9TRlhTUiwgT1NYTU1FWENQVCwgYW5kIG1heWJlIE9TWFNBVkUgKi8KLSAgICAg ICAgKnZhbCA9IDB4MDAwMDA2MDAgfCAoY3B1X2hhc194c2F2ZSA/IDB4MDAwNDAwMDAgOiAwKTsK LSAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKLSAgICB9Ci0KLSAgICByZXR1cm4gWDg2RU1V TF9VTkhBTkRMRUFCTEU7Ci19Ci0KIGludCBnZXRfZnB1KAogICAgIHZvaWQgKCpleGNlcHRpb25f Y2FsbGJhY2spKHZvaWQgKiwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKiksCiAgICAgdm9pZCAqZXhj ZXB0aW9uX2NhbGxiYWNrX2FyZywKQEAgLTIyMSw4ICsxMjIsOCBAQCBzdGF0aWMgc3RydWN0IHg4 Nl9lbXVsYXRlX29wcyBlbXVsb3BzID0gewogICAgIC5pbnNuX2ZldGNoID0gZmV0Y2gsCiAgICAg LndyaXRlICAgICAgPSB3cml0ZSwKICAgICAuY21weGNoZyAgICA9IGNtcHhjaGcsCi0gICAgLmNw dWlkICAgICAgPSBjcHVpZCwKLSAgICAucmVhZF9jciAgICA9IHJlYWRfY3IsCisgICAgLmNwdWlk ICAgICAgPSBlbXVsX3Rlc3RfY3B1aWQsCisgICAgLnJlYWRfY3IgICAgPSBlbXVsX3Rlc3RfcmVh ZF9jciwKICAgICAuZ2V0X2ZwdSAgICA9IGdldF9mcHUsCiB9OwogCmRpZmYgLS1naXQgYS90b29s cy90ZXN0cy94ODZfZW11bGF0b3IveDg2X2VtdWxhdGUuYyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVs YXRvci94ODZfZW11bGF0ZS5jCmluZGV4IDk2M2RkNzEuLjhiNzA1ODAgMTAwNjQ0Ci0tLSBhL3Rv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODZfZW11bGF0ZS5jCisrKyBiL3Rvb2xzL3Rlc3RzL3g4 Nl9lbXVsYXRvci94ODZfZW11bGF0ZS5jCkBAIC0zOCw0ICszOCw0MyBAQCBib29sIGVtdWxfdGVz dF9tYWtlX3N0YWNrX2V4ZWN1dGFibGUodm9pZCkKICAgICAgICAgICAgICAgICAgICAgTU1BUF9T WiwgUFJPVF9SRUFEfFBST1RfV1JJVEV8UFJPVF9FWEVDKSA9PSAwOwogfQogCitpbnQgZW11bF90 ZXN0X2NwdWlkKAorICAgIHVuc2lnbmVkIGludCAqZWF4LAorICAgIHVuc2lnbmVkIGludCAqZWJ4 LAorICAgIHVuc2lnbmVkIGludCAqZWN4LAorICAgIHVuc2lnbmVkIGludCAqZWR4LAorICAgIHN0 cnVjdCB4ODZfZW11bGF0ZV9jdHh0ICpjdHh0KQoreworICAgIHVuc2lnbmVkIGludCBsZWFmID0g KmVheDsKKworICAgIGFzbSAoImNwdWlkIiA6ICIrYSIgKCplYXgpLCAiK2MiICgqZWN4KSwgIj1k IiAoKmVkeCksICI9YiIgKCplYngpKTsKKworICAgIC8qIFRoZSBlbXVsYXRvciBkb2Vzbid0IGl0 c2VsZiB1c2UgTU9WQkUsIHNvIHdlIGNhbiBhbHdheXMgcnVuIHRoZSB0ZXN0LiAqLworICAgIGlm ICggbGVhZiA9PSAxICkKKyAgICAgICAgKmVjeCB8PSAxVSA8PCAyMjsKKworICAgIHJldHVybiBY ODZFTVVMX09LQVk7Cit9CisKK2ludCBlbXVsX3Rlc3RfcmVhZF9jcigKKyAgICB1bnNpZ25lZCBp bnQgcmVnLAorICAgIHVuc2lnbmVkIGxvbmcgKnZhbCwKKyAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVf Y3R4dCAqY3R4dCkKK3sKKyAgICAvKiBGYWtlIGp1c3QgZW5vdWdoIHN0YXRlIGZvciB0aGUgZW11 bGF0b3IncyBfZ2V0X2ZwdSgpIHRvIGJlIGhhcHB5LiAqLworICAgIHN3aXRjaCAoIHJlZyApCisg ICAgeworICAgIGNhc2UgMDoKKyAgICAgICAgKnZhbCA9IDB4MDAwMDAwMDE7IC8qIFBFICovCisg ICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7CisKKyAgICBjYXNlIDQ6CisgICAgICAgIC8qIE9T RlhTUiwgT1NYTU1FWENQVCwgYW5kIG1heWJlIE9TWFNBVkUgKi8KKyAgICAgICAgKnZhbCA9IDB4 MDAwMDA2MDAgfCAoY3B1X2hhc194c2F2ZSA/IDB4MDAwNDAwMDAgOiAwKTsKKyAgICAgICAgcmV0 dXJuIFg4NkVNVUxfT0tBWTsKKyAgICB9CisKKyAgICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFC TEU7Cit9CisKICNpbmNsdWRlICJ4ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jIgpkaWZmIC0tZ2l0 IGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Nl9lbXVsYXRlLmggYi90b29scy90ZXN0cy94 ODZfZW11bGF0b3IveDg2X2VtdWxhdGUuaAppbmRleCBhOWI4NzRjLi40Y2MzZjcyIDEwMDY0NAot LS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2X2VtdWxhdGUuaAorKysgYi90b29scy90 ZXN0cy94ODZfZW11bGF0b3IveDg2X2VtdWxhdGUuaApAQCAtMzcsMyArMzcsNzUgQEAKIGJvb2wg ZW11bF90ZXN0X21ha2Vfc3RhY2tfZXhlY3V0YWJsZSh2b2lkKTsKIAogI2luY2x1ZGUgIng4Nl9l bXVsYXRlL3g4Nl9lbXVsYXRlLmgiCisKK3N0YXRpYyBpbmxpbmUgdWludDY0X3QgeGdldGJ2KHVp bnQzMl90IHhjcikKK3sKKyAgICB1aW50MzJfdCBsbywgaGk7CisKKyAgICBhc20gKCAiLmJ5dGUg MHgwZiwgMHgwMSwgMHhkMCIgOiAiPWEiIChsbyksICI9ZCIgKGhpKSA6ICJjIiAoeGNyKSApOwor CisgICAgcmV0dXJuICgodWludDY0X3QpaGkgPDwgMzIpIHwgbG87Cit9CisKKyNkZWZpbmUgY2Fj aGVfbGluZV9zaXplKCkgKHsJCSAgICAgXAorICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBlYngs IGVjeCA9IDAsIGVkeDsgXAorICAgIGVtdWxfdGVzdF9jcHVpZCgmZWF4LCAmZWJ4LCAmZWN4LCAm ZWR4LCBOVUxMKTsgXAorICAgIGVkeCAmICgxVSA8PCAxOSkgPyAoZWJ4ID4+IDUpICYgMHg3Zjgg OiAwOyBcCit9KQorCisjZGVmaW5lIGNwdV9oYXNfbW14ICh7IFwKKyAgICB1bnNpZ25lZCBpbnQg ZWF4ID0gMSwgZWN4ID0gMCwgZWR4OyBcCisgICAgZW11bF90ZXN0X2NwdWlkKCZlYXgsICZlY3gs ICZlY3gsICZlZHgsIE5VTEwpOyBcCisgICAgKGVkeCAmICgxVSA8PCAyMykpICE9IDA7IFwKK30p CisKKyNkZWZpbmUgY3B1X2hhc19zc2UgKHsgXAorICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBl Y3ggPSAwLCBlZHg7IFwKKyAgICBlbXVsX3Rlc3RfY3B1aWQoJmVheCwgJmVjeCwgJmVjeCwgJmVk eCwgTlVMTCk7IFwKKyAgICAoZWR4ICYgKDFVIDw8IDI1KSkgIT0gMDsgXAorfSkKKworI2RlZmlu ZSBjcHVfaGFzX3NzZTIgKHsgXAorICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBlY3ggPSAwLCBl ZHg7IFwKKyAgICBlbXVsX3Rlc3RfY3B1aWQoJmVheCwgJmVjeCwgJmVjeCwgJmVkeCwgTlVMTCk7 IFwKKyAgICAoZWR4ICYgKDFVIDw8IDI2KSkgIT0gMDsgXAorfSkKKworI2RlZmluZSBjcHVfaGFz X3hzYXZlICh7IFwKKyAgICB1bnNpZ25lZCBpbnQgZWF4ID0gMSwgZWN4ID0gMDsgXAorICAgIGVt dWxfdGVzdF9jcHVpZCgmZWF4LCAmZWF4LCAmZWN4LCAmZWF4LCBOVUxMKTsgXAorICAgIC8qIElu dGVudGlvbmFsbHkgY2hlY2tpbmcgT1NYU0FWRSBoZXJlLiAqLyBcCisgICAgKGVjeCAmICgxVSA8 PCAyNykpICE9IDA7IFwKK30pCisKKyNkZWZpbmUgY3B1X2hhc19hdnggKHsgXAorICAgIHVuc2ln bmVkIGludCBlYXggPSAxLCBlY3ggPSAwOyBcCisgICAgZW11bF90ZXN0X2NwdWlkKCZlYXgsICZl YXgsICZlY3gsICZlYXgsIE5VTEwpOyBcCisgICAgaWYgKCAhKGVjeCAmICgxVSA8PCAyNykpIHx8 ICgoeGdldGJ2KDApICYgNikgIT0gNikgKSBcCisgICAgICAgIGVjeCA9IDA7IFwKKyAgICAoZWN4 ICYgKDFVIDw8IDI4KSkgIT0gMDsgXAorfSkKKworI2RlZmluZSBjcHVfaGFzX2F2eDIgKHsgXAor ICAgIHVuc2lnbmVkIGludCBlYXggPSAxLCBlYngsIGVjeCA9IDA7IFwKKyAgICBlbXVsX3Rlc3Rf Y3B1aWQoJmVheCwgJmVieCwgJmVjeCwgJmVheCwgTlVMTCk7IFwKKyAgICBpZiAoICEoZWN4ICYg KDFVIDw8IDI3KSkgfHwgKCh4Z2V0YnYoMCkgJiA2KSAhPSA2KSApIFwKKyAgICAgICAgZWJ4ID0g MDsgXAorICAgIGVsc2UgeyBcCisgICAgICAgIGVheCA9IDcsIGVjeCA9IDA7IFwKKyAgICAgICAg ZW11bF90ZXN0X2NwdWlkKCZlYXgsICZlYngsICZlY3gsICZlYXgsIE5VTEwpOyBcCisgICAgfSBc CisgICAgKGVieCAmICgxVSA8PCA1KSkgIT0gMDsgXAorfSkKKworaW50IGVtdWxfdGVzdF9jcHVp ZCgKKyAgICB1bnNpZ25lZCBpbnQgKmVheCwKKyAgICB1bnNpZ25lZCBpbnQgKmVieCwKKyAgICB1 bnNpZ25lZCBpbnQgKmVjeCwKKyAgICB1bnNpZ25lZCBpbnQgKmVkeCwKKyAgICBzdHJ1Y3QgeDg2 X2VtdWxhdGVfY3R4dCAqY3R4dCk7CisKK2ludCBlbXVsX3Rlc3RfcmVhZF9jcigKKyAgICB1bnNp Z25lZCBpbnQgcmVnLAorICAgIHVuc2lnbmVkIGxvbmcgKnZhbCwKKyAgICBzdHJ1Y3QgeDg2X2Vt dWxhdGVfY3R4dCAqY3R4dCk7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=