On 02/05/2018 12:04 PM, Peter Maydell 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]>
> ---
> 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...

Can using an impair addr work? (no arch-specific parser)

> 
>  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;
> 

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to