[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qtest: Handle addresses and values for {in, out
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH] qtest: Handle addresses and values for {in, out}[bwl] as unsigned |
Date: |
Sun, 21 Apr 2013 15:24:35 +0000 |
On Sun, Apr 21, 2013 at 1:30 PM, Peter Maydell <address@hidden> 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 <address@hidden>
Fixes the problem for me.
Tested-by: Blue Swirl <address@hidden>
> ---
> 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
>