On Mon, Feb 5, 2018 at 7:04 AM, Peter Maydell <[email protected]> wrote:
> The documentation for the generic loader claims that you can
> set the PC for a CPU with an option of the form
>   -device loader,cpu-num=0,addr=0x10000004
>
> However if you try this QEMU complains:
>   cpu_num must be specified when setting a program counter
>
> This is because we were testing against 0 rather than CPU_NONE.
>
> Signed-off-by: Peter Maydell <[email protected]>

Reviewed-by: Alistair Francis <[email protected]>

> ---
> I've also noticed that you can't use this to specify that
> the starting address should be in Thumb mode for Arm CPUs,
> but I'm not so sure of the right way to fix that...

Should we at least update the documentation to mention this then?

Alistair

>
>  hw/core/generic-loader.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/core/generic-loader.c b/hw/core/generic-loader.c
> index 46012673c3..cb0e68486d 100644
> --- a/hw/core/generic-loader.c
> +++ b/hw/core/generic-loader.c
> @@ -105,7 +105,7 @@ static void generic_loader_realize(DeviceState *dev, 
> Error **errp)
>              error_setg(errp, "data can not be specified when setting a "
>                         "program counter");
>              return;
> -        } else if (!s->cpu_num) {
> +        } else if (s->cpu_num == CPU_NONE) {
>              error_setg(errp, "cpu_num must be specified when setting a "
>                         "program counter");
>              return;
> --
> 2.16.1
>
>

Reply via email to