From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from [222.73.24.84] (helo=song.cn.fujitsu.com) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Svg7w-0005gD-Kp for kexec@lists.infradead.org; Mon, 30 Jul 2012 02:54:38 +0000 Message-ID: <5015F737.7090508@cn.fujitsu.com> Date: Mon, 30 Jul 2012 10:53:43 +0800 From: Zhang Yanfei MIME-Version: 1.0 Subject: Re: [PATCH v5 0/3] Export offsets of VMCS fields as note information for kdump References: <4FFE9EDE.8080107@cn.fujitsu.com> In-Reply-To: <4FFE9EDE.8080107@cn.fujitsu.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: kexec-bounces@lists.infradead.org Errors-To: kexec-bounces+dwmw2=infradead.org@lists.infradead.org To: Avi Kivity Cc: dzickus@redhat.com, luto@mit.edu, kvm@vger.kernel.org, Joerg Roedel , mtosatti@redhat.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, paul.gortmaker@windriver.com, ludwig.nussel@suse.de, ebiederm@xmission.com, Greg KH SGVsbG8gQXZpLAoKRG8geW91IGhhdmUgYW55IGNvbW1lbnRzIGFib3V0IHRoaXMgdmVyc2lvbiBv ZiB0aGUgcGF0Y2ggc2V0PwoK5LqOIDIwMTLlubQwN+aciDEy5pelIDE3OjU0LCBaaGFuZyBZYW5m ZWkg5YaZ6YGTOgo+IFRoaXMgcGF0Y2ggc2V0IGV4cG9ydHMgb2Zmc2V0cyBvZiBWTUNTIGZpZWxk cyBhcyBub3RlIGluZm9ybWF0aW9uIGZvcgo+IGtkdW1wLiBXZSBjYWxsIGl0IFZNQ1NJTkZPLiBU aGUgcHVycG9zZSBvZiBWTUNTSU5GTyBpcyB0byByZXRyaWV2ZQo+IHJ1bnRpbWUgc3RhdGUgb2Yg Z3Vlc3QgbWFjaGluZSBpbWFnZSwgc3VjaCBhcyByZWdpc3RlcnMsIGluIGhvc3QKPiBtYWNoaW5l J3MgY3Jhc2ggZHVtcCBhcyBWTUNTIGZvcm1hdC4gVGhlIHByb2JsZW0gaXMgdGhhdCBWTUNTIGlu dGVybmFsCj4gaXMgaGlkZGVuIGJ5IEludGVsIGluIGl0cyBzcGVjaWZpY2F0aW9uLiBTbywgd2Ug c2xvdmUgdGhpcyBwcm9ibGVtCj4gYnkgcmV2ZXJzZSBlbmdpbmVlcmluZyBpbXBsZW1lbnRlZCBp biB0aGlzIHBhdGNoIHNldC4gVGhlIFZNQ1NJTkZPCj4gaXMgZXhwb3J0ZWQgdmlhIHN5c2ZzICgv c3lzL2RldmljZXMvc3lzdGVtL2NwdS92bWNzLykgdG8ga2V4ZWMtdG9vbHMuCj4gCj4gSGVyZSBh cmUgdHdvIHVzZXJjYXNlcyBmb3IgdHdvIGZlYXR1cmVzIHRoYXQgd2Ugd2FudC4KPiAKPiAxKSBD cmVhdGUgZ3Vlc3QgbWFjaGluZSdzIGNyYXNoIGR1bXBmaWxlIGZyb20gaG9zdCBtYWNoaW5lJ3Mg Y3Jhc2ggZHVtcGZpbGUKPiAKPiBJbiBnZW5lcmFsLCB3ZSB3YW50IHRvIHVzZSB0aGlzIGZlYXR1 cmUgb24gZmFpbHVyZSBhbmFseXNpcyBmb3IgdGhlIHN5c3RlbQo+IHdoZXJlIHRoZSBwcm9jZXNz aW5nIGRlcGVuZHMgb24gdGhlIGNvbW11bmljYXRpb24gYmV0d2VlbiBob3N0IGFuZCBndWVzdAo+ IG1hY2hpbmVzIHRvIGxvb2sgaW50byB0aGUgc3lzdGVtIGZyb20gYm90aCBtYWNoaW5lcydzIHZp ZXdwb2ludHMuCj4gCj4gQXMgYSBjb25jcmV0ZSBzaXR1YXRpb24sIGNvbnNpZGVyIHdoZXJlIHRo ZXJlJ3MgaGVhcnRiZWF0IG1vbml0b3JpbmcKPiBmZWF0dXJlIG9uIHRoZSBndWVzdCBtYWNoaW5l J3Mgc2lkZSwgd2hlcmUgd2UgbmVlZCB0byBkZXRlcm1pbmUgaW4KPiB3aGljaCBtYWNoaW5lIHNp ZGUgdGhlIGNhdXNlIG9mIGhlYXJ0YmVhdCBzdG9wIGxpZXMuIEluIG91ciBhY3R1YWwKPiBleHBl cmltZW50cywgd2UgZW5jb3VudGVyZWQgc3VjaCBzaXR1YXRpb24gYW5kIHdlIGZvdW5kIHRoZSBj YXVzZSBvZgo+IHRoZSBidWcgd2FzIGluIGhvc3QncyBwcm9jZXNzIHNjaGVkdWxhciBzbyBndWVz dCBtYWNoaW5lJ3MgdmNwdSBzdG9wcGVkCj4gZm9yIGEgbG9uZyB0aW1lIGFuZCB0aGVuIGxlZCB0 byBoZWFydGJlYXQgc3RvcC4KPiAKPiBUaGUgbW9kdWxlIHRoYXQganVkZ2VzIGhlYXJ0YmVhdCBz dG9wIGlzIG9uIGd1ZXN0IG1hY2hpbmUsIHNvIHdlIG5lZWQKPiB0byBkZWJ1ZyBndWVzdCBtYWNo aW5lJ3MgZGF0YS4gQnV0IGlmIHRoZSBjYXVzZSBsaWVzIGluIGhvc3QgbWFjaGluZQo+IHNpZGUs IHdlIG5lZWQgdG8gbG9vayBpbnRvIGhvc3QgbWFjaGluZSdzIGNyYXNoIGR1bXAuCj4gCj4gV2l0 aG91dCB0aGlzIGZlYXR1cmUsIHdlIGZpcnN0IGNyZWF0ZSBndWVzdCBtYWNoaW5lJ3MgZHVtcCBh bmQgdGhlbgo+IGNyZWF0ZSBob3N0IG1haGluZSdzLCBidXQgdGhlcmUncyBvbmx5IGEgc2hvcnQg dGltZSBiZXR3ZWVuIHR3bwo+IHByb2Nlc3NpbmdzLCBkdXJpbmcgd2hpY2ggaXQncyB1bmxpa2Vs eSB0aGF0IGJ1Z2d5IHNpdHVhdGlvbiByZW1haW5zLgo+IAo+IFNvLCB3ZSB0aGluayB0aGUgZmVh dHVyZSBpcyB1c2VmdWwgdG8gZGVidWcgYm90aCBndWVzdCBtYWNoaW5lJ3MgYW5kCj4gaG9zdCBt YWNoaW5lJ3Mgc2lkZXMgYXQgdGhlIHNhbWUgdGltZSwgYW5kIGV4cGVjdCB3ZSBjYW4gbWFrZSBm YWlsdXJlCj4gYW5hbHlzaXMgZWZmaWNpZW50bHkuCj4gCj4gT2YgY291cnNlLCB3ZSBiZWxpZXZl IHRoaXMgZmVhdHVyZSBpcyBjb21tb25seSB1c2VmdWwgb24gdGhlIHNpdHVhdGlvbgo+IHdoZXJl IGd1ZXN0IG1hY2hpbmUgZG9lc24ndCB3b3JrIHdlbGwgZHVlIHRvIHNvbWV0aGluZyBvZiBob3N0 IG1hY2hpbmUncy4KPiAKPiAyKSBHZXQgb2Zmc2V0cyBvZiBWTUNTIGluZm9ybWF0aW9uIG9uIHRo ZSBDUFUgcnVubmluZyBvbiB0aGUgaG9zdCBtYWNoaW5lCj4gCj4gSWYga2R1bXAgZG9lc24ndCB3 b3JrIHdlbGwsIHRoZW4gaXQgbWVhbnMgd2UgY2Fubm90IHVzZSBrdm0gQVBJIHRvIGdldAo+IHJl Z2lzdGVyIHZhbHVlcyBvZiBndWVzdCBtYWNoaW5lIGFuZCB0aGV5IGFyZSBzdGlsbCBsZWZ0IG9u IGl0cyB2bWNzCj4gcmVnaW9uLiBJbiB0aGUgY2FzZSwgd2UgdXNlIGNyYXNoIGR1bXAgbWVjaGFu aXNtIHJ1bm5pbmcgb3V0c2lkZSBvZgo+IGxpbnV4IGtlcm5lbCwgc3VjaCBhcyBzYWR1bXAsIGEg ZmlybXdhcmUtYmFzZWQgY3Jhc2ggZHVtcC4gVGhlbiBWTUNTCj4gaW5mb3JtYXRpb24gaXMgdGhl biBuZWNlc3NhcnkuCj4gCj4gVE9ETzoKPiAgIDEuIEluIGtleGVjLXRvb2xzLCBnZXQgVk1DU0lO Rk8gdmlhIHN5c2ZzIGFuZCBkdW1wIGl0IGFzIG5vdGUgaW5mb3JtYXRpb24KPiAgICAgIGludG8g dm1jb3JlLgo+ICAgMi4gRHVtcCBWTUNTIHJlZ2lvbiBvZiBlYWNoIGd1ZXN0IHZjcHUgYW5kIFZN Q1NJTkZPIGludG8gcWVtdS1wcm9jZXNzCj4gICAgICBjb3JlIGZpbGUuIFRvIGRvIHRoaXMsIHdl IHdpbGwgbW9kaWZ5IGtlcm5lbCBjb3JlIGR1bXBlciwgZ2RiIGdjb3JlCj4gICAgICBhbmQgY3Jh c2ggZ2NvcmUuCj4gICAzLiBEdW1wIGd1ZXN0IGltYWdlIGZyb20gdGhlIHFlbXUtcHJvY2VzcyBj b3JlIGZpbGUgaW50byBhIHZtY29yZS4KPiAKPiBDaGFuZ2Vsb2cgZnJvbSB2NCB0byB2NToKPiAx LiBUaGUgVk1DU0lORk8gaXMgc3RvcmVkIGluIGEgdHdvLWRpbWVuc2lvbmFsIGFycmF5IGZpbGxl ZCB3aXRoIGVhY2gKPiAgICBmaWVsZCdzIGVuY29kaW5nIGFuZCBjb3JyZXNwb25kaW5nIG9mZnNl dC4gU28gdGhlIHNpemUgb2YgVk1DU0lORk8KPiAgICBpcyBtdWNoIHNtYWxsZXIuCj4gMi4gdm1j cyBzeXNmcyBmaWxlIC9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L3ZtY3NfaWQgaXMgbW92ZWQgdG8K PiAgICAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS92bWNzL2lkLgo+IDMuIFJld3JpdGUgdGhlIEFC SSBlbnRyeSBmb3Igdm1jcyBpbnRlcmZhY2UgYW5kIHJlbW92ZSB0aGUgS2VybmVsVmVyc2lvbgo+ ICAgIGxpbmUuCj4gCj4gQ2hhbmdlbG9nIGZyb20gdjMgdG8gdjQ6Cj4gMS4gQWxsIHRoZSB2YXJp YWJsZXMgYW5kIGZ1bmN0aW9ucyBhcmUgbW92ZWQgdG8gdm1jc2luZm8taW50ZWwgbW9kdWxlLgo+ IDIuIEFkZCBhIG5ldyBzeXNmcyBpbnRlcmZhY2UgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvdm1j c19pZCB0byBleHBvcnQKPiAgICB2bWNzIHJldmlzaW9uIGlkZW50aWZpZXIuIEFuZCBvcmlnaWFs IHN5c2ZzIGludGVyZmFjZSBpcyBjaGFuZ2VkCj4gICAgZnJvbSAvc3lzL2RldmljZXMvY3B1L3Zt Y3MgdG8gL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvdm1jcy4gVGhhbmtzCj4gICAgR3JlZyBLSCBm b3IgaGlzIGhlbHBmdWwgY29tbWVudHMgYWJvdXQgc3lzZnMuCj4gCj4gQ2hhbmdlbG9nIGZyb20g djIgdG8gdjM6Cj4gMS4gTmV3IFZNQ1NJTkZPIGZvcm1hdC4KPiAgICBOb3cgdGhlIFZNQ1NJTkZP IGlzIG1haW5seSBtYWRlIHVwIG9mIGFuIGFycmF5IHRoYXQgY29udGFpbnMgYWxsIHZtY3MKPiAg ICBmaWVsZHMnIG9mZnNldHMuIFRoZSBvZmZzZXRzIGFyZW4ndCBlbmNvZGVkIGJlY2F1c2Ugd2Ug ZGVjb2RlIHRoZW0gaW4KPiAgICB0aGUgbW9kdWxlIGl0c2VsZi4gSWYgc29tZSBmaWVsZCBkb2Vz bid0IGV4aXN0IG9yIGl0cyBvZmZzZXQgY2Fubm90IGJlCj4gICAgZGVjb2RlZCBjb3JyZWN0bHks IHRoZSBvZmZzZXQgaW4gdGhlIGFycmF5IGlzIGp1c3Qgc2V0IHRvIHplcm8uCj4gMi4gTmV3IHN5 c2ZzIGludGVyZmFjZSBhbmQgRG9jdW1lbnRhdGlvbi9BQkkgZW50cnkuIAo+ICAgIFdlIGV4cG9z ZSB0aGUgYWN0dWFsIGZpZWxkcyBpbiAvc3lzL2RldmljZXMvY3B1L3ZtY3MgaW5zdGVhZCBvZiBq dXN0Cj4gICAgZXhwb3J0aW5nIHRoZSBhZGRyZXNzIG9mIFZNQ1NJTkZPIGluIC9zeXMva2VybmVs L3ZtY3NpbmZvLgo+ICAgIEZvciBleGFtcGxlLCAvc3lzL2RldmljZXMvY3B1L3ZtY3MvMDgwMCBj b250YWlucyB0aGUgb2Zmc2V0IG9mCj4gICAgR1VFU1RfRFNfU0VMRUNUT1IuIDA4MDAgaXMgdGhl IGVuY29kaW5nIG9mIEdVRVNUX0RTX1NFTEVDVE9SLgo+ICAgIEFjY29yZGluZ2x5LCBBQkkgZW50 cnkgaW4gRG9jdW1lbnRhdGlvbiBpcyBjaGFuZ2VkIGZyb20gc3lzZnMta2VybmVsLXZtY3NpbmZv Cj4gICAgdG8gc3lzZnMtZGV2aWNlcy1jcHUtdm1jcy4KPiAKPiBDaGFuZ2Vsb2cgZnJvbSB2MSB0 byB2MjoKPiAxLiBUaGUgVk1DU0lORk8gbm93IGhhcyBhIHNpbXBsZSBiaW5hcnkgPGZpZWxkPjxl bmNvZGVkIG9mZnNldD4gZm9ybWF0LAo+ICAgIGFzIGJlbG93Ogo+ICAgICAgKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gICAgICB8IEJ5dGUgb2Zmc2V0IHwgQ29u dGVudHMgICAgICAgICAgICAgICAgIHwKPiAgICAgICstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwo+ICAgICAgfCAwICAgICAgICAgICB8IFZNQ1MgcmV2aXNpb24gaWRl bnRpZmllciB8Cj4gICAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSsKPiAgICAgIHwgNCAgICAgICAgICAgfCA8ZmllbGQ+PGVuY29kZWQgb2Zmc2V0PiAgfAo+ICAg ICAgKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gICAgICB8IDE2 ICAgICAgICAgIHwgPGZpZWxkPjxlbmNvZGVkIG9mZnNldD4gIHwKPiAgICAgICstLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ICAgICAgLi4uLi4uCj4gICAKPiAgICBU aGUgZmlyc3QgMzIgYml0cyBvZiBWTUNTSU5GTyBjb250YWlucyB0aGUgVk1DUyByZXZpc2lvbiBp ZGVudGlmaWVyLgo+ICAgIFRoZSByZW1haW5kZXIgb2YgVk1DU0lORk8gaXMgdXNlZCBmb3IgPGZp ZWxkPjxlbmNvZGVkIG9mZnNldD4gc2V0cy4KPiAgICBFYWNoIHNldCB0YWtlcyAxMiBieXRlczog ZmllbGQgb2NjdXB5cyA0IGJ5dGVzIGFuZCBpdHMgY29ycmVzcG9uZGluZwo+ICAgIGVuY29kZWQg b2Zmc2V0IG9jY3VweXMgOCBieXRlcy4KPiAKPiAgICBFbmNvZGVkIG9mZnNldHMgYXJlIHJhdyB2 YWx1ZXMgcmVhZCBieSB2bWNzX3JlYWR7MTYsIDY0LCAzMiwgbH0sIGFuZAo+ICAgIHRoZXkgYXJl IGFsbCB1bnNpZ25lZCBleHRlbmRlZCB0byA4IGJ5dGVzIGZvciBlYWNoIDxmaWVsZD48ZW5jb2Rl ZCBvZmZzZXQ+Cj4gICAgc2V0IHdpbGwgaGF2ZSB0aGUgc2FtZSBzaXplLiAKPiAgICBXZSBkbyBu b3QgZGVjb2RlIG9mZnNldHMgaGVyZS4gVGhlIGRlY29kaW5nIHdvcmsgaXMgZGVsYXllZCBpbiB1 c2Vyc3BhY2UKPiAgICB0b29scyBmb3IgbW9yZSBmbGV4aWJsZSBoYW5kbGluZy4KPiAgICAKPiAg ICBBbmQgaGVyZSBhcmUgdHdvIGV4YW1wbGVzIG9mIHRoZSBuZXcgVk1DU0lORk86Cj4gICAgUHJv Y2Vzc29yOiBJbnRlbChSKSBDb3JlKFRNKTIgRHVvIENQVSAgICAgRTc1MDAgIEAgMi45M0dIego+ ICAgIFZNQ1NJTkZPIGNvbnRhaW5zOgo+ICAgICAgPDAwMDAwMDBkPiAgICAgICAgICAgICAgICAg ICAtLT4gVk1DUyByZXZpc2lvbiBpZCA9IDB4ZAo+ICAgICAgPDAwMDA0MDAwPjwwMDAwMDAwMDAx ODQwMTgwPiAtLT4gT0ZGU0VUKFBJTl9CQVNFRF9WTV9FWEVDX0NPTlRST0wpID0gMHgwMTg0MDE4 MAo+ICAgICAgPDAwMDA0MDAyPjwwMDAwMDAwMDAxOTQwMTkwPiAtLT4gT0ZGU0VUKENQVV9CQVNF RF9WTV9FWEVDX0NPTlRST0wpID0gMHgwMTk0MDE5MAo+ICAgICAgPDAwMDA0MDFlPjwwMDAwMDAw MDBmZTQwZmUwPiAtLT4gT0ZGU0VUKFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpID0gMHgwZmU0 MGZlMAo+ICAgICAgPDAwMDA0MDBjPjwwMDAwMDAwMDAxZTQwMWUwPiAtLT4gT0ZGU0VUKFZNX0VY SVRfQ09OVFJPTFMpID0gMHgwMWU0MDFlMAo+ICAgICAgLi4uLi4uCj4gCj4gICAgUHJvY2Vzc29y OiBJbnRlbChSKSBYZW9uKFIpIENQVSAgICAgICAgICAgRTc1NDAgIEAgMi4wMEdIeiAoMjQgY29y ZXMpCj4gICAgVk1DU0lORk8gY29udGFpbnM6Cj4gICAgICA8MDAwMDAwMGU+ICAgICAgICAgICAg ICAgICAgIC0tPiBWTUNTIHJldmlzaW9uIGlkID0gMHhlIAo+ICAgICAgPDAwMDA0MDAwPjwwMDAw MDAwMDA1NTQwNTUwPiAtLT4gT0ZGU0VUKFBJTl9CQVNFRF9WTV9FWEVDX0NPTlRST0wpID0gMHgw NTU0MDU1MAo+ICAgICAgPDAwMDA0MDAyPjwwMDAwMDAwMDA1NDQwNTQwPiAtLT4gT0ZGU0VUKENQ VV9CQVNFRF9WTV9FWEVDX0NPTlRST0wpID0gMHgwNTQ0MDU0MAo+ICAgICAgPDAwMDA0MDFlPjww MDAwMDAwMDA1NGMwNTQ4PiAtLT4gT0ZGU0VUKFNFQ09OREFSWV9WTV9FWEVDX0NPTlRST0wpID0g MHgwNTRjMDU0OAo+ICAgICAgPDAwMDA0MDBjPjwwMDAwMDAwMDA1N2MwNTc4PiAtLT4gT0ZGU0VU KFZNX0VYSVRfQ09OVFJPTFMpID0gMHgwNTdjMDU3OAo+ICAgICAgLi4uLi4uCj4gCj4gMi4gQWRk IGEgbmV3IGtlcm5lbCBtb2R1bGUgKnZtY3NpbmZvLWludGVsKiBmb3IgZmlsbGluZyBWTUNTSU5G TyBpbnN0ZWFkCj4gICAgb2YgcHV0dGluZyBpdCBpbiBtb2R1bGUga3ZtLWludGVsLiBUaGUgbmV3 IG1vZHVsZSBpcyBhdXRvLWxvYWRlZAo+ICAgIHdoZW4gdGhlIHZteCBjcHVmZWF0dXJlIGlzIGRl dGVjdGVkIGFuZCBpdCBkZXBlbmRzIG9uIG1vZHVsZSBrdm0taW50ZWwuCj4gICAgKkxvYWRpbmcg YW5kIHVubG9hZGluZyB0aGlzIG1vZHVsZSB3aWxsIGhhdmUgbm8gc2lkZSBlZmZlY3Qgb24gdGhl Cj4gICAgcnVubmluZyBndWVzdHMuKgo+IDMuIFRoZSBzeXNmcyBmaWxlIHZtY3NpbmZvIGlzIHNw bGl0dGVkIGludG8gMiBmaWxlczoKPiAgICAvc3lzL2tlcm5lbC92bWNzaW5mbzogc2hvd3MgcGh5 c2ljYWwgYWRkcmVzcyBvZiBWTUNTSU5GTyBub3RlIGluZm9ybWF0aW9uLgo+ICAgIC9zeXMva2Vy bmVsL3ZtY3NpbmZvX21heHNpemU6IHNob3dzIG1heCBzaXplIG9mIFZNQ1NJTkZPLgo+IDQuIEEg bmV3IERvY3VtZW50YXRpb24vQUJJIGVudHJ5IGlzIGFkZGVkIGZvciB2bWNzaW5mbyBhbmQgdm1j c2luZm9fbWF4c2l6ZS4KPiA1LiBEbyBub3QgdXBkYXRlIFZNQ1NJTkZPIG5vdGUgd2hlbiB0aGUg a2VybmVsIGlzIHBhbmlja2VkLgo+IAo+IHpoYW5neWFuZmVpICgzKToKPiAgIEtWTTogRXhwb3J0 IHN5bWJvbHMgZm9yIG1vZHVsZSB2bWNzaW5mby1pbnRlbAo+ICAgS1ZNLUlOVEVMOiBBZGQgbmV3 IG1vZHVsZSB2bWNzaW5mby1pbnRlbCB0byBmaWxsIFZNQ1NJTkZPCj4gICBEb2N1bWVudGF0aW9u OiBBZGQgQUJJIGVudHJ5IGZvciB2bWNzIHN5c2ZzIGludGVyZmFjZS4KPiAKPiAgRG9jdW1lbnRh dGlvbi9BQkkvdGVzdGluZy9zeXNmcy1kZXZpY2VzLXN5c3RlbS1jcHUgfCAgIDIwICsKPiAgYXJj aC94ODYvaW5jbHVkZS9hc20vdm14LmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDczICsr Cj4gIGFyY2gveDg2L2t2bS9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAxMSArCj4gIGFyY2gveDg2L2t2bS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgMyArCj4gIGFyY2gveDg2L2t2bS92bWNzaW5mby5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDcxNCArKysrKysrKysrKysrKysrKysrKwo+ICBhcmNoL3g4Ni9rdm0vdm14 LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgODEgKy0tCj4gIGluY2x1ZGUv bGludXgva3ZtX2hvc3QuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArCj4gIHZp cnQva3ZtL2t2bV9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOCAr LQo+ICA4IGZpbGVzIGNoYW5nZWQsIDg0MSBpbnNlcnRpb25zKCspLCA3MiBkZWxldGlvbnMoLSkK PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gveDg2L2t2bS92bWNzaW5mby5jCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2V4ZWMgbWFpbGluZyBsaXN0 CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9rZXhlYwo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Yanfei Subject: Re: [PATCH v5 0/3] Export offsets of VMCS fields as note information for kdump Date: Mon, 30 Jul 2012 10:53:43 +0800 Message-ID: <5015F737.7090508@cn.fujitsu.com> References: <4FFE9EDE.8080107@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: mtosatti@redhat.com, ebiederm@xmission.com, luto@mit.edu, Joerg Roedel , dzickus@redhat.com, paul.gortmaker@windriver.com, ludwig.nussel@suse.de, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kexec@lists.infradead.org, Greg KH To: Avi Kivity Return-path: In-Reply-To: <4FFE9EDE.8080107@cn.fujitsu.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Hello Avi, Do you have any comments about this version of the patch set? =E4=BA=8E 2012=E5=B9=B407=E6=9C=8812=E6=97=A5 17:54, Zhang Yanfei =E5=86= =99=E9=81=93: > This patch set exports offsets of VMCS fields as note information for > kdump. We call it VMCSINFO. The purpose of VMCSINFO is to retrieve > runtime state of guest machine image, such as registers, in host > machine's crash dump as VMCS format. The problem is that VMCS interna= l > is hidden by Intel in its specification. So, we slove this problem > by reverse engineering implemented in this patch set. The VMCSINFO > is exported via sysfs (/sys/devices/system/cpu/vmcs/) to kexec-tools. >=20 > Here are two usercases for two features that we want. >=20 > 1) Create guest machine's crash dumpfile from host machine's crash du= mpfile >=20 > In general, we want to use this feature on failure analysis for the s= ystem > where the processing depends on the communication between host and gu= est > machines to look into the system from both machines's viewpoints. >=20 > As a concrete situation, consider where there's heartbeat monitoring > feature on the guest machine's side, where we need to determine in > which machine side the cause of heartbeat stop lies. In our actual > experiments, we encountered such situation and we found the cause of > the bug was in host's process schedular so guest machine's vcpu stopp= ed > for a long time and then led to heartbeat stop. >=20 > The module that judges heartbeat stop is on guest machine, so we need > to debug guest machine's data. But if the cause lies in host machine > side, we need to look into host machine's crash dump. >=20 > Without this feature, we first create guest machine's dump and then > create host mahine's, but there's only a short time between two > processings, during which it's unlikely that buggy situation remains. >=20 > So, we think the feature is useful to debug both guest machine's and > host machine's sides at the same time, and expect we can make failure > analysis efficiently. >=20 > Of course, we believe this feature is commonly useful on the situatio= n > where guest machine doesn't work well due to something of host machin= e's. >=20 > 2) Get offsets of VMCS information on the CPU running on the host mac= hine >=20 > If kdump doesn't work well, then it means we cannot use kvm API to ge= t > register values of guest machine and they are still left on its vmcs > region. In the case, we use crash dump mechanism running outside of > linux kernel, such as sadump, a firmware-based crash dump. Then VMCS > information is then necessary. >=20 > TODO: > 1. In kexec-tools, get VMCSINFO via sysfs and dump it as note infor= mation > into vmcore. > 2. Dump VMCS region of each guest vcpu and VMCSINFO into qemu-proce= ss > core file. To do this, we will modify kernel core dumper, gdb gc= ore > and crash gcore. > 3. Dump guest image from the qemu-process core file into a vmcore. >=20 > Changelog from v4 to v5: > 1. The VMCSINFO is stored in a two-dimensional array filled with each > field's encoding and corresponding offset. So the size of VMCSINFO > is much smaller. > 2. vmcs sysfs file /sys/devices/system/cpu/vmcs_id is moved to > /sys/devices/system/cpu/vmcs/id. > 3. Rewrite the ABI entry for vmcs interface and remove the KernelVers= ion > line. >=20 > Changelog from v3 to v4: > 1. All the variables and functions are moved to vmcsinfo-intel module= =2E > 2. Add a new sysfs interface /sys/devices/system/cpu/vmcs_id to expor= t > vmcs revision identifier. And origial sysfs interface is changed > from /sys/devices/cpu/vmcs to /sys/devices/system/cpu/vmcs. Thanks > Greg KH for his helpful comments about sysfs. >=20 > Changelog from v2 to v3: > 1. New VMCSINFO format. > Now the VMCSINFO is mainly made up of an array that contains all v= mcs > fields' offsets. The offsets aren't encoded because we decode them= in > the module itself. If some field doesn't exist or its offset canno= t be > decoded correctly, the offset in the array is just set to zero. > 2. New sysfs interface and Documentation/ABI entry.=20 > We expose the actual fields in /sys/devices/cpu/vmcs instead of ju= st > exporting the address of VMCSINFO in /sys/kernel/vmcsinfo. > For example, /sys/devices/cpu/vmcs/0800 contains the offset of > GUEST_DS_SELECTOR. 0800 is the encoding of GUEST_DS_SELECTOR. > Accordingly, ABI entry in Documentation is changed from sysfs-kern= el-vmcsinfo > to sysfs-devices-cpu-vmcs. >=20 > Changelog from v1 to v2: > 1. The VMCSINFO now has a simple binary forma= t, > as below: > +-------------+--------------------------+ > | Byte offset | Contents | > +-------------+--------------------------+ > | 0 | VMCS revision identifier | > +-------------+--------------------------+ > | 4 | | > +-------------+--------------------------+ > | 16 | | > +-------------+--------------------------+ > ...... > =20 > The first 32 bits of VMCSINFO contains the VMCS revision identifie= r. > The remainder of VMCSINFO is used for sets= =2E > Each set takes 12 bytes: field occupys 4 bytes and its correspondi= ng > encoded offset occupys 8 bytes. >=20 > Encoded offsets are raw values read by vmcs_read{16, 64, 32, l}, a= nd > they are all unsigned extended to 8 bytes for each > set will have the same size.=20 > We do not decode offsets here. The decoding work is delayed in use= rspace > tools for more flexible handling. > =20 > And here are two examples of the new VMCSINFO: > Processor: Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz > VMCSINFO contains: > <0000000d> --> VMCS revision id =3D 0xd > <00004000><0000000001840180> --> OFFSET(PIN_BASED_VM_EXEC_CONTRO= L) =3D 0x01840180 > <00004002><0000000001940190> --> OFFSET(CPU_BASED_VM_EXEC_CONTRO= L) =3D 0x01940190 > <0000401e><000000000fe40fe0> --> OFFSET(SECONDARY_VM_EXEC_CONTRO= L) =3D 0x0fe40fe0 > <0000400c><0000000001e401e0> --> OFFSET(VM_EXIT_CONTROLS) =3D 0x= 01e401e0 > ...... >=20 > Processor: Intel(R) Xeon(R) CPU E7540 @ 2.00GHz (24 cor= es) > VMCSINFO contains: > <0000000e> --> VMCS revision id =3D 0xe=20 > <00004000><0000000005540550> --> OFFSET(PIN_BASED_VM_EXEC_CONTRO= L) =3D 0x05540550 > <00004002><0000000005440540> --> OFFSET(CPU_BASED_VM_EXEC_CONTRO= L) =3D 0x05440540 > <0000401e><00000000054c0548> --> OFFSET(SECONDARY_VM_EXEC_CONTRO= L) =3D 0x054c0548 > <0000400c><00000000057c0578> --> OFFSET(VM_EXIT_CONTROLS) =3D 0x= 057c0578 > ...... >=20 > 2. Add a new kernel module *vmcsinfo-intel* for filling VMCSINFO inst= ead > of putting it in module kvm-intel. The new module is auto-loaded > when the vmx cpufeature is detected and it depends on module kvm-i= ntel. > *Loading and unloading this module will have no side effect on the > running guests.* > 3. The sysfs file vmcsinfo is splitted into 2 files: > /sys/kernel/vmcsinfo: shows physical address of VMCSINFO note info= rmation. > /sys/kernel/vmcsinfo_maxsize: shows max size of VMCSINFO. > 4. A new Documentation/ABI entry is added for vmcsinfo and vmcsinfo_m= axsize. > 5. Do not update VMCSINFO note when the kernel is panicked. >=20 > zhangyanfei (3): > KVM: Export symbols for module vmcsinfo-intel > KVM-INTEL: Add new module vmcsinfo-intel to fill VMCSINFO > Documentation: Add ABI entry for vmcs sysfs interface. >=20 > Documentation/ABI/testing/sysfs-devices-system-cpu | 20 + > arch/x86/include/asm/vmx.h | 73 ++ > arch/x86/kvm/Kconfig | 11 + > arch/x86/kvm/Makefile | 3 + > arch/x86/kvm/vmcsinfo.c | 714 ++++++++++= ++++++++++ > arch/x86/kvm/vmx.c | 81 +-- > include/linux/kvm_host.h | 3 + > virt/kvm/kvm_main.c | 8 +- > 8 files changed, 841 insertions(+), 72 deletions(-) > create mode 100644 arch/x86/kvm/vmcsinfo.c