qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 18/26] target-hppa: Add framework and enable comp


From: Peter Maydell
Subject: Re: [Qemu-devel] [PULL 18/26] target-hppa: Add framework and enable compilation
Date: Mon, 30 Jan 2017 13:49:34 +0000

On 23 January 2017 at 02:17, Richard Henderson <address@hidden> wrote:
> This is just about the minimum required to enable compilation
> without actually executing any instructions.  This contains the
> HPPACPU structure and the required callbacks, the gdbstub, the
> basic translation loop, and a translate_one function that always
> results in an illegal instruction.
>
> Signed-off-by: Richard Henderson <address@hidden>

> --- /dev/null
> +++ b/target/hppa/gdbstub.c
> @@ -0,0 +1,111 @@
> +/*
> + * HPPA gdb server stub

> +int hppa_cpu_gdb_write_register(CPUState *cs, uint8_t *mem_buf, int n)
> +{
> +    HPPACPU *cpu = HPPA_CPU(cs);
> +    CPUHPPAState *env = &cpu->env;
> +    target_ulong val = ldtul_p(mem_buf);
> +
> +    switch (n) {
> +    case 0:
> +        cpu_hppa_put_psw(env, val);
> +        break;
> +    case 1 ... 31:
> +        env->gr[n] = val;
> +        break;
> +    case 32:
> +        env->sar = val;
> +        break;
> +    case 33:
> +        env->iaoq_f = val;
> +        break;
> +    case 35:
> +        env->iaoq_b = val;

Is this a missing "break;" or a missing "/* fall through */" ?

(spotted by Coverity, CID 1369420.)

> +    case 59:
> +        env->cr26 = val;
> +        break;
> +    case 60:
> +        env->cr27 = val;
> +        break;
> +    case 64:
> +        env->fr[0] = deposit64(env->fr[0], 32, 32, val);
> +        cpu_hppa_loaded_fr0(env);
> +        break;
> +    case 65 ... 127:
> +        {
> +            uint64_t *fr = &env->fr[(n - 64) / 2];
> +            *fr = deposit64(*fr, val, (n & 1 ? 0 : 32), 32);
> +        }
> +        break;
> +    default:
> +        if (n >= 128) {
> +            return 0;
> +        }
> +        break;
> +    }
> +    return sizeof(target_ulong);
> +})

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]