Commit 54eb55be authored by Pietro Fezzardi's avatar Pietro Fezzardi Committed by Alessandro Rubini

arch-sim: new inline functions to select instances

pp_sim_get_master(ppg) always returns a pointer to master pp_instance.
pp_sim_get_slave(ppg) always returns a pointer to slave pp_instance.
pp_sim_is_master(ppi) and pp_sim_is_slave(ppi) are test for obvious
conditions. these last two can be used only if ppi->glbs != NULL,
so only if a ppi has been fully initialized.
parent c2c1231b
...@@ -71,5 +71,25 @@ static inline struct sim_ppi_arch_data *SIM_PPI_ARCH(struct pp_instance *ppi) ...@@ -71,5 +71,25 @@ static inline struct sim_ppi_arch_data *SIM_PPI_ARCH(struct pp_instance *ppi)
return (struct sim_ppi_arch_data *)(ppi->arch_data); return (struct sim_ppi_arch_data *)(ppi->arch_data);
} }
static inline struct pp_instance *pp_sim_get_master(struct pp_globals *ppg)
{
return INST(ppg, SIM_MASTER);
}
static inline struct pp_instance *pp_sim_get_slave(struct pp_globals *ppg)
{
return INST(ppg, SIM_SLAVE);
}
static inline int pp_sim_is_master(struct pp_instance *ppi)
{
return ((ppi - ppi->glbs->pp_instances) == SIM_MASTER);
}
static inline int pp_sim_is_slave(struct pp_instance *ppi)
{
return ((ppi - ppi->glbs->pp_instances) == SIM_SLAVE);
}
extern int sim_set_global_DS(struct pp_instance *ppi); extern int sim_set_global_DS(struct pp_instance *ppi);
extern void sim_main_loop(struct pp_globals *ppg); extern void sim_main_loop(struct pp_globals *ppg);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment