lib/sw_apps/zynqmp_pmufw/src/pm_proc.c
static void RPURestoreResumeAddr(PmProc* const proc)
{
	/* mask out resumeAddress BIT0, which indicates address validity */
	u32 addrLow = (u32) (proc->resumeAddress & 0xfffffffeULL);

	if (0ULL == (proc->resumeAddress & 1ULL)) {
		goto done;
	}

	/* CFG_VINITHI_MASK mask is common for both processors */
	if (PM_PROC_RPU_LOVEC_ADDR == addrLow) {
		XPfw_RMW32(proc->resumeCfg, RPU_RPU_0_CFG_VINITHI_MASK,
			   ~RPU_RPU_0_CFG_VINITHI_MASK);
	} else {
		XPfw_RMW32(proc->resumeCfg, RPU_RPU_0_CFG_VINITHI_MASK,
			   RPU_RPU_0_CFG_VINITHI_MASK);
	}

	/* Mark resume address as invalid by setting it to 0 */
	proc->resumeAddress = 0ULL;

done:
	return;
}
/**
 * RPURestoreResumeAddr() - Restore resume address for RPU core
 * @proc        Processor whose address should be restored
 *
 * Note: RPU processors get restored resume address by configuring VINITHI bit
 * in configuration register (RPUs can resume only from 2 addresses).
 */
Restore resume address for RPU core
@proc        Processor whose address should be restored

RPU processors get restored resume address by configuring VINITHI bit
in configuration register (RPUs can resume only from 2 addresses).
Restore resume address for RPU core @proc Processor whose address should be restored RPU processors get restored resume address by configuring VINITHI bit in configuration register ( RPUs can resume only from 2 addresses ) .
static void RPURestoreResumeAddr(PmProc* const proc)
{
	u32 addrLow = (u32) (proc->resumeAddress & 0xfffffffeULL);
	if (0ULL == (proc->resumeAddress & 1ULL)) {
		goto done;
	}
	if (PM_PROC_RPU_LOVEC_ADDR == addrLow) {
		XPfw_RMW32(proc->resumeCfg, RPU_RPU_0_CFG_VINITHI_MASK,
			   ~RPU_RPU_0_CFG_VINITHI_MASK);
	} else {
		XPfw_RMW32(proc->resumeCfg, RPU_RPU_0_CFG_VINITHI_MASK,
			   RPU_RPU_0_CFG_VINITHI_MASK);
	}
	proc->resumeAddress = 0ULL;
done:
	return;
}
static void RPURestoreResumeAddr ( PmProc * const proc ) { u32 addrLow = ( u32 ) ( proc -> resumeAddress & 0xfffffffeULL ) ; if ( 0ULL == ( proc -> resumeAddress & 1ULL ) ) { goto done ; } if ( PM_PROC_RPU_LOVEC_ADDR == addrLow ) { XPfw_RMW32 ( proc -> resumeCfg , RPU_RPU_0_CFG_VINITHI_MASK , ~ RPU_RPU_0_CFG_VINITHI_MASK ) ; } else { XPfw_RMW32 ( proc -> resumeCfg , RPU_RPU_0_CFG_VINITHI_MASK , RPU_RPU_0_CFG_VINITHI_MASK ) ; } proc -> resumeAddress = 0ULL ; done : return ; }
RPURestoreResumeAddr() - Restore resume address for RPU core
 @proc        Processor whose address should be restored
RPURestoreResumeAddr () - Restore resume address for RPU core @proc Processor whose address should be restored
/* mask out resumeAddress BIT0, which indicates address validity */ /* CFG_VINITHI_MASK mask is common for both processors */ /* Mark resume address as invalid by setting it to 0 */