On Sun, Apr 21, 2013 at 1:30 PM, Peter Maydell <peter.mayd...@linaro.org> wrote: > Handle the addresses and values for {in,out}[bwl] as unsigned (ie > with strtoul), as per the protocol specification comment. This fixes > a test failure in test_i440fx_defaults on 32-bit hosts where the test > tries to write 0x80000000 and qtest was instead writing 0x7fffffff. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
Fixes the problem for me. Tested-by: Blue Swirl <blauwir...@gmail.com> > --- > This fixes the actual parsing error; checking strtol errors is > a separate bug which should be done for the whole file. > > qtest.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/qtest.c b/qtest.c > index 3bba3e5..07a9612 100644 > --- a/qtest.c > +++ b/qtest.c > @@ -271,8 +271,8 @@ static void qtest_process_command(CharDriverState *chr, > gchar **words) > uint32_t value; > > g_assert(words[1] && words[2]); > - addr = strtol(words[1], NULL, 0); > - value = strtol(words[2], NULL, 0); > + addr = strtoul(words[1], NULL, 0); > + value = strtoul(words[2], NULL, 0); > > if (words[0][3] == 'b') { > cpu_outb(addr, value); > @@ -290,7 +290,7 @@ static void qtest_process_command(CharDriverState *chr, > gchar **words) > uint32_t value = -1U; > > g_assert(words[1]); > - addr = strtol(words[1], NULL, 0); > + addr = strtoul(words[1], NULL, 0); > > if (words[0][2] == 'b') { > value = cpu_inb(addr); > -- > 1.7.10.4 >