Ping. On 07/26/2012 09:50 PM, Meador Inge wrote: > Hi, > > This patch series fixes an issue that was discussed here [1] where using -R > can cause QEMU to fail to setup the guest address space because the guest base > validation fails. I fixed this issue by (1) refactoring the guest space > probing code into a single function for initializing the guest space and (2) > by > calling the guest space initialization code for both the case of reserving the > guest space upfront (-R) and the case where the initial memory space base/size > are gleaned from an ELF image. > > Tested by going through various combinations of -R <size>, -B <base>, > -B <base> -R <size>, and neither -R or -B passed. I also ran the libstdc++ > testsuite through the MIPS, ARM, and Power usermode emulators with -R set. > No regressions. > > NOTE: This does not fix the problem that was raised concerning mapped the > full 32-bit address space on a 64-bit system. That will need to be another > patch. > > - Changes since v1: > > * Replaced '!host_start && !host_size' error check in 'init_guest_space' > with an assert. > > * Ensured that 'guest_validate_base' is passed the true guest base instead > of the current host start address. > > * s/init_guest_space(..., 0)/init_guest_space(..., false);/ > > * Fixed typo in 'init_guest_space' header comment. > > [1] http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg04508.html > > Signed-off-by: Meador Inge <mead...@codesourcery.com> > > Meador Inge (2): > linux-user: Factor out guest space probing into a function > linux-user: Use init_guest_space when -R and -B are specified > > linux-user/elfload.c | 161 > ++++++++++++++++++++++++++++++++++++++------------ > linux-user/main.c | 35 ++--------- > linux-user/qemu.h | 15 ++++- > 3 files changed, 140 insertions(+), 71 deletions(-) >
-- Meador Inge CodeSourcery / Mentor Embedded http://www.mentor.com/embedded-software