From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Du Date: Fri, 5 Jan 2024 17:42:11 +0800 (GMT+08:00) Subject: [RFC PATCH 0/3] RISC-V: KVM: Guest Debug Support In-Reply-To: References: <20231221095002.7404-1-duchao@eswincomputing.com> <19434eff.1deb.18c90a3a375.Coremail.duchao@eswincomputing.com> Message-ID: <2f1b56a2.686.18cd90066b8.Coremail.duchao@eswincomputing.com> List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On 2024-01-04 19:59, Anup Patel wrote: > > On Fri, Dec 22, 2023 at 1:59?PM Chao Du wrote: > > > > On 2023-12-21 21:01, Anup Patel wrote: > > > > > > On Thu, Dec 21, 2023 at 3:21?PM Chao Du wrote: > > > > > > > > This series implements KVM Guest Debug on RISC-V. Currently, we can > > > > debug RISC-V KVM guest from the host side, with software breakpoints. > > > > > > > > A brief test was done on QEMU RISC-V hypervisor emulator. > > > > > > > > A TODO list which will be added later: > > > > 1. HW breakpoints support > > > > 2. Test cases > > > > > > Himanshu has already done the complete HW breakpoint implementation > > > in OpenSBI, Linux RISC-V, and KVM RISC-V. This is based on the upcoming > > > SBI debug trigger extension draft proposal. > > > (Refer, https://lists.riscv.org/g/tech-debug/message/1261) > > > > > > There are also RISE projects to track these efforts: > > > https://wiki.riseproject.dev/pages/viewpage.action?pageId=394541 > > > https://wiki.riseproject.dev/pages/viewpage.action?pageId=394545 > > > > > > Currently, we are in the process of upstreaming the OpenSBI support > > > for SBI debug trigger extension. The Linux RISC-V and KVM RISC-V > > > patches require SBI debug trigger extension and Sdtrig extension to > > > be frozen which will happen next year 2024. > > > > > > Regards, > > > Anup > > > > > > > Hi Anup, > > > > Thank you for the information and your great work on the SBI > > Debug Trigger Extension proposal. > > > > So I think that 'HW breakpoints support' in the above TODO list > > will be taken care of by Himanshu following the extension proposal. > > > > On the other hand, if I understand correctly, the software > > breakpoint part of KVM Guest Debug has no dependency on the new > > extension since it does not use the trigger module. Just an > > ebreak substitution is made. > > > > So may I know your suggestion about this RFC? Both in KVM and QEMU. > > Sorry for the delay in response due to holiday season other > stuff keeping me busy. No problem. :) > > If this is about ebreak instruction virtualization then this series > needs following changes: > 1) Update cover letter to indicate this series focus on ebreak > instruction virtualization > 2) PATCH1 and PATCH2 can be merged into one PATCH1 > 3) Include a new patch which adds KVM selftest for ebreak > based guest debug. This selftest will test both: > A) Taking "ebreak" trap from guest as KVM_EXIT_DEBUG > in host user-space > B) Taking "ebreak" trap from guest as BREAKPOINT > exception in guest Sure, I will prepare a V2 series. Thanks. > > Regards, > Anup > > > > > Regards, > > Chao > > > > > > > > > > This series is based on Linux 6.7-rc6 and is also available at: > > > > https://github.com/Du-Chao/linux/tree/riscv_gd_sw > > > > > > > > The matched QEMU is available at: > > > > https://github.com/Du-Chao/qemu/tree/riscv_gd_sw > > > > > > > > Chao Du (3): > > > > RISC-V: KVM: Enable the KVM_CAP_SET_GUEST_DEBUG capability > > > > RISC-V: KVM: Implement kvm_arch_vcpu_ioctl_set_guest_debug() > > > > RISC-V: KVM: Handle breakpoint exits for VCPU > > > > > > > > arch/riscv/include/uapi/asm/kvm.h | 1 + > > > > arch/riscv/kvm/vcpu.c | 15 +++++++++++++-- > > > > arch/riscv/kvm/vcpu_exit.c | 4 ++++ > > > > arch/riscv/kvm/vm.c | 1 + > > > > 4 files changed, 19 insertions(+), 2 deletions(-) > > > > > > > > -- > > > > 2.17.1 > > > > > > > > > > > > -- > > > > kvm-riscv mailing list > > > > kvm-riscv at lists.infradead.org > > > > http://lists.infradead.org/mailman/listinfo/kvm-riscv From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from zg8tmja2lje4os4yms4ymjma.icoremail.net (zg8tmja2lje4os4yms4ymjma.icoremail.net [206.189.21.223]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 323882C684 for ; Fri, 5 Jan 2024 09:44:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=eswincomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=eswincomputing.com Received: from duchao$eswincomputing.com ( [112.46.135.130] ) by ajax-webmail-app1 (Coremail) ; Fri, 5 Jan 2024 17:42:11 +0800 (GMT+08:00) Date: Fri, 5 Jan 2024 17:42:11 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: "Chao Du" To: "Anup Patel" Cc: "Anup Patel" , kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, atishp@atishpatra.org, dbarboza@ventanamicro.com, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu Subject: Re: Re: [RFC PATCH 0/3] RISC-V: KVM: Guest Debug Support X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT6.0.3 build 20220420(169d3f8c) Copyright (c) 2002-2024 www.mailtech.cn mispb-72143050-eaf5-4703-89e0-86624513b4ce-eswincomputing.com In-Reply-To: References: <20231221095002.7404-1-duchao@eswincomputing.com> <19434eff.1deb.18c90a3a375.Coremail.duchao@eswincomputing.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <2f1b56a2.686.18cd90066b8.Coremail.duchao@eswincomputing.com> X-Coremail-Locale: en_US X-CM-TRANSID:TAJkCgAXo_30zpdlJIoEAA--.5150W X-CM-SenderInfo: xgxfxt3r6h245lqf0zpsxwx03jof0z/1tbiAQEHDGWWz3kcAgABsR X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWxJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= T24gMjAyNC0wMS0wNCAxOTo1OSwgQW51cCBQYXRlbCA8YW51cEBicmFpbmZhdWx0Lm9yZz4gd3Jv dGU6Cj4gCj4gT24gRnJpLCBEZWMgMjIsIDIwMjMgYXQgMTo1OeKAr1BNIENoYW8gRHUgPGR1Y2hh b0Blc3dpbmNvbXB1dGluZy5jb20+IHdyb3RlOgo+ID4KPiA+IE9uIDIwMjMtMTItMjEgMjE6MDEs IEFudXAgUGF0ZWwgPGFwYXRlbEB2ZW50YW5hbWljcm8uY29tPiB3cm90ZToKPiA+ID4KPiA+ID4g T24gVGh1LCBEZWMgMjEsIDIwMjMgYXQgMzoyMeKAr1BNIENoYW8gRHUgPGR1Y2hhb0Blc3dpbmNv bXB1dGluZy5jb20+IHdyb3RlOgo+ID4gPiA+Cj4gPiA+ID4gVGhpcyBzZXJpZXMgaW1wbGVtZW50 cyBLVk0gR3Vlc3QgRGVidWcgb24gUklTQy1WLiBDdXJyZW50bHksIHdlIGNhbgo+ID4gPiA+IGRl YnVnIFJJU0MtViBLVk0gZ3Vlc3QgZnJvbSB0aGUgaG9zdCBzaWRlLCB3aXRoIHNvZnR3YXJlIGJy ZWFrcG9pbnRzLgo+ID4gPiA+Cj4gPiA+ID4gQSBicmllZiB0ZXN0IHdhcyBkb25lIG9uIFFFTVUg UklTQy1WIGh5cGVydmlzb3IgZW11bGF0b3IuCj4gPiA+ID4KPiA+ID4gPiBBIFRPRE8gbGlzdCB3 aGljaCB3aWxsIGJlIGFkZGVkIGxhdGVyOgo+ID4gPiA+IDEuIEhXIGJyZWFrcG9pbnRzIHN1cHBv cnQKPiA+ID4gPiAyLiBUZXN0IGNhc2VzCj4gPiA+Cj4gPiA+IEhpbWFuc2h1IGhhcyBhbHJlYWR5 IGRvbmUgdGhlIGNvbXBsZXRlIEhXIGJyZWFrcG9pbnQgaW1wbGVtZW50YXRpb24KPiA+ID4gaW4g T3BlblNCSSwgTGludXggUklTQy1WLCBhbmQgS1ZNIFJJU0MtVi4gVGhpcyBpcyBiYXNlZCBvbiB0 aGUgdXBjb21pbmcKPiA+ID4gU0JJIGRlYnVnIHRyaWdnZXIgZXh0ZW5zaW9uIGRyYWZ0IHByb3Bv c2FsLgo+ID4gPiAoUmVmZXIsIGh0dHBzOi8vbGlzdHMucmlzY3Yub3JnL2cvdGVjaC1kZWJ1Zy9t ZXNzYWdlLzEyNjEpCj4gPiA+Cj4gPiA+IFRoZXJlIGFyZSBhbHNvIFJJU0UgcHJvamVjdHMgdG8g dHJhY2sgdGhlc2UgZWZmb3J0czoKPiA+ID4gaHR0cHM6Ly93aWtpLnJpc2Vwcm9qZWN0LmRldi9w YWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkPTM5NDU0MQo+ID4gPiBodHRwczovL3dpa2kucmlz ZXByb2plY3QuZGV2L3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9Mzk0NTQ1Cj4gPiA+Cj4g PiA+IEN1cnJlbnRseSwgd2UgYXJlIGluIHRoZSBwcm9jZXNzIG9mIHVwc3RyZWFtaW5nIHRoZSBP cGVuU0JJIHN1cHBvcnQKPiA+ID4gZm9yIFNCSSBkZWJ1ZyB0cmlnZ2VyIGV4dGVuc2lvbi4gVGhl IExpbnV4IFJJU0MtViBhbmQgS1ZNIFJJU0MtVgo+ID4gPiBwYXRjaGVzIHJlcXVpcmUgU0JJIGRl YnVnIHRyaWdnZXIgZXh0ZW5zaW9uIGFuZCBTZHRyaWcgZXh0ZW5zaW9uIHRvCj4gPiA+IGJlIGZy b3plbiB3aGljaCB3aWxsIGhhcHBlbiBuZXh0IHllYXIgMjAyNC4KPiA+ID4KPiA+ID4gUmVnYXJk cywKPiA+ID4gQW51cAo+ID4gPgo+ID4KPiA+IEhpIEFudXAsCj4gPgo+ID4gVGhhbmsgeW91IGZv ciB0aGUgaW5mb3JtYXRpb24gYW5kIHlvdXIgZ3JlYXQgd29yayBvbiB0aGUgU0JJCj4gPiBEZWJ1 ZyBUcmlnZ2VyIEV4dGVuc2lvbiBwcm9wb3NhbC4KPiA+Cj4gPiBTbyBJIHRoaW5rIHRoYXQgJ0hX IGJyZWFrcG9pbnRzIHN1cHBvcnQnIGluIHRoZSBhYm92ZSBUT0RPIGxpc3QKPiA+IHdpbGwgYmUg dGFrZW4gY2FyZSBvZiBieSBIaW1hbnNodSBmb2xsb3dpbmcgdGhlIGV4dGVuc2lvbiBwcm9wb3Nh bC4KPiA+Cj4gPiBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSwg dGhlIHNvZnR3YXJlCj4gPiBicmVha3BvaW50IHBhcnQgb2YgS1ZNIEd1ZXN0IERlYnVnIGhhcyBu byBkZXBlbmRlbmN5IG9uIHRoZSBuZXcKPiA+IGV4dGVuc2lvbiBzaW5jZSBpdCBkb2VzIG5vdCB1 c2UgdGhlIHRyaWdnZXIgbW9kdWxlLiBKdXN0IGFuCj4gPiBlYnJlYWsgc3Vic3RpdHV0aW9uIGlz IG1hZGUuCj4gPgo+ID4gU28gbWF5IEkga25vdyB5b3VyIHN1Z2dlc3Rpb24gYWJvdXQgdGhpcyBS RkM/IEJvdGggaW4gS1ZNIGFuZCBRRU1VLgo+IAo+IFNvcnJ5IGZvciB0aGUgZGVsYXkgaW4gcmVz cG9uc2UgZHVlIHRvIGhvbGlkYXkgc2Vhc29uIG90aGVyCj4gc3R1ZmYga2VlcGluZyBtZSBidXN5 LgoKTm8gcHJvYmxlbS4gOikKCj4gCj4gSWYgdGhpcyBpcyBhYm91dCBlYnJlYWsgaW5zdHJ1Y3Rp b24gdmlydHVhbGl6YXRpb24gdGhlbiB0aGlzIHNlcmllcwo+IG5lZWRzIGZvbGxvd2luZyBjaGFu Z2VzOgo+IDEpIFVwZGF0ZSBjb3ZlciBsZXR0ZXIgdG8gaW5kaWNhdGUgdGhpcyBzZXJpZXMgZm9j dXMgb24gZWJyZWFrCj4gICAgICBpbnN0cnVjdGlvbiB2aXJ0dWFsaXphdGlvbgo+IDIpIFBBVENI MSBhbmQgUEFUQ0gyIGNhbiBiZSBtZXJnZWQgaW50byBvbmUgUEFUQ0gxCj4gMykgSW5jbHVkZSBh IG5ldyBwYXRjaCB3aGljaCBhZGRzIEtWTSBzZWxmdGVzdCBmb3IgZWJyZWFrCj4gICAgIGJhc2Vk IGd1ZXN0IGRlYnVnLiBUaGlzIHNlbGZ0ZXN0IHdpbGwgdGVzdCBib3RoOgo+ICAgICBBKSBUYWtp bmcgImVicmVhayIgdHJhcCBmcm9tIGd1ZXN0IGFzIEtWTV9FWElUX0RFQlVHCj4gICAgICAgICAg aW4gaG9zdCB1c2VyLXNwYWNlCj4gICAgIEIpIFRha2luZyAiZWJyZWFrIiB0cmFwIGZyb20gZ3Vl c3QgYXMgQlJFQUtQT0lOVAo+ICAgICAgICAgZXhjZXB0aW9uIGluIGd1ZXN0CgpTdXJlLCBJIHdp bGwgcHJlcGFyZSBhIFYyIHNlcmllcy4KClRoYW5rcy4KCj4gCj4gUmVnYXJkcywKPiBBbnVwCj4g Cj4gPgo+ID4gUmVnYXJkcywKPiA+IENoYW8KPiA+Cj4gPiA+ID4KPiA+ID4gPiBUaGlzIHNlcmll cyBpcyBiYXNlZCBvbiBMaW51eCA2LjctcmM2IGFuZCBpcyBhbHNvIGF2YWlsYWJsZSBhdDoKPiA+ ID4gPiBodHRwczovL2dpdGh1Yi5jb20vRHUtQ2hhby9saW51eC90cmVlL3Jpc2N2X2dkX3N3Cj4g PiA+ID4KPiA+ID4gPiBUaGUgbWF0Y2hlZCBRRU1VIGlzIGF2YWlsYWJsZSBhdDoKPiA+ID4gPiBo dHRwczovL2dpdGh1Yi5jb20vRHUtQ2hhby9xZW11L3RyZWUvcmlzY3ZfZ2Rfc3cKPiA+ID4gPgo+ ID4gPiA+IENoYW8gRHUgKDMpOgo+ID4gPiA+ICAgUklTQy1WOiBLVk06IEVuYWJsZSB0aGUgS1ZN X0NBUF9TRVRfR1VFU1RfREVCVUcgY2FwYWJpbGl0eQo+ID4gPiA+ICAgUklTQy1WOiBLVk06IElt cGxlbWVudCBrdm1fYXJjaF92Y3B1X2lvY3RsX3NldF9ndWVzdF9kZWJ1ZygpCj4gPiA+ID4gICBS SVNDLVY6IEtWTTogSGFuZGxlIGJyZWFrcG9pbnQgZXhpdHMgZm9yIFZDUFUKPiA+ID4gPgo+ID4g PiA+ICBhcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20va3ZtLmggfCAgMSArCj4gPiA+ID4gIGFy Y2gvcmlzY3Yva3ZtL3ZjcHUuYyAgICAgICAgICAgICB8IDE1ICsrKysrKysrKysrKystLQo+ID4g PiA+ICBhcmNoL3Jpc2N2L2t2bS92Y3B1X2V4aXQuYyAgICAgICAgfCAgNCArKysrCj4gPiA+ID4g IGFyY2gvcmlzY3Yva3ZtL3ZtLmMgICAgICAgICAgICAgICB8ICAxICsKPiA+ID4gPiAgNCBmaWxl cyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+ID4gPiA+Cj4gPiA+ ID4gLS0KPiA+ID4gPiAyLjE3LjEKPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gLS0KPiA+ID4gPiBr dm0tcmlzY3YgbWFpbGluZyBsaXN0Cj4gPiA+ID4ga3ZtLXJpc2N2QGxpc3RzLmluZnJhZGVhZC5v cmcKPiA+ID4gPiBodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2t2 bS1yaXNjdgo=