From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex =?utf-8?Q?Benn=C3=A9e?= Subject: Re: [PATCH v4 10/12] KVM: arm64: guest debug, HW assisted debug support Date: Fri, 15 May 2015 17:16:26 +0100 Message-ID: <87y4kpke91.fsf@linaro.org> References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-11-git-send-email-alex.bennee@linaro.org> <20150515152346.GB23652@leverpostej> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id DD2EF51786 for ; Fri, 15 May 2015 12:06:42 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pODduLqPY2sp for ; Fri, 15 May 2015 12:06:41 -0400 (EDT) Received: from socrates.bennee.com (static.88-198-71-155.clients.your-server.de [88.198.71.155]) by mm01.cs.columbia.edu (Postfix) with ESMTPS id 436C95177C for ; Fri, 15 May 2015 12:06:40 -0400 (EDT) In-reply-to: <20150515152346.GB23652@leverpostej> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: Mark Rutland Cc: "kvm@vger.kernel.org" , "open list:DOCUMENTATION" , "jan.kiszka@siemens.com" , Will Deacon , Peter Zijlstra , "kvmarm@lists.cs.columbia.edu" , Lorenzo Pieralisi , Russell King , Jonathan Corbet , Ingo Molnar , Gleb Natapov , "zhichao.huang@linaro.org" , Catalin Marinas , "bp@suse.de" , Marc Zyngier , "r65777@freescale.com" , "linux-arm-kernel@lists.infradead.org" , adead.org@lists.cs.columbia.edu, "open list:ABI/API" , open list d List-Id: kvmarm@lists.cs.columbia.edu Ck1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+IHdyaXRlczoKCj4gSGkgQWxleCwK Pgo+IE9uIEZyaSwgTWF5IDE1LCAyMDE1IGF0IDAzOjI3OjEzUE0gKzAxMDAsIEFsZXggQmVubsOp ZSB3cm90ZToKPj4gVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHVzZXJzcGFjZSB0byBjb250cm9sIHRo ZSBIVyBkZWJ1ZyByZWdpc3RlcnMgZm9yCj4+IGd1ZXN0IGRlYnVnLiBJbiB0aGUgZGVidWcgaW9j dGwgd2UgY29weSB0aGUgSU1QREVGIGRlZmluZWQgbnVtYmVyIG9mCj4+IHJlZ2lzdGVycyBpbnRv IGEgbmV3IHJlZ2lzdGVyIHNldCBjYWxsZWQgaG9zdF9kZWJ1Z19zdGF0ZS4gVGhlcmUgaXMgbm93 Cj4+IGEgbmV3IHZjcHUgcGFyYW1ldGVyIGNhbGxlZCBkZWJ1Z19wdHIgd2hpY2ggc2VsZWN0cyB3 aGljaCByZWdpc3RlciBzZXQKPj4gaXMgdG8gY29waWVkIGludG8gdGhlIHJlYWwgcmVnaXN0ZXJz IHdoZW4gd29ybGQgc3dpdGNoIG9jY3Vycy4KPj4gCj4+IEkndmUgbW92ZWQgc29tZSBoZWxwZXIg ZnVuY3Rpb25zIGludG8gdGhlIGh3X2JyZWFrcG9pbnQuaCBoZWFkZXIgZm9yCj4+IHJlLXVzZS4K Pj4gCj4+IEFzIHdpdGggc2luZ2xlIHN0ZXAgd2UgbmVlZCB0byB0d2VhayB0aGUgZ3Vlc3QgcmVn aXN0ZXJzIHRvIGVuYWJsZSB0aGUKPj4gZXhjZXB0aW9ucyBzbyB3ZSBuZWVkIHRvIHNhdmUgYW5k IHJlc3RvcmUgdGhvc2UgYml0cy4KPj4gCj4+IFR3byBuZXcgY2FwYWJpbGl0aWVzIGhhdmUgYmVl biBhZGRlZCB0byB0aGUgS1ZNX0VYVEVOU0lPTiBpb2N0bCB0byBhbGxvdwo+PiB1c2Vyc3BhY2Ug dG8gcXVlcnkgdGhlIG51bWJlciBvZiBoYXJkd2FyZSBicmVhayBhbmQgd2F0Y2ggcG9pbnRzCj4+ IGF2YWlsYWJsZSBvbiB0aGUgaG9zdCBoYXJkd2FyZS4KPgo+IFRoZXJlJ3MgdGhlIHVuZm9ydHVu YXRlIHBvc3NpYmlsaXR5IHRoYXQgdGhlc2UgY291bGQgdmFyeSBhY3Jvc3MgY29yZXMKPiBpbiBh IGJpZy5MSVRUTEUgc3lzdGVtICh0aG91Z2ggd2UgaGF2ZW4ndCBzZWVuIHRoYXQgdGh1cyBmYXIp LiBUaGUKPiBrZXJuZWwgc2FuaXR5IGNoZWNrcyBzaG91bGQgY3VycmVudGx5IGV4cGxvZGUgaWYg c3VjaCBhIGNhc2UgaXMKPiBlbmNvdW50ZXJlZCwgYnV0IEkgZG9uJ3Qga25vdyB3aGF0IHdlJ2Qg ZG8gd2VyZSB0aGF0IHRvIGhhcHBlbi4KCkkgc3VzcGVjdCB3ZSB3b3VsZCBoYXZlIHRvIGRpc2Fi bGUgSFcgYXNzaXN0ZWQgYnJlYWtwb2ludHMgb3IgcmV0dXJuIHRoZQpsb3dlc3QgY29tbW9uIGRl bm9taW5hdG9yIGlmIHdlIGNhbiB0ZWxsIHdoaWNoIGNvcmVzIHdlIHNoYWxsIGV2ZXJ5IGJlCnNj aGVkdWxlZCBvbi4KCj4KPiBUaGlzIGdldHMgbW9yZSBmdW4gd2hlbiB5b3UgY29uc2lkZXIgdGhl IGNvbnRleHQtYXdhcmUgYnJlYWtwb2ludHMgYXJlCj4gdGhlIGhpZ2hlc3QgbnVtYmVyZWQuIFNv IHRoZSBzZXQgb2YgKGNvbnRleHQtYXdhcmUpIGJyZWFrcG9pbnRzIG1pZ2h0Cj4gbm90IGludGVy c2VjdCBhY3Jvc3MgYWxsIENQVXMuCgpJIGRpZG4ndCBzZWUgYSByZWZlcmVuY2UgdG8gdGhhdCBp biB0aGUgQVJNIEFSTS4gSXQgc2VlbWVkIHRvIGltcGx5IGFueQpicmVha3BvaW50IGNvdWxkIGJl IGNvbnRleHQgYXdhcmUgaXMgLkJUIHdhcyBhcHByb3ByaWF0ZWx5IHNldCBhbmQKbGlua2VkIHRv IHRoZSBWUi4gIAoKQXMgaXQgaGFwcGVucyB0aGUgZ2RiIHN0dWIgaW50ZXJmYWNlIGluIFFFTVUg aXMgZmFpcmx5IGxpbWl0ZWQgc28gd2hpbGUKSSBleHBvc2UgdGhlIGZ1bGwgZGVidWcgcmVnaXN0 ZXJzIEkgZG9uJ3QgdGhpbmsgdGhlcmUgaXMgY3VycmVudGx5IGEgd2F5CnRvIGV4cG9zZSBhbnkg b2YgdGhlIGZhbmN5IGxpbmtpbmcvY29udGV4dCBzdHVmZiB0byB0aGUgdXNlcnNwYWNlCmRlYnVn Z2VyLiBIb3dldmVyIEkgZGlkIG1ha2UgdGhlIEFCSSBwYXNzIGZ1bGwgcmF3IHZhbHVlcyBpbiBz byB0aGlzCmNvdWxkIGJlY29tZSBhIHBvc3NpYmlsaXR5IGxhdGVyIHdpdGhvdXQgaGF2aW5nIHRv IGV4cGFuZCB0aGUgQUJJLgoKCj4gSSdtIG5vdCBzdXJlIHdoYXQgdGhlIGJlc3QgdGhpbmcgdG8g ZG8gaXMgdy5yLnQuIGV4cG9zaW5nIHRoYXQgdG8KPiB1c2Vyc3BhY2UuCj4KPiBUaGFua3MsCj4g TWFyay4KCi0tIApBbGV4IEJlbm7DqWUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1i aWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlzdGluZm8va3Zt YXJtCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: alex.bennee@linaro.org (Alex =?utf-8?Q?Benn=C3=A9e?=) Date: Fri, 15 May 2015 17:16:26 +0100 Subject: [PATCH v4 10/12] KVM: arm64: guest debug, HW assisted debug support In-Reply-To: <20150515152346.GB23652@leverpostej> References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-11-git-send-email-alex.bennee@linaro.org> <20150515152346.GB23652@leverpostej> Message-ID: <87y4kpke91.fsf@linaro.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Mark Rutland writes: > Hi Alex, > > On Fri, May 15, 2015 at 03:27:13PM +0100, Alex Benn?e wrote: >> This adds support for userspace to control the HW debug registers for >> guest debug. In the debug ioctl we copy the IMPDEF defined number of >> registers into a new register set called host_debug_state. There is now >> a new vcpu parameter called debug_ptr which selects which register set >> is to copied into the real registers when world switch occurs. >> >> I've moved some helper functions into the hw_breakpoint.h header for >> re-use. >> >> As with single step we need to tweak the guest registers to enable the >> exceptions so we need to save and restore those bits. >> >> Two new capabilities have been added to the KVM_EXTENSION ioctl to allow >> userspace to query the number of hardware break and watch points >> available on the host hardware. > > There's the unfortunate possibility that these could vary across cores > in a big.LITTLE system (though we haven't seen that thus far). The > kernel sanity checks should currently explode if such a case is > encountered, but I don't know what we'd do were that to happen. I suspect we would have to disable HW assisted breakpoints or return the lowest common denominator if we can tell which cores we shall every be scheduled on. > > This gets more fun when you consider the context-aware breakpoints are > the highest numbered. So the set of (context-aware) breakpoints might > not intersect across all CPUs. I didn't see a reference to that in the ARM ARM. It seemed to imply any breakpoint could be context aware is .BT was appropriately set and linked to the VR. As it happens the gdb stub interface in QEMU is fairly limited so while I expose the full debug registers I don't think there is currently a way to expose any of the fancy linking/context stuff to the userspace debugger. However I did make the ABI pass full raw values in so this could become a possibility later without having to expand the ABI. > I'm not sure what the best thing to do is w.r.t. exposing that to > userspace. > > Thanks, > Mark. -- Alex Benn?e From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex =?utf-8?Q?Benn=C3=A9e?= Subject: Re: [PATCH v4 10/12] KVM: arm64: guest debug, HW assisted debug support Date: Fri, 15 May 2015 17:16:26 +0100 Message-ID: <87y4kpke91.fsf@linaro.org> References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-11-git-send-email-alex.bennee@linaro.org> <20150515152346.GB23652@leverpostej> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: , "kvm@vger.kernel.org" , "open list:DOCUMENTATION" , "jan.kiszka@siemens.com" , Will Deacon , Peter Zijlstra , "kvmarm@lists.cs.columbia.edu" , Lorenzo Pieralisi , Russell King , Jonathan Corbet , Ingo Molnar , Gleb Natapov , "zhichao.huang@linaro.org" , Catalin Marinas , "bp@suse.de" , Marc Zyngier , "r65777@freescale.com" , "linux-arm-kernel@lists.infradead.org" , adead.org@lists.cs.columbia.edu, "open list:ABI/API" , open list , "d To: Mark Rutland Return-path: In-reply-to: <20150515152346.GB23652@leverpostej> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu List-Id: kvm.vger.kernel.org Ck1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+IHdyaXRlczoKCj4gSGkgQWxleCwK Pgo+IE9uIEZyaSwgTWF5IDE1LCAyMDE1IGF0IDAzOjI3OjEzUE0gKzAxMDAsIEFsZXggQmVubsOp ZSB3cm90ZToKPj4gVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHVzZXJzcGFjZSB0byBjb250cm9sIHRo ZSBIVyBkZWJ1ZyByZWdpc3RlcnMgZm9yCj4+IGd1ZXN0IGRlYnVnLiBJbiB0aGUgZGVidWcgaW9j dGwgd2UgY29weSB0aGUgSU1QREVGIGRlZmluZWQgbnVtYmVyIG9mCj4+IHJlZ2lzdGVycyBpbnRv IGEgbmV3IHJlZ2lzdGVyIHNldCBjYWxsZWQgaG9zdF9kZWJ1Z19zdGF0ZS4gVGhlcmUgaXMgbm93 Cj4+IGEgbmV3IHZjcHUgcGFyYW1ldGVyIGNhbGxlZCBkZWJ1Z19wdHIgd2hpY2ggc2VsZWN0cyB3 aGljaCByZWdpc3RlciBzZXQKPj4gaXMgdG8gY29waWVkIGludG8gdGhlIHJlYWwgcmVnaXN0ZXJz IHdoZW4gd29ybGQgc3dpdGNoIG9jY3Vycy4KPj4gCj4+IEkndmUgbW92ZWQgc29tZSBoZWxwZXIg ZnVuY3Rpb25zIGludG8gdGhlIGh3X2JyZWFrcG9pbnQuaCBoZWFkZXIgZm9yCj4+IHJlLXVzZS4K Pj4gCj4+IEFzIHdpdGggc2luZ2xlIHN0ZXAgd2UgbmVlZCB0byB0d2VhayB0aGUgZ3Vlc3QgcmVn aXN0ZXJzIHRvIGVuYWJsZSB0aGUKPj4gZXhjZXB0aW9ucyBzbyB3ZSBuZWVkIHRvIHNhdmUgYW5k IHJlc3RvcmUgdGhvc2UgYml0cy4KPj4gCj4+IFR3byBuZXcgY2FwYWJpbGl0aWVzIGhhdmUgYmVl biBhZGRlZCB0byB0aGUgS1ZNX0VYVEVOU0lPTiBpb2N0bCB0byBhbGxvdwo+PiB1c2Vyc3BhY2Ug dG8gcXVlcnkgdGhlIG51bWJlciBvZiBoYXJkd2FyZSBicmVhayBhbmQgd2F0Y2ggcG9pbnRzCj4+ IGF2YWlsYWJsZSBvbiB0aGUgaG9zdCBoYXJkd2FyZS4KPgo+IFRoZXJlJ3MgdGhlIHVuZm9ydHVu YXRlIHBvc3NpYmlsaXR5IHRoYXQgdGhlc2UgY291bGQgdmFyeSBhY3Jvc3MgY29yZXMKPiBpbiBh IGJpZy5MSVRUTEUgc3lzdGVtICh0aG91Z2ggd2UgaGF2ZW4ndCBzZWVuIHRoYXQgdGh1cyBmYXIp LiBUaGUKPiBrZXJuZWwgc2FuaXR5IGNoZWNrcyBzaG91bGQgY3VycmVudGx5IGV4cGxvZGUgaWYg c3VjaCBhIGNhc2UgaXMKPiBlbmNvdW50ZXJlZCwgYnV0IEkgZG9uJ3Qga25vdyB3aGF0IHdlJ2Qg ZG8gd2VyZSB0aGF0IHRvIGhhcHBlbi4KCkkgc3VzcGVjdCB3ZSB3b3VsZCBoYXZlIHRvIGRpc2Fi bGUgSFcgYXNzaXN0ZWQgYnJlYWtwb2ludHMgb3IgcmV0dXJuIHRoZQpsb3dlc3QgY29tbW9uIGRl bm9taW5hdG9yIGlmIHdlIGNhbiB0ZWxsIHdoaWNoIGNvcmVzIHdlIHNoYWxsIGV2ZXJ5IGJlCnNj aGVkdWxlZCBvbi4KCj4KPiBUaGlzIGdldHMgbW9yZSBmdW4gd2hlbiB5b3UgY29uc2lkZXIgdGhl IGNvbnRleHQtYXdhcmUgYnJlYWtwb2ludHMgYXJlCj4gdGhlIGhpZ2hlc3QgbnVtYmVyZWQuIFNv IHRoZSBzZXQgb2YgKGNvbnRleHQtYXdhcmUpIGJyZWFrcG9pbnRzIG1pZ2h0Cj4gbm90IGludGVy c2VjdCBhY3Jvc3MgYWxsIENQVXMuCgpJIGRpZG4ndCBzZWUgYSByZWZlcmVuY2UgdG8gdGhhdCBp biB0aGUgQVJNIEFSTS4gSXQgc2VlbWVkIHRvIGltcGx5IGFueQpicmVha3BvaW50IGNvdWxkIGJl IGNvbnRleHQgYXdhcmUgaXMgLkJUIHdhcyBhcHByb3ByaWF0ZWx5IHNldCBhbmQKbGlua2VkIHRv IHRoZSBWUi4gIAoKQXMgaXQgaGFwcGVucyB0aGUgZ2RiIHN0dWIgaW50ZXJmYWNlIGluIFFFTVUg aXMgZmFpcmx5IGxpbWl0ZWQgc28gd2hpbGUKSSBleHBvc2UgdGhlIGZ1bGwgZGVidWcgcmVnaXN0 ZXJzIEkgZG9uJ3QgdGhpbmsgdGhlcmUgaXMgY3VycmVudGx5IGEgd2F5CnRvIGV4cG9zZSBhbnkg b2YgdGhlIGZhbmN5IGxpbmtpbmcvY29udGV4dCBzdHVmZiB0byB0aGUgdXNlcnNwYWNlCmRlYnVn Z2VyLiBIb3dldmVyIEkgZGlkIG1ha2UgdGhlIEFCSSBwYXNzIGZ1bGwgcmF3IHZhbHVlcyBpbiBz byB0aGlzCmNvdWxkIGJlY29tZSBhIHBvc3NpYmlsaXR5IGxhdGVyIHdpdGhvdXQgaGF2aW5nIHRv IGV4cGFuZCB0aGUgQUJJLgoKCj4gSSdtIG5vdCBzdXJlIHdoYXQgdGhlIGJlc3QgdGhpbmcgdG8g ZG8gaXMgdy5yLnQuIGV4cG9zaW5nIHRoYXQgdG8KPiB1c2Vyc3BhY2UuCj4KPiBUaGFua3MsCj4g TWFyay4KCi0tIApBbGV4IEJlbm7DqWUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1i aWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlzdGluZm8va3Zt YXJtCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1946096AbbEOQQT (ORCPT ); Fri, 15 May 2015 12:16:19 -0400 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:36597 "EHLO socrates.bennee.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934744AbbEOQQP (ORCPT ); Fri, 15 May 2015 12:16:15 -0400 References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> <1431700035-23479-11-git-send-email-alex.bennee@linaro.org> <20150515152346.GB23652@leverpostej> From: Alex =?utf-8?Q?Benn=C3=A9e?= To: Mark Rutland Cc: "kvm\@vger.kernel.org" , "linux-arm-kernel\@lists.infradead.org" , "kvmarm\@lists.cs.columbia.edu" , "christoffer.dall\@linaro.org" , Marc Zyngier , "peter.maydell\@linaro.org" , "agraf\@suse.de" , "drjones\@redhat.com" , "pbonzini\@redhat.com" , "zhichao.huang\@linaro.org" , Lorenzo Pieralisi , Russell King , Jonathan Corbet , Gleb Natapov , "jan.kiszka\@siemens.com" , "open list\:DOCUMENTATION" , Will Deacon , open list , "open list\:ABI\/API" , "dahi\@linux.vnet.ibm.com" , Peter Zijlstra , Catalin Marinas , "r65777\@freescale.com" , "bp\@suse.de" , Ingo Molnar Subject: Re: [PATCH v4 10/12] KVM: arm64: guest debug, HW assisted debug support In-reply-to: <20150515152346.GB23652@leverpostej> Date: Fri, 15 May 2015 17:16:26 +0100 Message-ID: <87y4kpke91.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: alex.bennee@linaro.org X-SA-Exim-Scanned: No (on socrates.bennee.com); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mark Rutland writes: > Hi Alex, > > On Fri, May 15, 2015 at 03:27:13PM +0100, Alex Bennée wrote: >> This adds support for userspace to control the HW debug registers for >> guest debug. In the debug ioctl we copy the IMPDEF defined number of >> registers into a new register set called host_debug_state. There is now >> a new vcpu parameter called debug_ptr which selects which register set >> is to copied into the real registers when world switch occurs. >> >> I've moved some helper functions into the hw_breakpoint.h header for >> re-use. >> >> As with single step we need to tweak the guest registers to enable the >> exceptions so we need to save and restore those bits. >> >> Two new capabilities have been added to the KVM_EXTENSION ioctl to allow >> userspace to query the number of hardware break and watch points >> available on the host hardware. > > There's the unfortunate possibility that these could vary across cores > in a big.LITTLE system (though we haven't seen that thus far). The > kernel sanity checks should currently explode if such a case is > encountered, but I don't know what we'd do were that to happen. I suspect we would have to disable HW assisted breakpoints or return the lowest common denominator if we can tell which cores we shall every be scheduled on. > > This gets more fun when you consider the context-aware breakpoints are > the highest numbered. So the set of (context-aware) breakpoints might > not intersect across all CPUs. I didn't see a reference to that in the ARM ARM. It seemed to imply any breakpoint could be context aware is .BT was appropriately set and linked to the VR. As it happens the gdb stub interface in QEMU is fairly limited so while I expose the full debug registers I don't think there is currently a way to expose any of the fancy linking/context stuff to the userspace debugger. However I did make the ABI pass full raw values in so this could become a possibility later without having to expand the ABI. > I'm not sure what the best thing to do is w.r.t. exposing that to > userspace. > > Thanks, > Mark. -- Alex Bennée