On Wed, Jun 24, 2015 at 11:22 AM, Andreas Färber <afaer...@suse.de> wrote: > Am 24.06.2015 um 05:19 schrieb Peter Crosthwaite: >> Use cpu_set_pc() across the board for setting program counters. This >> removes instances of system level code having to reach into the CPU >> env. >> >> Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> >> Reviewed-by: Andreas Färber <afaer...@suse.de> >> Signed-off-by: Peter Crosthwaite <crosthwaite.pe...@gmail.com> >> --- >> Changed since v2: >> Add () to fn names in commit msg >> Drop error argument >> Changed since v1: >> Lease thumb masking in boot.c >> --- >> hw/arm/boot.c | 19 +++++++------------ >> 1 file changed, 7 insertions(+), 12 deletions(-) > > Any objection to avoiding repeated casts as follows?
No objection from me. Ack to the squash or can be respun. Regards, Peter > > --- a/hw/arm/boot.c > +++ b/hw/arm/boot.c > @@ -168,9 +168,11 @@ static void default_write_secondary(ARMCPU *cpu, > static void default_reset_secondary(ARMCPU *cpu, > const struct arm_boot_info *info) > { > + CPUState *cs = CPU(cpu); > + > address_space_stl_notdirty(&address_space_memory, > info->smp_bootreg_addr, > 0, MEMTXATTRS_UNSPECIFIED, NULL); > - cpu_set_pc(CPU(cpu), info->smp_loader_start); > + cpu_set_pc(cs, info->smp_loader_start); > } > > static inline bool have_dtb(const struct arm_boot_info *info) > @@ -443,10 +445,11 @@ fail: > static void do_cpu_reset(void *opaque) > { > ARMCPU *cpu = opaque; > + CPUState *cs = CPU(cpu); > CPUARMState *env = &cpu->env; > const struct arm_boot_info *info = env->boot_info; > > - cpu_reset(CPU(cpu)); > + cpu_reset(cs); > if (info) { > if (!info->is_linux) { > /* Jump to the entry point. */ > @@ -456,7 +459,7 @@ static void do_cpu_reset(void *opaque) > env->thumb = info->entry & 1; > entry &= 0xfffffffe; > } > - cpu_set_pc(CPU(cpu), entry); > + cpu_set_pc(cs, entry); > } else { > /* If we are booting Linux then we need to check whether we are > * booting into secure or non-secure state and adjust the state > @@ -486,8 +489,8 @@ static void do_cpu_reset(void *opaque) > } > } > > - if (CPU(cpu) == first_cpu) { > - cpu_set_pc(CPU(cpu), info->loader_start); > + if (cs == first_cpu) { > + cpu_set_pc(cs, info->loader_start); > > if (!have_dtb(info)) { > if (old_param) { > > Regards, > Andreas > > -- > SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany > GF: Felix Imendörffer, Jane Smithard, Dilip Upmanyu, Graham Norton; HRB > 21284 (AG Nürnberg) >