target/ppc: Introduce a wrapper for powerpc_excp
Next patches will split powerpc_excp in multiple family specific handlers. This patch adds a wrapper to make the transition clearer. Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Message-Id: <20220107222601.4101511-8-farosas@linux.ibm.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
19bd7f5747
commit
dc88dd0a86
@ -396,7 +396,7 @@ static void powerpc_set_excp_state(PowerPCCPU *cpu,
|
|||||||
* Note that this function should be greatly optimized when called
|
* Note that this function should be greatly optimized when called
|
||||||
* with a constant excp, from ppc_hw_interrupt
|
* with a constant excp, from ppc_hw_interrupt
|
||||||
*/
|
*/
|
||||||
static void powerpc_excp(PowerPCCPU *cpu, int excp)
|
static inline void powerpc_excp_legacy(PowerPCCPU *cpu, int excp)
|
||||||
{
|
{
|
||||||
CPUState *cs = CPU(cpu);
|
CPUState *cs = CPU(cpu);
|
||||||
CPUPPCState *env = &cpu->env;
|
CPUPPCState *env = &cpu->env;
|
||||||
@ -867,6 +867,16 @@ static void powerpc_excp(PowerPCCPU *cpu, int excp)
|
|||||||
powerpc_set_excp_state(cpu, vector, new_msr);
|
powerpc_set_excp_state(cpu, vector, new_msr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void powerpc_excp(PowerPCCPU *cpu, int excp)
|
||||||
|
{
|
||||||
|
CPUPPCState *env = &cpu->env;
|
||||||
|
|
||||||
|
switch (env->excp_model) {
|
||||||
|
default:
|
||||||
|
powerpc_excp_legacy(cpu, excp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ppc_cpu_do_interrupt(CPUState *cs)
|
void ppc_cpu_do_interrupt(CPUState *cs)
|
||||||
{
|
{
|
||||||
PowerPCCPU *cpu = POWERPC_CPU(cs);
|
PowerPCCPU *cpu = POWERPC_CPU(cs);
|
||||||
|
Loading…
Reference in New Issue
Block a user