From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hongyang Yang Subject: Re: [PATCH v18 04/11] libxl/remus: introduce an abstract Remus device layer Date: Wed, 27 Aug 2014 09:46:22 +0800 Message-ID: <53FD386E.90800@cn.fujitsu.com> References: <1406539445-12708-1-git-send-email-yanghy@cn.fujitsu.com> <1406539445-12708-5-git-send-email-yanghy@cn.fujitsu.com> <21475.50623.284472.82134@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <21475.50623.284472.82134@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Jackson Cc: laijs@cn.fujitsu.com, wency@cn.fujitsu.com, andrew.cooper3@citrix.com, yunhong.jiang@intel.com, eddie.dong@intel.com, xen-devel@lists.xen.org, rshriram@cs.ubc.ca, ian.campbell@citrix.com List-Id: xen-devel@lists.xenproject.org SGkgSWFuLAoKICAgVGhhbmtzIGZvciB0aGUgcmV2aWV3LCBJJ20gYWRkcmVzc2luZyB0aGVzZSBj b21tZW50cy4gV2hhdCBkbyB5b3UgdGhpbmsgb2YKdGhlIHJlc3Qgb2YgdGhlIHBhdGNoZXM/IERv IHlvdSBpbnRlbmQgdG8gcmV2aWV3IHRoZW0gYWxsIHRoaXMgdGltZSBvciBqdXN0CnN0b3AgaGVy ZSBhbmQgcmV2aWV3IG5leHQgdmVyc2lvbj8KCuWcqCAwOC8wOC8yMDE0IDAyOjMwIEFNLCBJYW4g SmFja3NvbiDlhpnpgZM6Cj4gWWFuZyBIb25neWFuZyB3cml0ZXMgKCJbUEFUQ0ggdjE4IDA0LzEx XSBsaWJ4bC9yZW11czogaW50cm9kdWNlIGFuIGFic3RyYWN0IFJlbXVzIGRldmljZSBsYXllciIp Ogo+PiBJbnRyb2R1Y2UgYW4gYWJzdHJhY3QgZGV2aWNlIGxheWVyIHRoYXQgYWxsb3dzIHRoZSBS ZW11cwo+PiBsb2dpYyBpbiBsaWJ4bCB0byBjb250cm9sIGEgZ3Vlc3QncyBkZXZpY2VzIGluIGEg ZGV2aWNlLWFnbm9zdGljCj4+IG1hbm5lci4gVGhlIGRldmljZSBsYXllciBhbHNvIGV4cG9zZXMg YSBzZXQgb2YgaW50ZXJuYWwgaW50ZXJmYWNlcwo+PiB0aGF0IGEgZGV2aWNlIHR5cGUgbXVzdCBp bXBsZW1lbnQsIGlmIGl0IHdpc2hlcyB0byBzdXBwb3J0IFJlbXVzLgo+Cj4gVGhhbmtzLiAgSSB0 aGluayB0aGlzIGlzIGNvbnZlcmdpbmcuICBJIGhhdmUgbW9zdGx5IG5pdHMgYXMgY29tbWVudHMK PiBub3cuICBJIGhhdmUgb25seSB0d28gbm9udHJpdmlhbCBjb21tZW50czogb25lIGFib3V0IHlv dXIgdXNlIG9mCj4gbXVsdGlkZXYgd2hpY2ggSSB0aGluayBuZWVkcyB0byBiZSBpbXByb3ZlZCwg YW5kIHRoZSBvdGhlciBpcyBhYm91dAo+IHRoZSBsaWJ4bF9fcmVtdXNfZGV2aWNlX2tpbmQgZW51 bSAod2hpY2ggeW91IGFyZSBhbHJlYWR5IGF3YXJlIG9mKS4KPgo+Cj4KPj4gK3N0YXRpYyB2b2lk IHJlbXVzX2RldmljZXNfcHJlcmVzdW1lX2NiKGxpYnhsX19lZ2MgKmVnYywKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRl ICpyZHMsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMp Cj4+ICt7Cj4+ICsgICAgaW50IG9rID0gMDsKPj4gKyAgICBsaWJ4bF9fZG9tYWluX3N1c3BlbmRf c3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihyZHMsICpkc3MsIHJkcyk7Cj4+ICsgICAgU1RBVEVf QU9fR0MoZHNzLT5hbyk7Cj4+ICsKPj4gKyAgICBpZiAocmMpCj4+ICAgICAgICAgICBnb3RvIG91 dDsKPj4KPj4gLSAgICAvKiBSRU1VUyBUT0RPOiBEZWFsIHdpdGggZGlzay4gU3RhcnQgYSBuZXcg bmV0d29yayBvdXRwdXQgYnVmZmVyICovCj4+IC0gICAgb2sgPSAxOwo+PiArICAgIC8qIFJlc3Vt ZXMgdGhlIGRvbWFpbiBhbmQgdGhlIGRldmljZSBtb2RlbCAqLwo+PiArICAgIGlmICghbGlieGxf X2RvbWFpbl9yZXN1bWUoZ2MsIGRzcy0+ZG9taWQsIC8qIEZhc3QgU3VzcGVuZCAqLzEpKQo+PiAr ICAgICAgICBvayA9IDE7Cj4KPiBBZ2FpbiwgdGhpcyBzaG91bGQgdXNlIHRoZSBzdGFuZGFyZCBg Z290byBvdXQnIGVycm9yIGhhbmRsaW5nIHN0eWxlLgo+IEluIHRoaXMgY2FzZSB0aGF0IG1lYW5z Ogo+Cj4gICAgICAgcmMgPSBsaWJ4bF9fZG9tYWluX3Jlc3VtZShnYywgZHNzLT5kb21pZCwgLyog RmFzdCBTdXNwZW5kICovMSk7Cj4gICAgICAgaWYgKHJjKSBnb3RvIG91dDsKPgo+ICAgICAgIG9r ID0gMTsKPiAgICAgb3V0Ogo+Cj4KPj4gK3N0YXRpYyB2b2lkIHJlbXVzX2RldmljZXNfY29tbWl0 X2NiKGxpYnhsX19lZ2MgKmVnYywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCj4+ICt7Cj4gLi4uCj4+ICsgICAgLyogU2V0IGNo ZWNrcG9pbnQgaW50ZXJ2YWwgdGltZW91dCAqLwo+PiArICAgIHJjID0gbGlieGxfX2V2X3RpbWVf cmVnaXN0ZXJfcmVsKGdjLCAmZHNzLT5jaGVja3BvaW50X3RpbWVvdXQsCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtdXNfbmV4dF9jaGVja3BvaW50LAo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzcy0+aW50ZXJ2YWwpOwo+PiArCj4+ ICsgICAgaWYgKHJjKSB7Cj4+ICsgICAgICAgIExPRyhFUlJPUiwgInVuYWJsZSB0byByZWdpc3Rl ciB0aW1lb3V0IGZvciBuZXh0IGVwb2NoLiIKPj4gKyAgICAgICAgICAgICIgVGVybWluYXRpbmcg UmVtdXMuLiIpOwo+PiArICAgICAgICBnb3RvIG91dDsKPj4gKyAgICB9Cj4KPiBUaGVyZSBpcyBu byBuZWVkIHRvIGxvZyBmYWlsdXJlcyBvZiBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwgZXQK PiBhbC4gIFNlZSB0aGUgY29tbWVudCBpbiBsaWJ4bF9pbnRlcm5hbC5oIG5lYXIgbGluZSA2OTEu ICBJdCBpcwo+IHN1ZmZpY2llbnQgdG8gZG8KPgo+ICAgICAgICBpZiAocmMpIGdvdG8gb3V0Owo+ Cj4+ICt0eXBlZGVmIGVudW0gbGlieGxfX3JlbXVzX2RldmljZV9raW5kIHsKPj4gKyAgICBMSUJY TF9fUkVNVVNfREVWSUNFX05JQyAgPSAoMSA8PCAwKSwKPj4gKyAgICBMSUJYTF9fUkVNVVNfREVW SUNFX0RJU0sgPSAoMSA8PCAxKSwKPj4gK30gbGlieGxfX3JlbXVzX2RldmljZV9raW5kOwo+Cj4g V2Ugc3RpbGwgbmVlZCB0byB0YWxrIGFib3V0IHRoaXMsIGFuZCB0aGUgY29tbWVudHMgSSBoYWQg YWJvdXQgdGhlCj4gdnRhYmxlcy4KPgo+PiArdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX3JlbXVzX2Rl dmljZSBsaWJ4bF9fcmVtdXNfZGV2aWNlOwo+PiArdHlwZWRlZiBzdHJ1Y3QgbGlieGxfX3JlbXVz X2RldmljZXNfc3RhdGUgbGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGU7Cj4+ICt0eXBlZGVmIHN0 cnVjdCBsaWJ4bF9fcmVtdXNfZGV2aWNlX3N1YmtpbmRfb3BzIGxpYnhsX19yZW11c19kZXZpY2Vf c3Via2luZF9vcHM7Cj4+ICsKPj4gKy8qCj4+ICsgKiBJbnRlcmZhY2VzIHRvIGJlIGltcGxlbWVu dGVkIGJ5IGV2ZXJ5IGRldmljZSB0eXBlIHRoYXQgd2lzaGVzIHRvCj4+ICsgKiBzdXBwb3J0IFJl bXVzLiBGdW5jdGlvbnMgbXVzdCBiZSBpbXBsZW1lbnRlZCB1bmxlc3Mgb3RoZXJ3aXNlCj4+ICsg KiBzdGF0ZWQuIE1hbnkgb2YgdGhlc2UgZnVuY3Rpb25zIGFyZSBhc3luY2hyb25vdXMuIFRoZXkg Y2FsbAo+PiArICogZGV2LT5hb2Rldi5jYWxsYmFjayB3aGVuIGRvbmUuICBUaGUgYWN0dWFsIGlt cGxlbWVudGF0aW9ucyBtYXkgYmUKPj4gKyAqIHN5bmNocm9ub3VzIGFuZCBjYWxsIGRldi0+YW9k ZXYuY2FsbGJhY2sgZGlyZWN0bHkgKGFzIHRoZSBsYXN0Cj4+ICsgKiB0aGluZyB0aGV5IGRvKS4K Pj4gKyAqLwo+PiArc3RydWN0IGxpYnhsX19yZW11c19kZXZpY2Vfc3Via2luZF9vcHMgewo+PiAr ICAgIC8qIHRoZSBkZXZpY2Uga2luZCB0aGlzIG9wcyBiZWxvbmdzIHRvLi4uICovCj4+ICsgICAg bGlieGxfX3JlbXVzX2RldmljZV9raW5kIGtpbmQ7Cj4+ICsKPj4gKyAgICAvKgo+PiArICAgICAq IGluaXQoKSBhbmQgY2xlYW51cCgpIHJlbGF0ZSB0byB0aGUgc3Via2luZC1zcGVjaWZpYyBzdGF0 ZSBpbgo+PiArICAgICAqIHRoZSBsaWJ4bCBjdHgsIG5vdCB0byBhbnkgc3BlY2lmaWMgZGV2aWNl Lgo+PiArICAgICAqIFN5bmNocm9ub3VzLiBjbGVhbnVwKCkgY2Fubm90IGZhaWwuCj4+ICsgICAg ICovCj4+ICsgICAgaW50ICgqaW5pdCkobGlieGxfX3JlbXVzX2RldmljZXNfc3RhdGUgKnJkcyk7 Cj4+ICsgICAgdm9pZCAoKmNsZWFudXApKGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRlICpyZHMp Owo+Cj4gQnV0IGFjdHVhbGx5IHRoZXkgdGFrZSBhIGxpYnhsX19yZW11c19kZXZpY2VzX3N0YXRl Lgo+Cj4gRWl0aGVyIHRoZSBzdGF0ZSBpcyBnbG9iYWwgZm9yIGFsbCBzaW11bHRhbmVvdXMgcmVt dXMgaW52b2NhdGlvbnMgaW4KPiB3aXRoIHRoaXMgbGlieGxfY3R4LCBpbiB3aGljaCBjYXNlIGlu aXQgYW5kIGNsZWFudXAgc2hvdWxkIG5vdCB0YWtlCj4gYW55IGxpYnhsX19yZW11c19kZXZpY2Vz X3N0YXRlLgo+Cj4gT3IgdGhlIHN0YXRlIGlzIHBlciByZW11cyBpbnZvY2F0aW9uLCBpbiB3aGlj aCBjYXNlIHRoZSBjb21tZW50IGlzCj4gd3JvbmcuCj4KPiBZb3UgYWxzbyBuZWVkIHRvIGRvY3Vt ZW50IHRoZSBlcnJvciBiZWhhdmlvdXIuICBGcm9tIHRoZSBjYWxsIHNpdGUgSQo+IHRoaW5rIHNv bWV0aGluZyBsaWtlOgo+Cj4gICAgICAgQmVmb3JlIHRoZSBmaXJzdCBjYWxsIHRvIGluaXQsIHRo ZSBzdWJraW5kLXNwZWNpZmljIHN0YXRlIHdpbGwgYmUKPiAgICAgICBhbGwtYml0cy16ZXJvLiAg Y2xlYW51cCB3aWxsIGJlIGNhbGxlZCB3aGV0aGVyIG9yIG5vdCBpbml0Cj4gICAgICAgc3VjY2Vl ZGVkLgo+Cj4gVGhpcyBpcyBhIHNpbWlsYXIgc2l0dWF0aW9uIHRvIHRoZSBvbmUgd2hlcmUgSSBh c2tlZCB5b3UgdG8gZG9jdW1lbnQKPiB0aGUgc2FtZSB0aGluZyBhYm91dCBgdGVhcmRvd24nLgo+ Cj4KPiBBbmQgaWYgdGhpcyBpcyBnbG9iYWwgc3RhdGUgaW4gdGhlIGxpYnhsX2N0eCwgeW91IGhh dmUgdG8gYWxzbyBzYXk6Cj4KPiAgICAgICBpbml0IG11c3QgYmUgaWRlbXBvdGVudDsgaXQgd2ls bCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMsCj4gICAgICAgcG9zc2libHkgZXZlbiBpZiBhZnRl ciBpdCBoYXMgYmVlbiBjYWxsZWQgYW5kIGZhaWxlZC4KPgo+IEFuZCBpZiB0aGF0IGlzIHRoZSBz ZW1hbnRpY3MgSSB0aGluayBzb21ldGhpbmcgbGlrZSBgZW5zdXJlX2luaXRlZCcgaXMKPiBwcm9i YWJseSBjb3JyZWN0IGZvciBpdHMgbmFtZS4KPgo+Cj4+ICsgICAgaW50IG51bV9kZXZpY2VzOwo+ PiArICAgIC8qCj4+ICsgICAgICogdGhpcyBhcnJheSBpcyBhbGxvY2F0ZWQgYmVmb3JlIHNldHVw IHRoZSByZW11cyBkZXZpY2VzIGJ5IHRoZQo+PiArICAgICAqIHJlbXVzIGFic3RyYWN0IGxheWVy Lgo+PiArICAgICAqIHRoZSBzaXplIG9mIHRoaXMgYXJyYXkgaXMgJ251bV9kZXZpY2VzJywgd2hp Y2ggaXMgdGhlIHRvdGFsIG51bWJlcgo+PiArICAgICAqIG9mIGxpYnhsIG5pYyBkZXZpY2VzIGFu ZCBkaXNrIGRldmljZXMobnVtX25pY3MgKyBudW1fZGlza3MpLgo+PiArICAgICAqLwo+PiArICAg IGxpYnhsX19yZW11c19kZXZpY2UgKipkZXY7Cj4KPiAoQXMgSSBzYWlkIGJlZm9yZSkgdGhpcyBj b21tZW50IGxlYXZlcyBzb21lIHF1ZXN0aW9ucyB1bmFuYW5zd2VyZWQ6Cj4KPiBXaGF0IHByb3Bv cnRpb24gb2YgdGhlIGRldnMgYXJyYXkgaXMgaW5pdGlhbGlzZWQgYXQgYW55IG9uZSB0aW1lID8K PiBNYXkgdGhlIGRldnMgYXJyYXkgY29udGFpbiBudWxsIHBvaW50ZXJzIGFuZCB3aGF0IGRvIHRo ZXkgbWVhbiA/ICBldGMuCj4KPiAoQW5kLCBzb3JyeSBmb3Igbm90IG5vdGljaW5nIHRoaXMgbGFz dCB0aW1lLCBidXQgSSB0aGluayB0aGlzIHZhcmlhYmxlCj4gbmVlZHMgdG8gYmUgY2FsbGVkIGBk ZXZzJyByYXRoZXIgdGhhbiBgZGV2Jy4pCj4KPj4gKy8qCj4+ICsgKiBJbmZvcm1hdGlvbiBhYm91 dCBhIHNpbmdsZSBkZXZpY2UgYmVpbmcgaGFuZGxlZCBieSByZW11cy4KPj4gKyAqIEFsbG9jYXRl ZCBieSB0aGUgcmVtdXMgYWJzdHJhY3QgbGF5ZXIuCj4+ICsgKi8KPj4gK3N0cnVjdCBsaWJ4bF9f cmVtdXNfZGV2aWNlIHsKPj4gKyAgICAvKi0tLS0tIHNoYXJlZCBiZXR3ZWVuIGFic3RyYWN0IGFu ZCBjb25jcmV0ZSBsYXllcnMgLS0tLS0qLwo+PiArICAgIC8qCj4+ICsgICAgICogaWYgdGhpcyBp cyB0cnVlLCB0aGF0IG1lYW5zIHRoZSBzdWJraW5kIG9wcyBtYXRjaGVkIHRoZQo+PiArICAgICAq IGRldmljZSBhbmQgd2UgaGF2ZSBhY3R1YWxseSBzZXQgdXAgdGhlIGRldmljZSBubyBtYXR0ZXIK Pj4gKyAgICAgKiBzZXR1cCBzdWNjZWVkIG9yIG5vdC4KPj4gKyAgICAgKi8KPj4gKyAgICBpbnQg c2V0X3VwOwo+Cj4gSSBkb24ndCB1bmRlcnN0YW5kIHRoaXMuICBUaGUgcHJvdG9jb2wgZG9jdW1l bnRlZCBpbgo+IGxpYnhsX19yZW11c19kZXZpY2Vfc3Via2luZF9vcHMgc2VlbXMgdG8gYmUgaG93 IHRoZSBzdWJraW5kCj4gY29tbXVuaWNhdGVzIHRvIHRoZSBhYnN0cmFjdCBsYXllciB3aGV0aGVy IHRoZSBkZXZpY2Ugd2FzIHN1Y2Nlc3NmdWxseQo+IHNldCB1cC4gIElzIHRoaXMgdmFyaWFibGUg aW4gZmFjdCBzb2xlbHkgZm9yIHRoZSBhYnN0cmFjdCBsYXllciA/Cj4KPiBBbHNvLCAid2UgaGF2 ZSBhY3R1YWxseSBzZXQgdXAgdGhlIGRldmljZSIgYW5kICJzZXR1cCBzdWNjZWVkZWQiIHNlZW0K PiB0byBiZSB0aGUgc2FtZSB0aGluZy4KPgo+IChBbHNvLCBjYW4gaXQgYmUgYSBib29sZWFuPykK Pgo+PiArICAgIC8qIGZpbmQgdGhlIGVycm9yIHRoYXQgd2FzIG5vdCBFUlJPUl9SRU1VU19ERVZP UFNfRE9FU19OT1RfTUFUQ0ggKi8KPj4gKyAgICBmb3IgKGkgPSAwOyBpIDwgcmRzLT5udW1fZGV2 aWNlczsgaSsrKSB7Cj4+ICsgICAgICAgIGRldiA9IHJkcy0+ZGV2W2ldOwo+PiArCj4+ICsgICAg ICAgIGlmICghZGV2LT5hb2Rldi5yYyB8fCBkZXYtPmFvZGV2LnJjID09IEVSUk9SX1JFTVVTX0RF Vk9QU19ET0VTX05PVF9NQVRDSCkKPgo+IFRoaXMgaXMgcXVpdGUgdG9ydHVvdXMuICBJIHRoaW5r IHlvdSBwcm9iYWJseSB3YW50IHRvIGRvIGl0Cj4gZGlmZmVyZW50bHkgYnkgaGF2aW5nIHR3byBs YXllcnMgb2YgY2FsbGJhY2sgZnVuY3Rpb246Cj4KPiBZb3Ugc2hvdWxkIHByb2JhYmx5IG1ha2Ug dGhlIG11bHRpZGV2LT5jYWxsYmFjayBvbmx5IHdoZW4geW91IGhhdmUKPiBmb3VuZCB0aGUgcmln aHQgc3Via2luZCAob3IgZmFpbGVkKS4KPgo+IFNvIHRoZSBzdWJraW5kIHNob3VsZCBiZSB0b2xk IHRvIHVzZSBhIGRpZmZlcmVudCBjYWxsYmFjayB3aGljaCBpcwo+IGhhbmRsZWQgaGVyZSBpbiB0 aGUgYWJzdHJhY3QgdHlwZSBjb2RlLiAgVGhlbiB5b3VyIGFic3RyYWN0IGNvZGUgY2FuCj4gaXRl cmF0ZSBzZXBhcmF0ZWx5IHRocm91Z2ggZWFjaCBzdWJraW5kLCByYXRoZXIgdGhhbiBodW50aW5n IHRocm91Z2gKPiB0aGUgaW5uYXJkcyBvZiBtdWx0aWRldi4KPgo+IChJIHRoaW5rIHRoYXQgYWNj ZXNzaW5nIGFvZGV2LT5yYyBoZXJlIGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLikKPgo+Cj4gVGhh bmtzLAo+IElhbi4KPiAuCj4KCi0tIApUaGFua3MsCllhbmcuCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=