Ejemplo n.º 1
0
/** =========================================================================
 *  Soft reset
 *
 **/
void chip_soft_reset(void)
{
    unsigned reg_value;
    read_sswitch_reg(get_core_id(), 6, &reg_value);
    write_sswitch_reg(0, 6, reg_value);
    write_sswitch_reg(get_core_id(), 6, reg_value);
}
/* Something weird happens with channel allocation here*/
unsigned write_sswitch_reg_clean(unsigned node, unsigned reg, unsigned val)
{
	unsigned ret = 0, c = getLocalAnonChanend(), d;
	freeChanend(c);
	ret = write_sswitch_reg(node, reg, val);
	d = getLocalAnonChanend();
	if (d != c)
	{
		freeChanend(c);
	}
	freeChanend(d);
	return ret;
}