From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhai, Edwin" Subject: [PATCH] enable directed EOI Date: Wed, 18 Nov 2009 17:48:54 +0800 Message-ID: <4B03C306.8020607@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------050808000004080403000305" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: xen-devel@lists.xensource.com, "Zhai, Edwin" List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------050808000004080403000305 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit This patch enables directed EOI on latest processor. With this, the broadcast of EOI would be suppressed upon LAPIC EOI, so VMM is required to perform a directed EOI to the IOxAPIC generating the interrupt by writting to its EOI register.(Pls. refer SDM 3A 10.5.5) This is useful for ioapic_ack_old to avoid the spurious interrupt storm, which is the reason why ioapic_ack_new is used. Signed-Off-By: Zhai Edwin --------------050808000004080403000305 Content-Type: application/octet-stream; name="directed_eoi_enabling.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="directed_eoi_enabling.patch" SW5kZXg6IGh2L3hlbi9hcmNoL3g4Ni9hcGljLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHYub3Jp Zy94ZW4vYXJjaC94ODYvYXBpYy5jCisrKyBodi94ZW4vYXJjaC94ODYvYXBpYy5jCkBAIC02 OCw2ICs2OCw3IEBAIHN0YXRpYyBpbnQgZW5hYmxlX2xvY2FsX2FwaWMgX19pbml0ZGF0YSAK IGludCBhcGljX3ZlcmJvc2l0eTsKIAogaW50IHgyYXBpY19lbmFibGVkIF9fcmVhZF9tb3N0 bHkgPSAwOworaW50IGRpcmVjdGVkX2VvaV9lbmFibGVkIF9fcmVhZF9tb3N0bHkgPSAwOwog CiAvKgogICogVGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSBwYXJ0IG9mIHRoZSBMaW51eCBh cmNoaXRlY3R1cmUsIHRoZXJlCkBAIC0zNDgsNiArMzQ5LDcgQEAgdm9pZCBkaXNhYmxlX2xv Y2FsX0FQSUModm9pZCkKICAgICB9CiB9CiAKK2V4dGVybiBpbnQgaW9hcGljX2Fja19uZXc7 CiAvKgogICogVGhpcyBpcyB0byB2ZXJpZnkgdGhhdCB3ZSdyZSBsb29raW5nIGF0IGEgcmVh bCBsb2NhbCBBUElDLgogICogQ2hlY2sgdGhlc2UgYWdhaW5zdCB5b3VyIGJvYXJkIGlmIHRo ZSBDUFVzIGFyZW4ndCBnZXR0aW5nCkBAIC0zODgsNiArMzkwLDE4IEBAIGludCBfX2luaXQg dmVyaWZ5X2xvY2FsX0FQSUModm9pZCkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAvKgor ICAgICAqIERldGVjdGluZyBkaXJlY3RlZCBFT0kgb24gQlNQOgorICAgICAqIElmIGhhdmlu ZyBkaXJlY3RlZCBFT0kgc3VwcG9ydCBpbiBsYXBpYywgZm9yY2UgdG8gdXNlIGlvYXBpY19h Y2tfb2xkLAorICAgICAqIGFuZCBlbmFibGUgdGhlIGRpcmVjdGVkIEVPSSBmb3IgaW50ciBo YW5kbGluZy4KKyAgICAgKi8KKyAgICBpZiAoIHJlZzAgJiBBUElDX0xWUl9ESVJFQ1RFRF9F T0kgKQorICAgIHsKKyAgICAgICAgaW9hcGljX2Fja19uZXcgPSAwOworICAgICAgICBkaXJl Y3RlZF9lb2lfZW5hYmxlZCA9IDE7CisgICAgICAgIHByaW50aygiRW5hYmxlZCBkaXJlY3Rl ZCBFT0kgd2l0aCBpb2FwaWNfYWNrX29sZCBvbiFcbiIpOworICAgIH0KKworICAgIC8qCiAg ICAgICogVGhlIElEIHJlZ2lzdGVyIGlzIHJlYWQvd3JpdGUgaW4gYSByZWFsIEFQSUMuCiAg ICAgICovCiAgICAgcmVnMCA9IGFwaWNfcmVhZChBUElDX0lEKTsKQEAgLTU3NSw2ICs1ODks MTcgQEAgdm9pZCBfX2RldmluaXQgc2V0dXBfbG9jYWxfQVBJQyh2b2lkKQogICAgICAqIFNl dCBzcHVyaW91cyBJUlEgdmVjdG9yCiAgICAgICovCiAgICAgdmFsdWUgfD0gU1BVUklPVVNf QVBJQ19WRUNUT1I7CisKKyAgICAvKgorICAgICAqIEVuYWJsZSBkaXJlY3RlZCBFT0kKKyAg ICAgKi8KKyAgICBpZiAoIGRpcmVjdGVkX2VvaV9lbmFibGVkICkKKyAgICB7CisgICAgICAg IHZhbHVlIHw9IEFQSUNfU1BJVl9ESVJFQ1RFRF9FT0k7CisgICAgICAgIGFwaWNfcHJpbnRr KEFQSUNfVkVSQk9TRSwgIlN1cHByZXNzIEVPSSBicm9hZGNhc3Qgb24gQ1BVIyVkXG4iLAor ICAgICAgICAgICAgICAgICAgICBzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIH0KKwogICAg IGFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfU1BJViwgdmFsdWUpOwogCiAgICAgLyoKSW5kZXg6 IGh2L3hlbi9hcmNoL3g4Ni9pb19hcGljLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHYub3JpZy94 ZW4vYXJjaC94ODYvaW9fYXBpYy5jCisrKyBodi94ZW4vYXJjaC94ODYvaW9fYXBpYy5jCkBA IC0xOTcsNiArMTk3LDMwIEBAIHN0YXRpYyB2b2lkIHVubWFza19JT19BUElDX2lycSAodW5z aWduZWQKICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3Mp OwogfQogCitzdGF0aWMgdm9pZCBfX2VvaV9JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJx KQoreworICAgIHN0cnVjdCBpcnFfcGluX2xpc3QgKmVudHJ5ID0gaXJxXzJfcGluICsgaXJx OworICAgIHVuc2lnbmVkIGludCBwaW4sIHZlY3RvciA9IElPX0FQSUNfVkVDVE9SKGlycSk7 CisKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIHBpbiA9IGVudHJ5LT5waW47CisgICAgICAg IGlmIChwaW4gPT0gLTEpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaW9fYXBpY19l b2koZW50cnktPmFwaWMsIHZlY3Rvcik7CisgICAgICAgIGlmICghZW50cnktPm5leHQpCisg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgZW50cnkgPSBpcnFfMl9waW4gKyBlbnRyeS0+ bmV4dDsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIGVvaV9JT19BUElDX2lycSh1bnNpZ25l ZCBpbnQgaXJxKQoreworICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CisgICAgc3Bpbl9sb2Nr X2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CisgICAgX19lb2lfSU9fQVBJQ19pcnEo aXJxKTsKKyAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3Mp OworfQorCiBzdGF0aWMgdm9pZCBjbGVhcl9JT19BUElDX3Bpbih1bnNpZ25lZCBpbnQgYXBp YywgdW5zaWduZWQgaW50IHBpbikKIHsKICAgICBzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRy eSBlbnRyeTsKQEAgLTE0NjQsNyArMTQ4OCw4IEBAIHN0YXRpYyB2b2lkIG1hc2tfYW5kX2Fj a19sZXZlbF9pb2FwaWNfaXIKICAgICBpZiAoIGlvYXBpY19hY2tfbmV3ICkKICAgICAgICAg cmV0dXJuOwogCi0gICAgbWFza19JT19BUElDX2lycShpcnEpOworICAgIGlmICggIWRpcmVj dGVkX2VvaV9lbmFibGVkICkKKyAgICAgICAgbWFza19JT19BUElDX2lycShpcnEpOwogCiAv KgogICogSXQgYXBwZWFycyB0aGVyZSBpcyBhbiBlcnJhdHVtIHdoaWNoIGFmZmVjdHMgYXQg bGVhc3QgdmVyc2lvbiAweDExCkBAIC0xNTExLDggKzE1MzYsMTQgQEAgc3RhdGljIHZvaWQg ZW5kX2xldmVsX2lvYXBpY19pcnEgKHVuc2lnbgogCiAgICAgaWYgKCAhaW9hcGljX2Fja19u ZXcgKQogICAgIHsKLSAgICAgICAgaWYgKCAhKGlycV9kZXNjW2lycV0uc3RhdHVzICYgSVJR X0RJU0FCTEVEKSApCisgICAgICAgIGlmICggaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiBJUlFf RElTQUJMRUQgKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICggZGlyZWN0 ZWRfZW9pX2VuYWJsZWQgKQorICAgICAgICAgICAgZW9pX0lPX0FQSUNfaXJxKGlycSk7Cisg ICAgICAgIGVsc2UKICAgICAgICAgICAgIHVubWFza19JT19BUElDX2lycShpcnEpOworCiAg ICAgICAgIHJldHVybjsKICAgICB9CiAKSW5kZXg6IGh2L3hlbi9pbmNsdWRlL2FzbS14ODYv YXBpYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIGh2Lm9yaWcveGVuL2luY2x1ZGUvYXNtLXg4Ni9h cGljLmgKKysrIGh2L3hlbi9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCkBAIC0yMyw2ICsyMyw3 IEBACiAKIGV4dGVybiBpbnQgYXBpY192ZXJib3NpdHk7CiBleHRlcm4gaW50IHgyYXBpY19l bmFibGVkOworZXh0ZXJuIGludCBkaXJlY3RlZF9lb2lfZW5hYmxlZDsKIAogZXh0ZXJuIHZv aWQgZW5hYmxlX3gyYXBpYyh2b2lkKTsKIApJbmRleDogaHYveGVuL2luY2x1ZGUvYXNtLXg4 Ni9hcGljZGVmLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHYub3JpZy94ZW4vaW5jbHVkZS9hc20t eDg2L2FwaWNkZWYuaAorKysgaHYveGVuL2luY2x1ZGUvYXNtLXg4Ni9hcGljZGVmLmgKQEAg LTE2LDYgKzE2LDcgQEAKICNkZWZpbmUJCQlTRVRfeEFQSUNfSUQoeCkJCSgoKHgpPDwyNCkp CiAjZGVmaW5lCQlBUElDX0xWUgkweDMwCiAjZGVmaW5lCQkJQVBJQ19MVlJfTUFTSwkJMHhG RjAwRkYKKyNkZWZpbmUJCQlBUElDX0xWUl9ESVJFQ1RFRF9FT0kJKDEgPDwgMjQpCiAjZGVm aW5lCQkJR0VUX0FQSUNfVkVSU0lPTih4KQkoKHgpJjB4RkYpCiAjZGVmaW5lCQkJR0VUX0FQ SUNfTUFYTFZUKHgpCSgoKHgpPj4xNikmMHhGRikKICNkZWZpbmUJCQlBUElDX0lOVEVHUkFU RUQoeCkJKCh4KSYweEYwKQpAQCAtMzksNiArNDAsNyBAQAogI2RlZmluZQkJQVBJQ19TUElW CTB4RjAKICNkZWZpbmUJCQlBUElDX1NQSVZfRk9DVVNfRElTQUJMRUQJKDE8PDkpCiAjZGVm aW5lCQkJQVBJQ19TUElWX0FQSUNfRU5BQkxFRAkJKDE8PDgpCisjZGVmaW5lCQkJQVBJQ19T UElWX0RJUkVDVEVEX0VPSQkJKDE8PDEyKQogI2RlZmluZQkJQVBJQ19JU1IJMHgxMDAKICNk ZWZpbmUgICAgICAgICBBUElDX0lTUl9OUiAgICAgMHg4ICAgICAvKiBOdW1iZXIgb2YgMzIg Yml0IElTUiByZWdpc3RlcnMuICovCiAjZGVmaW5lCQlBUElDX1RNUgkweDE4MApJbmRleDog aHYveGVuL2luY2x1ZGUvYXNtLXg4Ni9pb19hcGljLmgKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaHYu b3JpZy94ZW4vaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaAorKysgaHYveGVuL2luY2x1ZGUv YXNtLXg4Ni9pb19hcGljLmgKQEAgLTE0Nyw2ICsxNDcsMTEgQEAgc3RhdGljIGlubGluZSB2 b2lkIGlvX2FwaWNfd3JpdGUodW5zaWduZQogCSooSU9fQVBJQ19CQVNFKGFwaWMpKzQpID0g dmFsdWU7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBpb19hcGljX2VvaSh1bnNpZ25lZCBp bnQgYXBpYywgdW5zaWduZWQgaW50IHZlY3RvcikKK3sKKyAgICAqKElPX0FQSUNfQkFTRShh cGljKSsxNikgPSB2ZWN0b3I7Cit9CisKIC8qCiAgKiBSZS13cml0ZSBhIHZhbHVlOiB0byBi ZSB1c2VkIGZvciByZWFkLW1vZGlmeS13cml0ZQogICogY3ljbGVzIHdoZXJlIHRoZSByZWFk IGFscmVhZHkgc2V0IHVwIHRoZSBpbmRleCByZWdpc3Rlci4K --------------050808000004080403000305 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------050808000004080403000305--