From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [RFC PATCH V2 3/4] hvmload: Add x2apic entry support in the MADT build Date: Thu, 31 Aug 2017 01:01:48 -0400 Message-ID: <1504155709-24276-4-git-send-email-tianyu.lan@intel.com> References: <1504155709-24276-1-git-send-email-tianyu.lan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1504155709-24276-1-git-send-email-tianyu.lan@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Lan Tianyu , kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, jbeulich@suse.com, roger.pau@citrix.com, chao.gao@intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyB0byBhZGQgeDJhcGljIGVudHJ5IHN1cHBvcnQgZm9yIEFDUEkgTUFEVCB0 YWJsZQphY2NvcmRpbmcgdG8gQUNQSSBzcGVjIDUuMi4xMi4xMiBQcm9jZXNzb3IgTG9jYWwgeDJB UElDIFN0cnVjdHVyZQoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5jb20+Ci0tLQog dG9vbHMvbGliYWNwaS9hY3BpMl8wLmggfCAxMCArKysrKysrKysKIHRvb2xzL2xpYmFjcGkvYnVp bGQuYyAgIHwgNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS90b29scy9saWJhY3BpL2FjcGkyXzAuaCBiL3Rvb2xzL2xpYmFjcGkvYWNw aTJfMC5oCmluZGV4IDc1OGE4MjMuLmNhYTM2ODIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmFjcGkv YWNwaTJfMC5oCisrKyBiL3Rvb2xzL2xpYmFjcGkvYWNwaTJfMC5oCkBAIC0zMjIsNiArMzIyLDcg QEAgc3RydWN0IGFjcGlfMjBfd2FldCB7CiAjZGVmaW5lIEFDUElfSU9fU0FQSUMgICAgICAgICAg ICAgICAgICAgICAgIDB4MDYKICNkZWZpbmUgQUNQSV9QUk9DRVNTT1JfTE9DQUxfU0FQSUMgICAg ICAgICAgMHgwNwogI2RlZmluZSBBQ1BJX1BMQVRGT1JNX0lOVEVSUlVQVF9TT1VSQ0VTICAgICAw eDA4CisjZGVmaW5lIEFDUElfUFJPQ0VTU09SX0xPQ0FMX1gyQVBJQyAgICAgICAgIDB4MDkKIAog LyoKICAqIEFQSUMgU3RydWN0dXJlIERlZmluaXRpb25zLgpAQCAtMzM4LDYgKzMzOSwxNSBAQCBz dHJ1Y3QgYWNwaV8yMF9tYWR0X2xhcGljIHsKICAgICB1aW50MzJfdCBmbGFnczsKIH07CiAKK3N0 cnVjdCBhY3BpXzIwX21hZHRfeDJhcGljIHsKKyAgICB1aW50OF90ICB0eXBlOworICAgIHVpbnQ4 X3QgIGxlbmd0aDsKKyAgICB1aW50MTZfdCByZXNlcnZlZDsgICAgICAgICAgLyogcmVzZXJ2ZWQg LSBtdXN0IGJlIHplcm8gKi8KKyAgICB1aW50MzJfdCBhcGljX2lkOyAgICAgICAgICAgLyogUHJv Y2Vzc29yIHgyQVBJQyBJRCAgKi8KKyAgICB1aW50MzJfdCBmbGFnczsKKyAgICB1aW50MzJfdCBh Y3BpX3Byb2Nlc3Nvcl9pZDsgLyogQUNQSSBwcm9jZXNzb3IgVUlEICovCit9OworCiAvKgogICog TG9jYWwgQVBJQyBGbGFncy4gIEFsbCBvdGhlciBiaXRzIGFyZSByZXNlcnZlZCBhbmQgbXVzdCBi ZSAwLgogICovCmRpZmYgLS1naXQgYS90b29scy9saWJhY3BpL2J1aWxkLmMgYi90b29scy9saWJh Y3BpL2J1aWxkLmMKaW5kZXggYzdjYzc4NC4uMGM5NTg1MCAxMDA2NDQKLS0tIGEvdG9vbHMvbGli YWNwaS9idWlsZC5jCisrKyBiL3Rvb2xzL2xpYmFjcGkvYnVpbGQuYwpAQCAtODIsOSArODIsOSBA QCBzdGF0aWMgc3RydWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0X21hZHQoc3RydWN0IGFjcGlf Y3R4dCAqY3R4dCwKICAgICBzdHJ1Y3QgYWNwaV8yMF9tYWR0ICAgICAgICAgICAqbWFkdDsKICAg ICBzdHJ1Y3QgYWNwaV8yMF9tYWR0X2ludHNyY292ciAqaW50c3Jjb3ZyOwogICAgIHN0cnVjdCBh Y3BpXzIwX21hZHRfaW9hcGljICAgICppb19hcGljOwotICAgIHN0cnVjdCBhY3BpXzIwX21hZHRf bGFwaWMgICAgICpsYXBpYzsKICAgICBjb25zdCBzdHJ1Y3QgaHZtX2luZm9fdGFibGUgICAqaHZt aW5mbyA9IGNvbmZpZy0+aHZtaW5mbzsKICAgICBpbnQgaSwgc3o7CisgICAgdm9pZCAqZW5kOwog CiAgICAgaWYgKCBjb25maWctPmxhcGljX2lkID09IE5VTEwgKQogICAgICAgICByZXR1cm4gTlVM TDsKQEAgLTkyLDcgKzkyLDEyIEBAIHN0YXRpYyBzdHJ1Y3QgYWNwaV8yMF9tYWR0ICpjb25zdHJ1 Y3RfbWFkdChzdHJ1Y3QgYWNwaV9jdHh0ICpjdHh0LAogICAgIHN6ICA9IHNpemVvZihzdHJ1Y3Qg YWNwaV8yMF9tYWR0KTsKICAgICBzeiArPSBzaXplb2Yoc3RydWN0IGFjcGlfMjBfbWFkdF9pbnRz cmNvdnIpICogMTY7CiAgICAgc3ogKz0gc2l6ZW9mKHN0cnVjdCBhY3BpXzIwX21hZHRfaW9hcGlj KTsKLSAgICBzeiArPSBzaXplb2Yoc3RydWN0IGFjcGlfMjBfbWFkdF9sYXBpYykgKiBodm1pbmZv LT5ucl92Y3B1czsKKworICAgIGlmIChodm1pbmZvLT5ucl92Y3B1cyA8IDEyOCkKKyAgICAgICAg c3ogKz0gc2l6ZW9mKHN0cnVjdCBhY3BpXzIwX21hZHRfbGFwaWMpICogaHZtaW5mby0+bnJfdmNw dXM7CisgICAgZWxzZQorICAgICAgICBzeiArPSBzaXplb2Yoc3RydWN0IGFjcGlfMjBfbWFkdF9s YXBpYykgKiAxMjggKworICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGFjcGlfMjBfbWFkdF94 MmFwaWMpICogKGh2bWluZm8tPm5yX3ZjcHVzIC0gMTI4KTsKIAogICAgIG1hZHQgPSBjdHh0LT5t ZW1fb3BzLmFsbG9jKGN0eHQsIHN6LCAxNik7CiAgICAgaWYgKCFtYWR0KSByZXR1cm4gTlVMTDsK QEAgLTEwOSw3ICsxMTQsNyBAQCBzdGF0aWMgc3RydWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0 X21hZHQoc3RydWN0IGFjcGlfY3R4dCAqY3R4dCwKICAgICBtYWR0LT5mbGFncyAgICAgID0gQUNQ SV9QQ0FUX0NPTVBBVDsKIAogICAgIGlmICggY29uZmlnLT50YWJsZV9mbGFncyAmIEFDUElfSEFT X0lPQVBJQyApCi0gICAgeyAgICAgCisgICAgewogICAgICAgICBpbnRzcmNvdnIgPSAoc3RydWN0 IGFjcGlfMjBfbWFkdF9pbnRzcmNvdnIgKikobWFkdCArIDEpOwogICAgICAgICBmb3IgKCBpID0g MDsgaSA8IDE2OyBpKysgKQogICAgICAgICB7CkBAIC0xNDYsMjcgKzE1MSw0NyBAQCBzdGF0aWMg c3RydWN0IGFjcGlfMjBfbWFkdCAqY29uc3RydWN0X21hZHQoc3RydWN0IGFjcGlfY3R4dCAqY3R4 dCwKICAgICAgICAgaW9fYXBpYy0+aW9hcGljX2lkICAgPSBjb25maWctPmlvYXBpY19pZDsKICAg ICAgICAgaW9fYXBpYy0+aW9hcGljX2FkZHIgPSBjb25maWctPmlvYXBpY19iYXNlX2FkZHJlc3M7 CiAKLSAgICAgICAgbGFwaWMgPSAoc3RydWN0IGFjcGlfMjBfbWFkdF9sYXBpYyAqKShpb19hcGlj ICsgMSk7CisgICAgICAgIGVuZCA9IChzdHJ1Y3QgYWNwaV8yMF9tYWR0X2xhcGljICopKGlvX2Fw aWMgKyAxKTsKICAgICB9CiAgICAgZWxzZQotICAgICAgICBsYXBpYyA9IChzdHJ1Y3QgYWNwaV8y MF9tYWR0X2xhcGljICopKG1hZHQgKyAxKTsKKyAgICAgICAgZW5kID0gKHN0cnVjdCBhY3BpXzIw X21hZHRfbGFwaWMgKikobWFkdCArIDEpOworCisgICAgaW5mby0+bWFkdF9sYXBpYzBfYWRkciA9 IGN0eHQtPm1lbV9vcHMudjJwKGN0eHQsIGVuZCk7CiAKLSAgICBpbmZvLT5ucl9jcHVzID0gaHZt aW5mby0+bnJfdmNwdXM7Ci0gICAgaW5mby0+bWFkdF9sYXBpYzBfYWRkciA9IGN0eHQtPm1lbV9v cHMudjJwKGN0eHQsIGxhcGljKTsKICAgICBmb3IgKCBpID0gMDsgaSA8IGh2bWluZm8tPm5yX3Zj cHVzOyBpKysgKQogICAgIHsKLSAgICAgICAgbWVtc2V0KGxhcGljLCAwLCBzaXplb2YoKmxhcGlj KSk7Ci0gICAgICAgIGxhcGljLT50eXBlICAgID0gQUNQSV9QUk9DRVNTT1JfTE9DQUxfQVBJQzsK LSAgICAgICAgbGFwaWMtPmxlbmd0aCAgPSBzaXplb2YoKmxhcGljKTsKLSAgICAgICAgLyogUHJv Y2Vzc29yIElEIG11c3QgbWF0Y2ggcHJvY2Vzc29yLW9iamVjdCBJRHMgaW4gdGhlIERTRFQuICov Ci0gICAgICAgIGxhcGljLT5hY3BpX3Byb2Nlc3Nvcl9pZCA9IGk7Ci0gICAgICAgIGxhcGljLT5h cGljX2lkID0gY29uZmlnLT5sYXBpY19pZChpKTsKLSAgICAgICAgbGFwaWMtPmZsYWdzID0gKHRl c3RfYml0KGksIGh2bWluZm8tPnZjcHVfb25saW5lKQotICAgICAgICAgICAgICAgICAgICAgICAg PyBBQ1BJX0xPQ0FMX0FQSUNfRU5BQkxFRCA6IDApOwotICAgICAgICBsYXBpYysrOworICAgICAg ICB1bnNpZ25lZCBpbnQgYXBpY19pZCA9IGNvbmZpZy0+bGFwaWNfaWQoaSk7CisKKyAgICAgICAg aWYgKCBhcGljX2lkIDwgMjU1ICkgeworICAgICAgICAgICAgc3RydWN0IGFjcGlfMjBfbWFkdF9s YXBpYyAqbGFwaWMgPSBlbmQ7CisKKyAgICAgICAgICAgIG1lbXNldChsYXBpYywgMCwgc2l6ZW9m KCpsYXBpYykpOworICAgICAgICAgICAgbGFwaWMtPnR5cGUgICAgPSBBQ1BJX1BST0NFU1NPUl9M T0NBTF9BUElDOworICAgICAgICAgICAgbGFwaWMtPmxlbmd0aCAgPSBzaXplb2YoKmxhcGljKTsK KyAgICAgICAgICAgIC8qIFByb2Nlc3NvciBJRCBtdXN0IG1hdGNoIHByb2Nlc3Nvci1vYmplY3Qg SURzIGluIHRoZSBEU0RULiAqLworICAgICAgICAgICAgbGFwaWMtPmFjcGlfcHJvY2Vzc29yX2lk ID0gaTsKKyAgICAgICAgICAgIGxhcGljLT5hcGljX2lkID0gY29uZmlnLT5sYXBpY19pZChpKTsK KyAgICAgICAgICAgIGxhcGljLT5mbGFncyA9ICgoaSA8IGh2bWluZm8tPm5yX3ZjcHVzKSAmJgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfYml0KGksIGh2bWluZm8tPnZjcHVfb25s aW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gQUNQSV9MT0NBTF9BUElDX0VOQUJM RUQgOiAwKTsKKyAgICAgICAgICAgIGVuZCA9ICsrbGFwaWM7CisgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICBzdHJ1Y3QgYWNwaV8yMF9tYWR0X3gyYXBpYyAqbGFwaWMgPSBlbmQ7CisKKyAg ICAgICAgICAgIG1lbXNldChsYXBpYywgMCwgc2l6ZW9mKCpsYXBpYykpOworICAgICAgICAgICAg bGFwaWMtPnR5cGUgICAgPSBBQ1BJX1BST0NFU1NPUl9MT0NBTF9YMkFQSUM7CisgICAgICAgICAg ICBsYXBpYy0+bGVuZ3RoICA9IHNpemVvZigqbGFwaWMpOworICAgICAgICAgICAgLyogUHJvY2Vz c29yIElEIG11c3QgbWF0Y2ggcHJvY2Vzc29yLW9iamVjdCBJRHMgaW4gdGhlIERTRFQuICovCisg ICAgICAgICAgICBsYXBpYy0+YWNwaV9wcm9jZXNzb3JfaWQgPSBpOworICAgICAgICAgICAgbGFw aWMtPmFwaWNfaWQgPSBjb25maWctPmxhcGljX2lkKGkpOworICAgICAgICAgICAgbGFwaWMtPmZs YWdzID0gIHRlc3RfYml0KGksIGh2bWluZm8tPnZjcHVfb25saW5lKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgID8gQUNQSV9MT0NBTF9BUElDX0VOQUJMRUQgOiAwOworICAgICAgICAgICAg ZW5kID0gKytsYXBpYzsKKyAgICAgICAgfQogICAgIH0KIAotICAgIG1hZHQtPmhlYWRlci5sZW5n dGggPSAodW5zaWduZWQgY2hhciAqKWxhcGljIC0gKHVuc2lnbmVkIGNoYXIgKiltYWR0OworICAg IGluZm8tPm5yX2NwdXMgPSBodm1pbmZvLT5ucl92Y3B1czsKKyAgICBtYWR0LT5oZWFkZXIubGVu Z3RoID0gKHVuc2lnbmVkIGNoYXIgKillbmQgLSAodW5zaWduZWQgY2hhciAqKW1hZHQ7CiAgICAg c2V0X2NoZWNrc3VtKG1hZHQsIG9mZnNldG9mKHN0cnVjdCBhY3BpX2hlYWRlciwgY2hlY2tzdW0p LAogICAgICAgICAgICAgICAgICBtYWR0LT5oZWFkZXIubGVuZ3RoKTsKICAgICBpbmZvLT5tYWR0 X2NzdW1fYWRkciA9Ci0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==