[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [BUGFIX][PATCH 3/4] xg_read_mem: Report on error.
I had coded this with XGERR, but gdb will try to read memory without a direct request from the user. So the error message can be confusing. Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx> --- tools/debugger/gdbsx/xg/xg_main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/debugger/gdbsx/xg/xg_main.c b/tools/debugger/gdbsx/xg/xg_main.c index 5736b86..a192478 100644 --- a/tools/debugger/gdbsx/xg/xg_main.c +++ b/tools/debugger/gdbsx/xg/xg_main.c @@ -775,7 +775,7 @@ xg_read_mem(uint64_t guestva, char *tobuf, int tobuf_len, uint64_t pgd3val) { struct xen_domctl_gdbsx_memio *iop = &domctl.u.gdbsx_guest_memio; union {uint64_t llbuf8; char buf8[8];} u = {0}; - int i; + int i, rc; XGTRC("E:gva:%llx tobuf:%lx len:%d\n", guestva, tobuf, tobuf_len); @@ -786,7 +786,9 @@ xg_read_mem(uint64_t guestva, char *tobuf, int tobuf_len, uint64_t pgd3val) iop->len = tobuf_len; iop->gwr = 0; /* not writing to guest */ - _domctl_hcall(XEN_DOMCTL_gdbsx_guestmemio, tobuf, tobuf_len); + if ( (rc = _domctl_hcall(XEN_DOMCTL_gdbsx_guestmemio, tobuf, tobuf_len)) ) + XGTRC("ERROR: failed to read %d bytes. errno:%d rc:%d\n", + iop->remain, errno, rc); for(i=0; i < XGMIN(8, tobuf_len); u.buf8[i]=tobuf[i], i++); XGTRC("X:remain:%d buf8:0x%llx\n", iop->remain, u.llbuf8); -- 1.8.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |