Message ID | 20180619044835.18795-1-sjitindarsingh@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 2018-06-19 at 14:48 +1000, Suraj Jitindar Singh wrote: > The dump-guest-memory command is used to dump an area of guest memory > to a file, the piece of memory is specified by a begin address and > a length. These parameters are specified as ints and thus have a > maximum > value of 4GB. This means you can't dump the guest memory past the > first > 4GB and instead get: > (qemu) dump-guest-memory tmp 0x100000000 0x100000000 > 'dump-guest-memory' has failed: integer is for 32-bit values > Try "help dump-guest-memory" for more information > > This limitation is imposed in monitor_parse_arguments() since they > are > both ints. hmp_dump_guest_memory() uses 64 bit quantities to store > both > the begin and length values. Thus specify begin and length as long so > that the entire guest memory space can be dumped. > > Signed-off-by: Suraj Jitindar Singh <sjtindarsingh@gmail.com> s/sjtindarsingh@gmail.com/sjitindarsingh@gmail.com woops... > --- > hmp-commands.hx | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hmp-commands.hx b/hmp-commands.hx > index 0734fea931..3b5c1f65db 100644 > --- a/hmp-commands.hx > +++ b/hmp-commands.hx > @@ -1116,7 +1116,7 @@ ETEXI > > { > .name = "dump-guest-memory", > - .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:- > s,filename:F,begin:i?,length:i?", > + .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:- > s,filename:F,begin:l?,length:l?", > .params = "[-p] [-d] [-z|-l|-s] filename [begin > length]", > .help = "dump guest memory into file > 'filename'.\n\t\t\t" > "-p: do paging to get guest's memory > mapping.\n\t\t\t"
* Suraj Jitindar Singh (sjitindarsingh@gmail.com) wrote: > The dump-guest-memory command is used to dump an area of guest memory > to a file, the piece of memory is specified by a begin address and > a length. These parameters are specified as ints and thus have a maximum > value of 4GB. This means you can't dump the guest memory past the first > 4GB and instead get: > (qemu) dump-guest-memory tmp 0x100000000 0x100000000 > 'dump-guest-memory' has failed: integer is for 32-bit values > Try "help dump-guest-memory" for more information > > This limitation is imposed in monitor_parse_arguments() since they are > both ints. hmp_dump_guest_memory() uses 64 bit quantities to store both > the begin and length values. Thus specify begin and length as long so > that the entire guest memory space can be dumped. > > Signed-off-by: Suraj Jitindar Singh <sjtindarsingh@gmail.com> > --- > hmp-commands.hx | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hmp-commands.hx b/hmp-commands.hx > index 0734fea931..3b5c1f65db 100644 > --- a/hmp-commands.hx > +++ b/hmp-commands.hx > @@ -1116,7 +1116,7 @@ ETEXI > > { > .name = "dump-guest-memory", > - .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?", > + .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:l?,length:l?", > .params = "[-p] [-d] [-z|-l|-s] filename [begin length]", > .help = "dump guest memory into file 'filename'.\n\t\t\t" > "-p: do paging to get guest's memory mapping.\n\t\t\t" OK, so hmp_dump_guest_memory in hmp.c already uses int64_t for both, as does the qmp_dump_guest_memory it calls; so this looks OK. Can you repost this please with the correct sign off that I see you tried to fix in the following mail; best if we get it in the one mail. Dave > -- > 2.13.6 > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
On Tue, 2018-06-19 at 11:25 +0100, Dr. David Alan Gilbert wrote: > * Suraj Jitindar Singh (sjitindarsingh@gmail.com) wrote: > > The dump-guest-memory command is used to dump an area of guest > > memory > > to a file, the piece of memory is specified by a begin address and > > a length. These parameters are specified as ints and thus have a > > maximum > > value of 4GB. This means you can't dump the guest memory past the > > first > > 4GB and instead get: > > (qemu) dump-guest-memory tmp 0x100000000 0x100000000 > > 'dump-guest-memory' has failed: integer is for 32-bit values > > Try "help dump-guest-memory" for more information > > > > This limitation is imposed in monitor_parse_arguments() since they > > are > > both ints. hmp_dump_guest_memory() uses 64 bit quantities to store > > both > > the begin and length values. Thus specify begin and length as long > > so > > that the entire guest memory space can be dumped. > > > > Signed-off-by: Suraj Jitindar Singh <sjtindarsingh@gmail.com> > > --- > > hmp-commands.hx | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/hmp-commands.hx b/hmp-commands.hx > > index 0734fea931..3b5c1f65db 100644 > > --- a/hmp-commands.hx > > +++ b/hmp-commands.hx > > @@ -1116,7 +1116,7 @@ ETEXI > > > > { > > .name = "dump-guest-memory", > > - .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:- > > s,filename:F,begin:i?,length:i?", > > + .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:- > > s,filename:F,begin:l?,length:l?", > > .params = "[-p] [-d] [-z|-l|-s] filename [begin > > length]", > > .help = "dump guest memory into file > > 'filename'.\n\t\t\t" > > "-p: do paging to get guest's memory > > mapping.\n\t\t\t" > > OK, so hmp_dump_guest_memory in hmp.c already uses int64_t for both, > as does the qmp_dump_guest_memory it calls; so this looks OK. > > Can you repost this please with the correct sign off that I see you > tried to fix in the following mail; best if we get it in the one > mail. Of course. Done :) > > Dave > > > -- > > 2.13.6 > > > > -- > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/hmp-commands.hx b/hmp-commands.hx index 0734fea931..3b5c1f65db 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1116,7 +1116,7 @@ ETEXI { .name = "dump-guest-memory", - .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:i?,length:i?", + .args_type = "paging:-p,detach:-d,zlib:-z,lzo:-l,snappy:-s,filename:F,begin:l?,length:l?", .params = "[-p] [-d] [-z|-l|-s] filename [begin length]", .help = "dump guest memory into file 'filename'.\n\t\t\t" "-p: do paging to get guest's memory mapping.\n\t\t\t"
The dump-guest-memory command is used to dump an area of guest memory to a file, the piece of memory is specified by a begin address and a length. These parameters are specified as ints and thus have a maximum value of 4GB. This means you can't dump the guest memory past the first 4GB and instead get: (qemu) dump-guest-memory tmp 0x100000000 0x100000000 'dump-guest-memory' has failed: integer is for 32-bit values Try "help dump-guest-memory" for more information This limitation is imposed in monitor_parse_arguments() since they are both ints. hmp_dump_guest_memory() uses 64 bit quantities to store both the begin and length values. Thus specify begin and length as long so that the entire guest memory space can be dumped. Signed-off-by: Suraj Jitindar Singh <sjtindarsingh@gmail.com> --- hmp-commands.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)