[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [BUGFIX][PATCH v2 5/5] xg_main: If XEN_DOMCTL_gdbsx_guestmemio fails then force error.
On Tue, 2014-01-07 at 19:25 -0500, Don Slutz wrote: > Without this gdb does not report an error. > > With this patch and using a 1G hvm domU: > > (gdb) x/1xh 0x6ae9168b > 0x6ae9168b: Cannot access memory at address 0x6ae9168b > > Drop output of iop->remain because it most likely will be zero. > This leads to a strange message: > > ERROR: failed to read 0 bytes. errno:14 rc:-1 > > Add address to write error because it may be the only message > displayed. > > Note: currently XEN_DOMCTL_gdbsx_guestmemio does not change 'iop' on > error and so iop->remain will be zero. > > Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx> > --- > tools/debugger/gdbsx/xg/xg_main.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/tools/debugger/gdbsx/xg/xg_main.c > b/tools/debugger/gdbsx/xg/xg_main.c > index 3b2a285..0fc3f82 100644 > --- a/tools/debugger/gdbsx/xg/xg_main.c > +++ b/tools/debugger/gdbsx/xg/xg_main.c > @@ -787,8 +787,10 @@ xg_read_mem(uint64_t guestva, char *tobuf, int > tobuf_len, uint64_t pgd3val) > iop->gwr = 0; /* not writing to guest */ > > 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); > + { > + XGTRC("ERROR: failed to read bytes. errno:%d rc:%d\n", errno, rc); Is it worth printing the expect number (i.e. the input) of bytes? Is that buflen here? > + return tobuf_len; > + } > > 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); > @@ -818,8 +820,11 @@ xg_write_mem(uint64_t guestva, char *frombuf, int > buflen, uint64_t pgd3val) > iop->gwr = 1; /* writing to guest */ > > if ((rc=_domctl_hcall(XEN_DOMCTL_gdbsx_guestmemio, frombuf, buflen))) > - XGERR("ERROR: failed to write %d bytes. errno:%d rc:%d\n", > - iop->remain, errno, rc); > + { > + XGERR("ERROR: failed to write bytes to %llx. errno:%d rc:%d\n", > + guestva, errno, rc); Same here. > + return buflen; > + } > return iop->remain; > } > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |