lib/sw_services/xilsecure/src/versal/server/xsecure_init.c
void XSecure_TamperInterruptHandler(const u32 ErrorNodeId, const u32 ErrorMask)
{
	(void)ErrorNodeId;
	(void)ErrorMask;

	(void)XSecure_ProcessTamperResponse();

	/**
	 * Clear the interrupt source
	 */
	Xil_UtilRMW32(PMC_ANALOG_GD_CTRL_REG,	XSECURE_GD_STATUS, XSECURE_GD_STATUS);
	Xil_Out32(PMC_GLOBAL_ISR_REG, XSECURE_TAMPER_INT_MASK);
	Xil_UtilRMW32(PMC_ANALOG_GD_CTRL_REG, XSECURE_GD_STATUS, 0U);

	/**
	 * Once the interrupt is detected by PLM, disables the interrupt and
	 * calls the handler. So it is necessary to re-enable the interrupt
	 */
	(void)XPlmi_EmSetAction(XPLMI_EVENT_ERROR_PMC_ERR2,
				XSECURE_NODEIDX_ERROR_PMCAPB_MASK,
				XPLMI_EM_ACTION_CUSTOM,
				XSecure_TamperInterruptHandler);
}
/*****************************************************************************/
/**
 * @brief	This is the handler for tamper interrupt
 *
 * @param	ErrorNodeId - Node Identifier
 * @param	ErrorMask   - Mask Identifier
 *
 * @return	None
 *
 *****************************************************************************/
@brief       This is the handler for tamper interrupt
@param       ErrorNodeId - Node Identifier
@param       ErrorMask   - Mask Identifier

@return      None
@brief This is the handler for tamper interrupt @param ErrorNodeId - Node Identifier @param ErrorMask - Mask Identifier @return None
void XSecure_TamperInterruptHandler(const u32 ErrorNodeId, const u32 ErrorMask)
{
	(void)ErrorNodeId;
	(void)ErrorMask;
	(void)XSecure_ProcessTamperResponse();
	Xil_UtilRMW32(PMC_ANALOG_GD_CTRL_REG,	XSECURE_GD_STATUS, XSECURE_GD_STATUS);
	Xil_Out32(PMC_GLOBAL_ISR_REG, XSECURE_TAMPER_INT_MASK);
	Xil_UtilRMW32(PMC_ANALOG_GD_CTRL_REG, XSECURE_GD_STATUS, 0U);
	(void)XPlmi_EmSetAction(XPLMI_EVENT_ERROR_PMC_ERR2,
				XSECURE_NODEIDX_ERROR_PMCAPB_MASK,
				XPLMI_EM_ACTION_CUSTOM,
				XSecure_TamperInterruptHandler);
}
void XSecure_TamperInterruptHandler ( const u32 ErrorNodeId , const u32 ErrorMask ) { ( void ) ErrorNodeId ; ( void ) ErrorMask ; ( void ) XSecure_ProcessTamperResponse ( ) ; Xil_UtilRMW32 ( PMC_ANALOG_GD_CTRL_REG , XSECURE_GD_STATUS , XSECURE_GD_STATUS ) ; Xil_Out32 ( PMC_GLOBAL_ISR_REG , XSECURE_TAMPER_INT_MASK ) ; Xil_UtilRMW32 ( PMC_ANALOG_GD_CTRL_REG , XSECURE_GD_STATUS , 0U ) ; ( void ) XPlmi_EmSetAction ( XPLMI_EVENT_ERROR_PMC_ERR2 , XSECURE_NODEIDX_ERROR_PMCAPB_MASK , XPLMI_EM_ACTION_CUSTOM , XSecure_TamperInterruptHandler ) ; }
@brief       This is the handler for tamper interrupt
 @param       ErrorNodeId - Node Identifier
 @param       ErrorMask   - Mask Identifier
@brief This is the handler for tamper interrupt @param ErrorNodeId - Node Identifier @param ErrorMask - Mask Identifier
/**
	 * Clear the interrupt source
	 */ /**
	 * Once the interrupt is detected by PLM, disables the interrupt and
	 * calls the handler. So it is necessary to re-enable the interrupt
	 */