arm_boot: Pass ARMCPU to arm_boot_info::secondary_cpu_reset_hook()
Adapt highbank accordingly. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
		
							parent
							
								
									9543b0cdd6
								
							
						
					
					
						commit
						5d309320e3
					
				| 
						 | 
				
			
			@ -52,7 +52,7 @@ struct arm_boot_info {
 | 
			
		|||
     */
 | 
			
		||||
    void (*write_secondary_boot)(ARMCPU *cpu,
 | 
			
		||||
                                 const struct arm_boot_info *info);
 | 
			
		||||
    void (*secondary_cpu_reset_hook)(CPUARMState *env,
 | 
			
		||||
    void (*secondary_cpu_reset_hook)(ARMCPU *cpu,
 | 
			
		||||
                                     const struct arm_boot_info *info);
 | 
			
		||||
    /* Used internally by arm_boot.c */
 | 
			
		||||
    int is_linux;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,9 +72,11 @@ static void default_write_secondary(ARMCPU *cpu,
 | 
			
		|||
                       info->smp_loader_start);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void default_reset_secondary(CPUARMState *env,
 | 
			
		||||
static void default_reset_secondary(ARMCPU *cpu,
 | 
			
		||||
                                    const struct arm_boot_info *info)
 | 
			
		||||
{
 | 
			
		||||
    CPUARMState *env = &cpu->env;
 | 
			
		||||
 | 
			
		||||
    stl_phys_notdirty(info->smp_bootreg_addr, 0);
 | 
			
		||||
    env->regs[15] = info->smp_loader_start;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -295,7 +297,7 @@ static void do_cpu_reset(void *opaque)
 | 
			
		|||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            } else {
 | 
			
		||||
                info->secondary_cpu_reset_hook(env, info);
 | 
			
		||||
                info->secondary_cpu_reset_hook(cpu, info);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,8 +60,10 @@ static void hb_write_secondary(ARMCPU *cpu, const struct arm_boot_info *info)
 | 
			
		|||
    rom_add_blob_fixed("smpboot", smpboot, sizeof(smpboot), SMP_BOOT_ADDR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void hb_reset_secondary(CPUARMState *env, const struct arm_boot_info *info)
 | 
			
		||||
static void hb_reset_secondary(ARMCPU *cpu, const struct arm_boot_info *info)
 | 
			
		||||
{
 | 
			
		||||
    CPUARMState *env = &cpu->env;
 | 
			
		||||
 | 
			
		||||
    switch (info->nb_cpus) {
 | 
			
		||||
    case 4:
 | 
			
		||||
        stl_phys_notdirty(SMP_BOOT_REG + 0x30, 0);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue