2014-08-21 15:30:26 +05:30
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
< title >
2014-11-06 10:19:12 +05:30
xintc.h File Reference
2014-08-21 15:30:26 +05:30
< / title >
2014-11-06 10:19:12 +05:30
< link href = "$DriverApiDocsCssPath" rel = "stylesheet" type = "text/css" >
2014-08-21 15:30:26 +05:30
< / head >
< h3 class = "PageHeader" > Xilinx Processor IP Library< / h3 >
< hl > Software Drivers< / hl >
< hr class = "whs1" >
2014-11-06 10:19:12 +05:30
<!-- Generated by Doxygen 1.4.7 -->
< div class = "tabs" >
< ul >
< li > < a href = "index.html" > < span > Main Page< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li id = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< / ul > < / div >
< div class = "tabs" >
< ul >
< li > < a href = "files.html" > < span > File List< / span > < / a > < / li >
< li > < a href = "globals.html" > < span > File Members< / span > < / a > < / li >
< / ul > < / div >
< h1 > xintc.h File Reference< / h1 >
< p >
< code > #include " xil_types.h" < / code > < br >
< code > #include " xil_assert.h" < / code > < br >
< code > #include " xparameters.h" < / code > < br >
< code > #include " xstatus.h" < / code > < br >
< code > #include " < a class = "el" href = "xintc__l_8h.html" > xintc_l.h< / a > " < / code > < br >
2014-08-21 15:30:26 +05:30
< table border = "0" cellpadding = "0" cellspacing = "0" >
2014-11-06 10:19:12 +05:30
< tr > < td > < / td > < / tr >
< tr > < td colspan = "2" > < br > < h2 > Classes< / h2 > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > struct < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_x_intc___config.html" > XIntc_Config< / a > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > struct < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > < / td > < / tr >
< tr > < td colspan = "2" > < br > < h2 > Configuration options< / h2 > < / td > < / tr >
< tr > < td colspan = "2" > These options are used in < a class = "el" href = "xintc_8h.html#1f0d32716f082a51a751df84312c7d56" > XIntc_SetOptions()< / a > to configure the device. < br > < br > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#f4bce8e2035f391b702686e49c66c839" > XIN_SVC_SGL_ISR_OPTION< / a > 1UL< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#d043237f658e83b2e8718ddddab12545" > XIN_SVC_ALL_ISRS_OPTION< / a > 2UL< / td > < / tr >
< tr > < td colspan = "2" > < br > < h2 > Start modes< / h2 > < / td > < / tr >
< tr > < td colspan = "2" > One of these values is passed to < a class = "el" href = "xintc_8c.html#863eb58a3ae9419c7ac5da7c9fa9cb50" > XIntc_Start()< / a > to start the device. < br > < br > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#efd5527cecdc1a6444b624d1e1a2514f" > XIN_SIMULATION_MODE< / a > 0< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#56b4aa3cb483ea5c882e2e36a4800af2" > XIN_REAL_MODE< / a > 1< / td > < / tr >
< tr > < td colspan = "2" > < br > < h2 > Masks to specify Interrupt Controller Mode< / h2 > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#6787fa567536384f6133b8ce90cf22f1" > XIN_INTC_NOCASCADE< / a > 0< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#d8c8fd384185ceae0a8abe0cd8d4c638" > XIN_INTC_PRIMARY< / a > 1< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#35bc775ed0e234d9b069700f4825cd7d" > XIN_INTC_SECONDARY< / a > 2< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#3805fe4c0c209acc349242d75600646b" > XIN_INTC_LAST< / a > 3< / td > < / tr >
< tr > < td colspan = "2" > < br > < h2 > Mask to specify maximum number of interrupt sources per controller< / h2 > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#842aea1f6663265412f5618f102e8f18" > XIN_CONTROLLER_MAX_INTRS< / a > 32< / td > < / tr >
< tr > < td colspan = "2" > < br > < h2 > Defines< / h2 > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > #define < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#9e07373b9cba0eafcb65c0dd23f6a4ab" > XINTC_H< / a > < / td > < / tr >
< tr > < td colspan = "2" > < br > < h2 > Functions< / h2 > < / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > int < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#a7adc53d40c41e1a714ef8857329043d" > XIntc_Initialize< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u16 DeviceId)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > int < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#863eb58a3ae9419c7ac5da7c9fa9cb50" > XIntc_Start< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Mode)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#fabb05cf2e5b62031524a33d1f88f405" > XIntc_Stop< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > int < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#ee9ec5873a764994d64b4da35a110084" > XIntc_Connect< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id, XInterruptHandler Handler, void *CallBackRef)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#8f7caaeb26b6b264fffefbd32f90f855" > XIntc_Disconnect< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#c7f59192d3b3ba2e2283a264677577b8" > XIntc_Enable< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#ea44ec361097925f2994558d402988ab" > XIntc_Disable< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#8604653ac3a24bbb49c5fecb6a9ebfc7" > XIntc_Acknowledge< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > < a class = "el" href = "struct_x_intc___config.html" > XIntc_Config< / a > * < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#b2da07d4eeab07ac1ef67d56af1e1cb7" > XIntc_LookupConfig< / a > (u16 DeviceId)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > int < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#24a344d15b12b8acd82cd4c49a020d74" > XIntc_ConnectFastHandler< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id, < a class = "el" href = "xintc__l_8h.html#6de21b6c45b4ee4a4443b8daf9749e07" > XFastInterruptHandler< / a > Handler)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#881154092f4f8cd5e29a71b284f7b2ae" > XIntc_SetNormalIntrMode< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#9c6dc6e838193da3ce51c8cdb3b88943" > XIntc_VoidInterruptHandler< / a > (void)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > void < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#635187ed756cee70b4b4051560cbd7bc" > XIntc_InterruptHandler< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > int < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#1f0d32716f082a51a751df84312c7d56" > XIntc_SetOptions< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u32 Options)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > u32 < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#6fdbe96b1db87f0c78e68da8bc767a69" > XIntc_GetOptions< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > int < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#f9a9a16180b363930d21bc94dfe71147" > XIntc_SelfTest< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr)< / td > < / tr >
< tr > < td class = "memItemLeft" nowrap align = "right" valign = "top" > int < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "xintc_8h.html#17972363ab5a1a8f5f1d135c5b3c22c7" > XIntc_SimulateIntr< / a > (< a class = "el" href = "struct_x_intc.html" > XIntc< / a > *InstancePtr, u8 Id)< / td > < / tr >
2014-08-21 15:30:26 +05:30
< / table >
2014-11-06 10:19:12 +05:30
< hr > < h2 > Define Documentation< / h2 >
< a class = "anchor" name = "842aea1f6663265412f5618f102e8f18" > < / a > <!-- doxytag: member="xintc.h::XIN_CONTROLLER_MAX_INTRS" ref="842aea1f6663265412f5618f102e8f18" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_CONTROLLER_MAX_INTRS 32 < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "3805fe4c0c209acc349242d75600646b" > < / a > <!-- doxytag: member="xintc.h::XIN_INTC_LAST" ref="3805fe4c0c209acc349242d75600646b" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_INTC_LAST 3 < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "6787fa567536384f6133b8ce90cf22f1" > < / a > <!-- doxytag: member="xintc.h::XIN_INTC_NOCASCADE" ref="6787fa567536384f6133b8ce90cf22f1" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_INTC_NOCASCADE 0 < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "d8c8fd384185ceae0a8abe0cd8d4c638" > < / a > <!-- doxytag: member="xintc.h::XIN_INTC_PRIMARY" ref="d8c8fd384185ceae0a8abe0cd8d4c638" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_INTC_PRIMARY 1 < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "35bc775ed0e234d9b069700f4825cd7d" > < / a > <!-- doxytag: member="xintc.h::XIN_INTC_SECONDARY" ref="35bc775ed0e234d9b069700f4825cd7d" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_INTC_SECONDARY 2 < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "56b4aa3cb483ea5c882e2e36a4800af2" > < / a > <!-- doxytag: member="xintc.h::XIN_REAL_MODE" ref="56b4aa3cb483ea5c882e2e36a4800af2" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_REAL_MODE 1 < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Real mode, no simulation allowed, hardware interrupts recognized
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "efd5527cecdc1a6444b624d1e1a2514f" > < / a > <!-- doxytag: member="xintc.h::XIN_SIMULATION_MODE" ref="efd5527cecdc1a6444b624d1e1a2514f" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_SIMULATION_MODE 0 < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Simulation only mode, no hardware interrupts recognized
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "d043237f658e83b2e8718ddddab12545" > < / a > <!-- doxytag: member="xintc.h::XIN_SVC_ALL_ISRS_OPTION" ref="d043237f658e83b2e8718ddddab12545" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_SVC_ALL_ISRS_OPTION 2UL < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "f4bce8e2035f391b702686e49c66c839" > < / a > <!-- doxytag: member="xintc.h::XIN_SVC_SGL_ISR_OPTION" ref="f4bce8e2035f391b702686e49c66c839" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XIN_SVC_SGL_ISR_OPTION 1UL < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< pre >
XIN_SVC_SGL_ISR_OPTION Service the highest priority pending interrupt
and then return.
XIN_SVC_ALL_ISRS_OPTION Service all of the pending interrupts and then
return.
< / pre >
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "9e07373b9cba0eafcb65c0dd23f6a4ab" > < / a > <!-- doxytag: member="xintc.h::XINTC_H" ref="9e07373b9cba0eafcb65c0dd23f6a4ab" args="" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > #define XINTC_H < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< hr > < h2 > Function Documentation< / h2 >
< a class = "anchor" name = "8604653ac3a24bbb49c5fecb6a9ebfc7" > < / a > <!-- doxytag: member="xintc.h::XIntc_Acknowledge" ref="8604653ac3a24bbb49c5fecb6a9ebfc7" args="(XIntc *InstancePtr, u8 Id)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_Acknowledge < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Acknowledges the interrupt source provided as the argument Id. When the interrupt is acknowledged, it causes the interrupt controller to clear its interrupt condition.In Cascade mode, acknowledges corresponding interrupt source of Slave controllers depending on the Id.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > None.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "ee9ec5873a764994d64b4da35a110084" > < / a > <!-- doxytag: member="xintc.h::XIntc_Connect" ref="ee9ec5873a764994d64b4da35a110084" args="(XIntc *InstancePtr, u8 Id, XInterruptHandler Handler, void *CallBackRef)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > int XIntc_Connect < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > XInterruptHandler < / td >
< td class = "paramname" > < em > Handler< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > void * < / td >
< td class = "paramname" > < em > CallBackRef< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Makes the connection between the Id of the interrupt source and the associated handler that is to run when the interrupt is recognized. The argument provided in this call as the Callbackref is used as the argument for the handler when it is called. In Cascade mode, connects handler to Slave controller handler table depending on the interrupt Id.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Handler< / em > < / td > < td > to the handler for that interrupt. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > CallBackRef< / em > < / td > < td > is the callback reference, usually the instance pointer of the connecting driver.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< ul >
2014-11-06 10:19:12 +05:30
< li > XST_SUCCESS if the handler was connected correctly.< / li > < / ul >
< p >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > < / dd > < / dl >
WARNING: The handler provided as an argument will overwrite any handler that was previously connected.
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "24a344d15b12b8acd82cd4c49a020d74" > < / a > <!-- doxytag: member="xintc.h::XIntc_ConnectFastHandler" ref="24a344d15b12b8acd82cd4c49a020d74" args="(XIntc *InstancePtr, u8 Id, XFastInterruptHandler Handler)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > int XIntc_ConnectFastHandler < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
2014-11-06 10:19:12 +05:30
< td class = "paramtype" > < a class = "el" href = "xintc__l_8h.html#6de21b6c45b4ee4a4443b8daf9749e07" > XFastInterruptHandler< / a > < / td >
2014-08-21 15:30:26 +05:30
< td class = "paramname" > < em > Handler< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Makes the connection between the Id of the interrupt source and the associated handler that is to run when the interrupt is recognized.In Cascade mode, connects handler to corresponding Slave controller IVAR register depending on the Id and sets all interrupt sources of the Slave controller as fast interrupts.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Handler< / em > < / td > < td > to the handler for that interrupt.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > < ul >
< li > XST_SUCCESS< / li > < / ul >
2014-08-21 15:30:26 +05:30
< / dd > < / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > Slave controllers in Cascade Mode should have all as Fast interrupts or Normal interrupts, mixed interrupts are not supported< / dd > < / dl >
WARNING: The handler provided as an argument will overwrite any handler that was previously connected.
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "ea44ec361097925f2994558d402988ab" > < / a > <!-- doxytag: member="xintc.h::XIntc_Disable" ref="ea44ec361097925f2994558d402988ab" args="(XIntc *InstancePtr, u8 Id)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_Disable < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Disables the interrupt source provided as the argument Id such that the interrupt controller will not cause interrupts for the specified Id. The interrupt controller will continue to hold an interrupt condition for the Id, but will not cause an interrupt.In Cascade mode, disables corresponding interrupt of Slave controllers depending on the Id.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > None.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "8f7caaeb26b6b264fffefbd32f90f855" > < / a > <!-- doxytag: member="xintc.h::XIntc_Disconnect" ref="8f7caaeb26b6b264fffefbd32f90f855" args="(XIntc *InstancePtr, u8 Id)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_Disconnect < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Updates the interrupt table with the Null Handler and NULL arguments at the location pointed at by the Id. This effectively disconnects that interrupt source from any handler. The interrupt is disabled also. In Cascade mode, disconnects handler from Slave controller handler table depending on the interrupt Id.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > None.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "c7f59192d3b3ba2e2283a264677577b8" > < / a > <!-- doxytag: member="xintc.h::XIntc_Enable" ref="c7f59192d3b3ba2e2283a264677577b8" args="(XIntc *InstancePtr, u8 Id)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_Enable < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Enables the interrupt source provided as the argument Id. Any pending interrupt condition for the specified Id will occur after this function is called. In Cascade mode, enables corresponding interrupt of Slave controllers depending on the Id.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > None.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "6fdbe96b1db87f0c78e68da8bc767a69" > < / a > <!-- doxytag: member="xintc.h::XIntc_GetOptions" ref="6fdbe96b1db87f0c78e68da8bc767a69" args="(XIntc *InstancePtr)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > u32 XIntc_GetOptions < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
2014-11-06 10:19:12 +05:30
< td class = "paramname" > < em > InstancePtr< / em > < / td >
2014-08-21 15:30:26 +05:30
< td > ) < / td >
2014-11-06 10:19:12 +05:30
< td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Return the currently set options.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > The currently set options. The options are described in < a class = "el" href = "xintc_8h.html" > xintc.h< / a > .< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "a7adc53d40c41e1a714ef8857329043d" > < / a > <!-- doxytag: member="xintc.h::XIntc_Initialize" ref="a7adc53d40c41e1a714ef8857329043d" args="(XIntc *InstancePtr, u16 DeviceId)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > int XIntc_Initialize < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u16 < / td >
< td class = "paramname" > < em > DeviceId< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Initialize a specific interrupt controller instance/driver. The initialization entails:< p >
2014-08-21 15:30:26 +05:30
< ul >
2014-11-06 10:19:12 +05:30
< li > Initialize fields of the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > structure< / li > < li > Initial vector table with stub function calls< / li > < li > All interrupt sources are disabled< / li > < li > Interrupt output is disabled< / li > < / ul >
< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > DeviceId< / em > < / td > < td > is the unique id of the device controlled by this < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance. Passing in a device id associates the generic < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to a specific device, as chosen by the caller or application developer.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > < ul >
< li > XST_SUCCESS if initialization was successful< / li > < li > XST_DEVICE_IS_STARTED if the device has already been started< / li > < li > XST_DEVICE_NOT_FOUND if device configuration information was not found for a device with the supplied device ID.< / li > < / ul >
2014-08-21 15:30:26 +05:30
< / dd > < / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > In Cascade mode this function calls XIntc_InitializeSlaves to initialiaze Slave Interrupt controllers. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "635187ed756cee70b4b4051560cbd7bc" > < / a > <!-- doxytag: member="xintc.h::XIntc_InterruptHandler" ref="635187ed756cee70b4b4051560cbd7bc" args="(XIntc *InstancePtr)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_InterruptHandler < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
2014-11-06 10:19:12 +05:30
< td class = "paramname" > < em > InstancePtr< / em > < / td >
2014-08-21 15:30:26 +05:30
< td > ) < / td >
2014-11-06 10:19:12 +05:30
< td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
The interrupt handler for the driver. This function is provided mostly for backward compatibility. The user should use < a class = "el" href = "xintc__l_8c.html#ce91a1aeaf1a88e1b769decb4ac4a818" > XIntc_DeviceInterruptHandler()< / a > , defined in < a class = "el" href = "xintc__l_8c.html" > xintc_l.c< / a > when possible and pass the device ID of the interrupt controller device as its argument.< p >
The user must connect this function to the interrupt system such that it is called whenever the devices which are connected to it cause an interrupt.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > None.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "b2da07d4eeab07ac1ef67d56af1e1cb7" > < / a > <!-- doxytag: member="xintc.h::XIntc_LookupConfig" ref="b2da07d4eeab07ac1ef67d56af1e1cb7" args="(u16 DeviceId)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > < a class = "el" href = "struct_x_intc___config.html" > XIntc_Config< / a > * XIntc_LookupConfig < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > u16 < / td >
2014-11-06 10:19:12 +05:30
< td class = "paramname" > < em > DeviceId< / em > < / td >
2014-08-21 15:30:26 +05:30
< td > ) < / td >
2014-11-06 10:19:12 +05:30
< td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Looks up the device configuration based on the unique device ID. A table contains the configuration info for each device in the system.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > DeviceId< / em > < / td > < td > is the unique identifier for a device.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > A pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > configuration structure for the specified device, or NULL if the device was not found.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "f9a9a16180b363930d21bc94dfe71147" > < / a > <!-- doxytag: member="xintc.h::XIntc_SelfTest" ref="f9a9a16180b363930d21bc94dfe71147" args="(XIntc *InstancePtr)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > int XIntc_SelfTest < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
2014-11-06 10:19:12 +05:30
< td class = "paramname" > < em > InstancePtr< / em > < / td >
2014-08-21 15:30:26 +05:30
< td > ) < / td >
2014-11-06 10:19:12 +05:30
< td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Run a self-test on the driver/device. This is a destructive test.< p >
This involves forcing interrupts into the controller and verifying that they are recognized and can be acknowledged. This test will not succeed if the interrupt controller has been started in real mode such that interrupts cannot be forced.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > < ul >
< li > XST_SUCCESS if self-test is successful.< / li > < li > XST_INTC_FAIL_SELFTEST if the Interrupt controller fails the self-test. It will fail the self test if the device has previously been started in real mode.< / li > < / ul >
2014-08-21 15:30:26 +05:30
< / dd > < / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "881154092f4f8cd5e29a71b284f7b2ae" > < / a > <!-- doxytag: member="xintc.h::XIntc_SetNormalIntrMode" ref="881154092f4f8cd5e29a71b284f7b2ae" args="(XIntc *InstancePtr, u8 Id)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_SetNormalIntrMode < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Sets the normal interrupt mode for the specified interrupt in the Interrupt Mode Register. In Cascade mode disconnects handler from corresponding Slave controller IVAR register depending on the Id and sets all interrupt sources of the Slave controller as normal interrupts.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > contains the ID of the interrupt source and should be in the range of 0 to XPAR_INTC_MAX_NUM_INTR_INPUTS - 1 with 0 being the highest priority interrupt.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > None.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > Slave controllers in Cascade Mode should have all as Fast interrupts or Normal interrupts, mixed interrupts are not supported < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "1f0d32716f082a51a751df84312c7d56" > < / a > <!-- doxytag: member="xintc.h::XIntc_SetOptions" ref="1f0d32716f082a51a751df84312c7d56" args="(XIntc *InstancePtr, u32 Options)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > int XIntc_SetOptions < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u32 < / td >
< td class = "paramname" > < em > Options< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Set the options for the interrupt controller driver. In Cascade mode same Option is set to Slave controllers.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Options< / em > < / td > < td > to be set. The available options are described in < a class = "el" href = "xintc_8h.html" > xintc.h< / a > .< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > < ul >
< li > XST_SUCCESS if the options were set successfully< / li > < li > XST_INVALID_PARAM if the specified option was not valid< / li > < / ul >
2014-08-21 15:30:26 +05:30
< / dd > < / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "17972363ab5a1a8f5f1d135c5b3c22c7" > < / a > <!-- doxytag: member="xintc.h::XIntc_SimulateIntr" ref="17972363ab5a1a8f5f1d135c5b3c22c7" args="(XIntc *InstancePtr, u8 Id)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > int XIntc_SimulateIntr < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Id< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Allows software to simulate an interrupt in the interrupt controller. This function will only be successful when the interrupt controller has been started in simulation mode. Once it has been started in real mode, interrupts cannot be simulated. A simulated interrupt allows the interrupt controller to be tested without any device to drive an interrupt input signal into it. In Cascade mode writes to ISR of appropraite Slave controller depending on Id.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Id< / em > < / td > < td > is the interrupt ID for which to simulate an interrupt.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > < ul >
< li > XST_SUCCESS if successful< / li > < li > XST_FAILURE if the interrupt could not be simulated because the interrupt controller is or has previously been in real mode.< / li > < / ul >
2014-08-21 15:30:26 +05:30
< / dd > < / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "863eb58a3ae9419c7ac5da7c9fa9cb50" > < / a > <!-- doxytag: member="xintc.h::XIntc_Start" ref="863eb58a3ae9419c7ac5da7c9fa9cb50" args="(XIntc *InstancePtr, u8 Mode)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > int XIntc_Start < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
< td class = "paramname" > < em > InstancePtr< / em > , < / td >
< / tr >
< tr >
< td class = "paramkey" > < / td >
< td > < / td >
< td class = "paramtype" > u8 < / td >
< td class = "paramname" > < em > Mode< / em > < / td > < td > < / td >
< / tr >
< tr >
< td > < / td >
< td > )< / td >
2014-11-06 10:19:12 +05:30
< td > < / td > < td > < / td > < td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Starts the interrupt controller by enabling the output from the controller to the processor. Interrupts may be generated by the interrupt controller after this function is called.< p >
It is necessary for the caller to connect the interrupt handler of this component to the proper interrupt source. This function also starts Slave controllers in Cascade mode.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on. < / td > < / tr >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > Mode< / em > < / td > < td > determines if software is allowed to simulate interrupts or real interrupts are allowed to occur. Note that these modes are mutually exclusive. The interrupt controller hardware resets in a mode that allows software to simulate interrupts until this mode is exited. It cannot be reentered once it has been exited.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
One of the following values should be used for the mode.< ul >
< li > XIN_SIMULATION_MODE enables simulation of interrupts only< / li > < li > XIN_REAL_MODE enables hardware interrupts only< / li > < / ul >
< p >
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > < ul >
< li > XST_SUCCESS if the device was started successfully< / li > < li > XST_FAILURE if simulation mode was specified and it could not be set because real mode has already been entered.< / li > < / ul >
2014-08-21 15:30:26 +05:30
< / dd > < / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > Must be called after < a class = "el" href = "struct_x_intc.html" > XIntc< / a > initialization is completed. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "fabb05cf2e5b62031524a33d1f88f405" > < / a > <!-- doxytag: member="xintc.h::XIntc_Stop" ref="fabb05cf2e5b62031524a33d1f88f405" args="(XIntc *InstancePtr)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_Stop < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > < a class = "el" href = "struct_x_intc.html" > XIntc< / a > * < / td >
2014-11-06 10:19:12 +05:30
< td class = "paramname" > < em > InstancePtr< / em > < / td >
2014-08-21 15:30:26 +05:30
< td > ) < / td >
2014-11-06 10:19:12 +05:30
< td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
Stops the interrupt controller by disabling the output from the controller so that no interrupts will be caused by the interrupt controller.< p >
< dl compact > < dt > < b > Parameters:< / b > < / dt > < dd >
2014-08-21 15:30:26 +05:30
< table border = "0" cellspacing = "2" cellpadding = "0" >
< tr > < td valign = "top" > < / td > < td valign = "top" > < em > InstancePtr< / em > < / td > < td > is a pointer to the < a class = "el" href = "struct_x_intc.html" > XIntc< / a > instance to be worked on.< / td > < / tr >
< / table >
< / dl >
2014-11-06 10:19:12 +05:30
< dl compact > < dt > < b > Returns:< / b > < / dt > < dd > None.< / dd > < / dl >
< dl compact > < dt > < b > Note:< / b > < / dt > < dd > None. < / dd > < / dl >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
< a class = "anchor" name = "9c6dc6e838193da3ce51c8cdb3b88943" > < / a > <!-- doxytag: member="xintc.h::XIntc_VoidInterruptHandler" ref="9c6dc6e838193da3ce51c8cdb3b88943" args="(void)" -->
2014-08-21 15:30:26 +05:30
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
2014-11-06 10:19:12 +05:30
< td class = "memname" > void XIntc_VoidInterruptHandler < / td >
2014-08-21 15:30:26 +05:30
< td > (< / td >
< td class = "paramtype" > void < / td >
2014-11-06 10:19:12 +05:30
< td class = "paramname" > < / td >
2014-08-21 15:30:26 +05:30
< td > ) < / td >
2014-11-06 10:19:12 +05:30
< td width = "100%" > < / td >
2014-08-21 15:30:26 +05:30
< / tr >
< / table >
< / div >
< div class = "memdoc" >
2014-11-06 10:19:12 +05:30
< p >
2014-08-21 15:30:26 +05:30
< / div >
2014-11-06 10:19:12 +05:30
< / div > < p >
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.