xilplmi
Vitis Drivers API Documentation
xplmi_proc.c File Reference

Overview

This file contains the processor related code.

MODIFICATION HISTORY:
Ver   Who  Date        Changes


1.00 kc 02/07/2019 Initial release 1.01 kc 04/09/2019 Added code to register/enable/disable interrupts sn 07/04/2019 Added support for enabling GIC proxy for sysmon kc 07/16/2019 Added PERF macro to print task times kc 07/16/2019 Added logic to determine the IRO frequency kc 08/01/2019 Added PLM and ROM boot times 1.02 kc 02/10/2020 Updated scheduler to add/remove tasks ma 02/28/2020 Added support for new error actions kc 03/20/2020 Scheduler frequency is increased to 100ms for QEMU bsv 04/04/2020 Code clean up kc 04/23/2020 Added interrupt support for SEU event 1.03 bm 10/14/2020 Code clean up td 10/19/2020 MISRA C Fixes 1.04 td 11/23/2020 MISRA C Rule 10.4 Fixes ma 03/24/2021 Reduced minimum digits of time stamp decimals to 3 skd 03/25/2021 Compilation warning fix bm 04/03/2021 Move task creation out of interrupt context 1.05 td 07/08/2021 Fix doxygen warnings bm 07/12/2021 Updated IRO frequency to 400MHz for MP and HP parts bsv 07/16/2021 Fix doxygen warnings bsv 08/02/2021 Code clean up to reduce size bsv 08/15/2021 Removed unwanted goto statements 1.06 ma 01/17/2022 Move EFUSE defines to xplmi_hw.h file bm 01/27/2022 Fix setup interrupt system logic rama 01/31/2022 Added STL error interrupt register functionality bm 03/16/2022 Fix ROM time calculation 1.07 skd 04/21/2022 Misra-C violation Rule 18.1 fixed 1.08 bm 07/06/2022 Refactor versal and versal_net code 1.09 ng 11/11/2022 Updated doxygen comments bm 01/03/2023 Remove usage of double data type bm 03/11/2023 Set PmcIroFreq as 320MHz by default ng 03/30/2023 Updated algorithm and return values in doxygen comments 1.10 bm 04/28/2023 Use XPlmi_GetRomIroFreq API to get IRO frequency used during ROM ng 06/21/2023 Added support for system device-tree flow ng 01/28/2024 optimized u8 variables ma 03/05/2024 Fixed improper timestamp issue after In-place PLM update ma 09/20/2024 Increase scheduler frequency to 100ms for COSIM

 

Functions

u32 * XPlmi_GetPmcIroFreq (void)
 This function provides the pointer to PmcIroFreq variable. More...
 
u64 XPlmi_GetTimerValue (void)
 This function is used to read the 64 bit timer value. More...
 
void XPlmi_MeasurePerfTime (u64 TCur, XPlmi_PerfTime *PerfTime)
 This function measures the total time taken between two points for performance measurement. More...
 
void XPlmi_PrintRomTime (void)
 This function prints the ROM time. More...
 
void XPlmi_PrintPlmTimeStamp (void)
 This function prints the PLM time stamp. More...
 
int XPlmi_StartTimer (void)
 It initializes the IO module structures and PIT timers. More...
 
int XPlmi_SetUpInterruptSystem (void)
 This function connects the interrupt handler of the IO Module to the processor. More...
 
void XPlmi_IntrHandler (void *CallbackRef)
 This function is default interrupt handler for the device. More...
 
void XPlmi_PlmIntrEnable (u32 IntrId)
 This function will enable the Iomodule interrupt. More...
 
int XPlmi_PlmIntrDisable (u32 IntrId)
 This function will disable the Iomodule interrupt. More...
 
int XPlmi_PlmIntrClear (u32 IntrId)
 This function will clear the Iomodule interrupt. More...
 
int XPlmi_RegisterHandler (u32 IntrId, GicIntHandler_t Handler, void *Data)
 This function will register the handler and enable the Iomodule interrupt. More...