ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init()
Cleans up after passing PowerPCCPU to timer callbacks. Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
		
							parent
							
								
									2f9859fb49
								
							
						
					
					
						commit
						a34a92b9ec
					
				
							
								
								
									
										2
									
								
								hw/ppc.h
								
								
								
								
							
							
						
						
									
										2
									
								
								hw/ppc.h
								
								
								
								
							| 
						 | 
				
			
			@ -89,4 +89,4 @@ enum {
 | 
			
		|||
#define PPC_SERIAL_MM_BAUDBASE 399193
 | 
			
		||||
 | 
			
		||||
/* ppc_booke.c */
 | 
			
		||||
void ppc_booke_timers_init(CPUPPCState *env, uint32_t freq, uint32_t flags);
 | 
			
		||||
void ppc_booke_timers_init(PowerPCCPU *cpu, uint32_t freq, uint32_t flags);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -495,7 +495,7 @@ void ppce500_init(PPCE500Params *params)
 | 
			
		|||
        env->mpic_cpu_base = MPC8544_CCSRBAR_BASE +
 | 
			
		||||
                              MPC8544_MPIC_REGS_OFFSET + 0x20000;
 | 
			
		||||
 | 
			
		||||
        ppc_booke_timers_init(env, 400000000, PPC_TIMER_E500);
 | 
			
		||||
        ppc_booke_timers_init(cpu, 400000000, PPC_TIMER_E500);
 | 
			
		||||
 | 
			
		||||
        /* Register reset handler */
 | 
			
		||||
        if (!i) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2482,7 +2482,7 @@ CPUPPCState *ppc405ep_init(MemoryRegion *address_space_mem,
 | 
			
		|||
    /* OBP arbitrer */
 | 
			
		||||
    ppc4xx_opba_init(0xef600600);
 | 
			
		||||
    /* Initialize timers */
 | 
			
		||||
    ppc_booke_timers_init(env, sysclk, 0);
 | 
			
		||||
    ppc_booke_timers_init(cpu, sysclk, 0);
 | 
			
		||||
    /* Universal interrupt controller */
 | 
			
		||||
    irqs = g_malloc0(sizeof(qemu_irq) * PPCUIC_OUTPUT_NB);
 | 
			
		||||
    irqs[PPCUIC_OUTPUT_INT] =
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -195,7 +195,7 @@ static void bamboo_init(QEMUMachineInitArgs *args)
 | 
			
		|||
    env = &cpu->env;
 | 
			
		||||
 | 
			
		||||
    qemu_register_reset(main_cpu_reset, cpu);
 | 
			
		||||
    ppc_booke_timers_init(env, 400000000, 0);
 | 
			
		||||
    ppc_booke_timers_init(cpu, 400000000, 0);
 | 
			
		||||
    ppc_dcr_init(env, NULL, NULL);
 | 
			
		||||
 | 
			
		||||
    /* interrupt controller */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -237,16 +237,15 @@ void store_booke_tcr(CPUPPCState *env, target_ulong val)
 | 
			
		|||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ppc_booke_timers_init(CPUPPCState *env, uint32_t freq, uint32_t flags)
 | 
			
		||||
void ppc_booke_timers_init(PowerPCCPU *cpu, uint32_t freq, uint32_t flags)
 | 
			
		||||
{
 | 
			
		||||
    PowerPCCPU *cpu = ppc_env_get_cpu(env);
 | 
			
		||||
    ppc_tb_t *tb_env;
 | 
			
		||||
    booke_timer_t *booke_timer;
 | 
			
		||||
 | 
			
		||||
    tb_env      = g_malloc0(sizeof(ppc_tb_t));
 | 
			
		||||
    booke_timer = g_malloc0(sizeof(booke_timer_t));
 | 
			
		||||
 | 
			
		||||
    env->tb_env = tb_env;
 | 
			
		||||
    cpu->env.tb_env = tb_env;
 | 
			
		||||
    tb_env->flags = flags | PPC_TIMER_BOOKE | PPC_DECR_ZERO_TRIGGERED;
 | 
			
		||||
 | 
			
		||||
    tb_env->tb_freq    = freq;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,7 +94,7 @@ static PowerPCCPU *ppc440_init_xilinx(ram_addr_t *ram_size,
 | 
			
		|||
    }
 | 
			
		||||
    env = &cpu->env;
 | 
			
		||||
 | 
			
		||||
    ppc_booke_timers_init(env, sysclk, 0/* no flags */);
 | 
			
		||||
    ppc_booke_timers_init(cpu, sysclk, 0/* no flags */);
 | 
			
		||||
 | 
			
		||||
    ppc_dcr_init(env, NULL, NULL);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue