From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH RFC 2/3] vhpet: add support for level triggered interrupts Date: Fri, 23 Feb 2018 13:27:42 +0000 Message-ID: <20180223132743.59804-3-roger.pau@citrix.com> References: <20180223132743.59804-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1epDOS-0000CX-7u for xen-devel@lists.xenproject.org; Fri, 23 Feb 2018 13:28:08 +0000 In-Reply-To: <20180223132743.59804-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Stefan Bader , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org TGV2ZWwgdHJpZ2dlcmVkIGludGVycnVwdHMgYXJlIG5vdCBhbiBvcHRpb25hbCBmZWF0dXJlIG9m IEhQRVQsIGFuZAptdXN0IGJlIGltcGxlbWVudGVkIGluIG9yZGVyIHRvIGNvbXBseSB3aXRoIHRo ZSBIUEVUIHNwZWNpZmljYXRpb24uCgpJbXBsZW1lbnQgdGhlbSBieSBhZGRpbmcgYSBjYWxsYmFj ayB0byB0aGUgdGltZXIgd2hpY2ggc2V0cyB0aGUKaW50ZXJydXB0IGJpdCBpbiB0aGUgZ2VuZXJh bCBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLiBGdXJ0aGVyCmludGVycnVwdHMgKGluIGNhc2Ug b2YgcGVyaW9kaWMgbW9kZSkgd2lsbCBub3QgYmUgaW5qZWN0ZWQgdW50aWwgdGhlCmJpdCBpcyBj bGVhcmVkLgoKSW4gb3JkZXIgdG8gcmVzZXQgdGhlIGludGVycnVwdHMgd2hlbiB0aGUgc3RhdHVz IGJpdCBpcyBjbGVhciBYZW4gbXVzdAphbHNvIGRldGVjdCBhY2Nlc3NlcyB0byBzdWNoIHJlZ2lz dGVyLgoKV2hpbGUgdGhlcmUgY29udmVydCB0biBhbmQgaSBpbiBocGV0X3dyaXRlIHRvIHVuc2ln bmVkLgoKUmVwb3J0ZWQtYnk6IFN0ZWZhbiBCYWRlciA8c3RlZmFuLmJhZGVyQGNhbm9uaWNhbC5j b20+ClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29t PgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBTdGVmYW4gQmFkZXIgPHN0ZWZhbi5i YWRlckBjYW5vbmljYWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHBldC5jIHwgNDYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDM0IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vaHBldC5jIGIveGVuL2FyY2gveDg2L2h2bS9ocGV0LmMKaW5kZXggZjdhZWQ3 ZjY5ZS4uMWNmZDcyNTkyZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9ocGV0LmMKKysr IGIveGVuL2FyY2gveDg2L2h2bS9ocGV0LmMKQEAgLTIyMCw2ICsyMjAsMTcgQEAgc3RhdGljIHZv aWQgaHBldF9zdG9wX3RpbWVyKEhQRVRTdGF0ZSAqaCwgdW5zaWduZWQgaW50IHRuLAogICAgIGhw ZXRfZ2V0X2NvbXBhcmF0b3IoaCwgdG4sIGd1ZXN0X3RpbWUpOwogfQogCitzdGF0aWMgdm9pZCBo cGV0X3RpbWVyX2ZpcmVkKHN0cnVjdCB2Y3B1ICp2LCB2b2lkICpkYXRhKQoreworICAgIHVuc2ln bmVkIGludCB0biA9ICh1bnNpZ25lZCBpbnQpZGF0YTsKKyAgICBIUEVUU3RhdGUgKmggPSB2Y3B1 X3ZocGV0KHYpOworCisgICAgd3JpdGVfbG9jaygmaC0+bG9jayk7CisgICAgQVNTRVJUKCF0ZXN0 X2JpdCh0biwgJmgtPmhwZXQuaXNyKSk7CisgICAgX19zZXRfYml0KHRuLCAmaC0+aHBldC5pc3Ip OworICAgIHdyaXRlX3VubG9jaygmaC0+bG9jayk7Cit9CisKIC8qIHRoZSBudW1iZXIgb2YgSFBF VCB0aWNrIHRoYXQgc3RhbmRzIGZvcgogICogMS8oMl4xMCkgc2Vjb25kLCBuYW1lbHksIDAuOTc2 NTYyNSBtaWxsaXNlY29uZHMgKi8KICNkZWZpbmUgIEhQRVRfVElOWV9USU1FX1NQQU4gICgoaC0+ c3RpbWVfZnJlcSA+PiAxMCkgLyBTVElNRV9QRVJfSFBFVF9USUNLKQpAQCAtMjQxLDcgKzI1Miw3 IEBAIHN0YXRpYyB2b2lkIGhwZXRfc2V0X3RpbWVyKEhQRVRTdGF0ZSAqaCwgdW5zaWduZWQgaW50 IHRuLAogICAgICAgICBwaXRfc3RvcF9jaGFubmVsMF9pcnEoJnZocGV0X2RvbWFpbihoKS0+YXJj aC52cGl0KTsKICAgICB9CiAKLSAgICBpZiAoICF0aW1lcl9lbmFibGVkKGgsIHRuKSApCisgICAg aWYgKCAhdGltZXJfZW5hYmxlZChoLCB0bikgfHwgdGVzdF9iaXQodG4sICZoLT5ocGV0Lmlzcikg KQogICAgICAgICByZXR1cm47CiAKICAgICB0bl9jbXAgICA9IGhwZXRfZ2V0X2NvbXBhcmF0b3Io aCwgdG4sIGd1ZXN0X3RpbWUpOwpAQCAtMjc3LDggKzI4OCwxMiBAQCBzdGF0aWMgdm9pZCBocGV0 X3NldF90aW1lcihIUEVUU3RhdGUgKmgsIHVuc2lnbmVkIGludCB0biwKICAgICAgKiB0aW1lciB3 ZSBhbHNvIG5lZWQgdGhlIHBlcmlvZCB3aGljaCBtYXkgYmUgZGlmZmVyZW50IGJlY2F1c2UgdGlt ZSBtYXkKICAgICAgKiBoYXZlIGVsYXBzZWQgYmV0d2VlbiB0aGUgdGltZSB0aGUgY29tcGFyYXRv ciB3YXMgd3JpdHRlbiBhbmQgdGhlIHRpbWVyCiAgICAgICogYmVpbmcgZW5hYmxlZCAobm93KS4K KyAgICAgKgorICAgICAqIE5COiBzZXQgcGVyaW9kaWMgdGltZXJzIGFzIG9uZXNob3QgaWYgaW50 ZXJydXB0IHR5cGUgaXMgc2V0IHRvIGxldmVsCisgICAgICogYmVjYXVzZSB0aGUgdXNlciBtdXN0 IGFjayB0aGUgaW50ZXJydXB0IChieSB3cml0aW5nIDEgdG8gdGhlIGludGVycnVwdAorICAgICAq IHN0YXR1cyByZWdpc3RlcikgYmVmb3JlIGFub3RoZXIgaW50ZXJydXB0IGNhbiBiZSBkZWxpdmVy ZWQuCiAgICAgICovCi0gICAgb25lc2hvdCA9ICF0aW1lcl9pc19wZXJpb2RpYyhoLCB0bik7Cisg ICAgb25lc2hvdCA9ICF0aW1lcl9pc19wZXJpb2RpYyhoLCB0bikgfHwgdGltZXJfbGV2ZWwoaCwg dG4pOwogICAgIFRSQUNFXzJfTE9OR180RChUUkNfSFZNX0VNVUxfSFBFVF9TVEFSVF9USU1FUiwg dG4sIGlycSwKICAgICAgICAgICAgICAgICAgICAgVFJDX1BBUl9MT05HKGhwZXRfdGlja190b19u cyhoLCBkaWZmKSksCiAgICAgICAgICAgICAgICAgICAgIFRSQ19QQVJfTE9ORyhvbmVzaG90ID8g MExMIDoKQEAgLTI4Niw3ICszMDEsOSBAQCBzdGF0aWMgdm9pZCBocGV0X3NldF90aW1lcihIUEVU U3RhdGUgKmgsIHVuc2lnbmVkIGludCB0biwKICAgICBjcmVhdGVfcGVyaW9kaWNfdGltZSh2aHBl dF92Y3B1KGgpLCAmaC0+cHRbdG5dLAogICAgICAgICAgICAgICAgICAgICAgICAgIGhwZXRfdGlj a190b19ucyhoLCBkaWZmKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVzaG90ID8gMCA6 IGhwZXRfdGlja190b19ucyhoLCBoLT5ocGV0LnBlcmlvZFt0bl0pLAotICAgICAgICAgICAgICAg ICAgICAgICAgIGlycSwgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgaXJx LAorICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyX2xldmVsKGgsIHRuKSA/IGhwZXRfdGlt ZXJfZmlyZWQgOiBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopKHVuc2ln bmVkIGxvbmcpdG4pOwogfQogCiBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IGhwZXRfZml4dXBfcmVn KApAQCAtMzA0LDcgKzMyMSw3IEBAIHN0YXRpYyBpbnQgaHBldF93cml0ZSgKICAgICBIUEVUU3Rh dGUgKmggPSB2Y3B1X3ZocGV0KHYpOwogICAgIHVpbnQ2NF90IG9sZF92YWwsIG5ld192YWw7CiAg ICAgdWludDY0X3QgZ3Vlc3RfdGltZTsKLSAgICBpbnQgdG4sIGk7CisgICAgdW5zaWduZWQgaW50 IHRuLCBpOwogCiAgICAgLyogQWNjdWx1bWF0ZSBhIGJpdCBtYXNrIG9mIHRpbWVycyB3aG9zIHN0 YXRlIGlzIGNoYW5nZWQgYnkgdGhpcyB3cml0ZS4gKi8KICAgICB1bnNpZ25lZCBsb25nIHN0YXJ0 X3RpbWVycyA9IDA7CkBAIC0zNjAsNiArMzc3LDE5IEBAIHN0YXRpYyBpbnQgaHBldF93cml0ZSgK ICAgICAgICAgfQogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgSFBFVF9TVEFUVVM6CisgICAg ICAgIC8qIHdyaXRlIDEgdG8gY2xlYXIuICovCisgICAgICAgIHdoaWxlIChuZXdfdmFsKQorICAg ICAgICB7CisgICAgICAgICAgICBpID0gZmluZF9maXJzdF9zZXRfYml0KG5ld192YWwpOworICAg ICAgICAgICAgaWYgKCBpID49IEhQRVRfVElNRVJfTlVNICkKKyAgICAgICAgICAgICAgICBicmVh azsKKyAgICAgICAgICAgIF9fY2xlYXJfYml0KGksICZuZXdfdmFsKTsKKyAgICAgICAgICAgIGlm ICggX190ZXN0X2FuZF9jbGVhcl9iaXQoaSwgJmgtPmhwZXQuaXNyKSApCisgICAgICAgICAgICAg ICAgc2V0X3N0YXJ0X3RpbWVyKGkpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworCiAgICAg Y2FzZSBIUEVUX0NPVU5URVI6CiAgICAgICAgIGgtPmhwZXQubWM2NCA9IG5ld192YWw7CiAgICAg ICAgIGlmICggaHBldF9lbmFibGVkKGgpICkKQEAgLTM3OSwxNCArNDA5LDYgQEAgc3RhdGljIGlu dCBocGV0X3dyaXRlKAogCiAgICAgICAgIGgtPmhwZXQudGltZXJzW3RuXS5jb25maWcgPSBocGV0 X2ZpeHVwX3JlZyhuZXdfdmFsLCBvbGRfdmFsLCAweDNmNGUpOwogCi0gICAgICAgIGlmICggdGlt ZXJfbGV2ZWwoaCwgdG4pICkKLSAgICAgICAgewotICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9H X0VSUiwKLSAgICAgICAgICAgICAgICAgICAgICJIUEVUOiBsZXZlbCB0cmlnZ2VyZWQgaW50ZXJy dXB0IG5vdCBzdXBwb3J0ZWQgbm93XG4iKTsKLSAgICAgICAgICAgIGRvbWFpbl9jcmFzaChjdXJy ZW50LT5kb21haW4pOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQogICAgICAgICBp ZiAoIG5ld192YWwgJiBIUEVUX1ROXzMyQklUICkKICAgICAgICAgewogICAgICAgICAgICAgaC0+ aHBldC50aW1lcnNbdG5dLmNtcCA9ICh1aW50MzJfdCloLT5ocGV0LnRpbWVyc1t0bl0uY21wOwot LSAKMi4xNi4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==