Changeset 407 for trunk/kernel/devices/dev_pic.h
- Timestamp:
- Nov 7, 2017, 3:08:12 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/devices/dev_pic.h
r406 r407 80 80 /***************************************************************************************** 81 81 * This defines the specific extension for the PIC chdev descriptor. 82 * It contains four function pointers on the four PIC command types,83 * that must be implemented by alldrivers.82 * It contains the function pointers for all functions that mus be implemented 83 * by all implementation specific drivers. 84 84 ****************************************************************************************/ 85 85 … … 90 90 typedef void (enable_ipi_t) ( ); 91 91 typedef void (send_ipi_t) ( cxy_t cxy , lid_t lid ); 92 typedef void (ack_ipi_t) ( ); 92 93 typedef void (extend_init_t) ( uint32_t * lapic_base ); 93 94 … … 98 99 disable_irq_t * disable_irq; /*! pointer on the driver "disable_irq" function */ 99 100 enable_timer_t * enable_timer; /*! pointer on the driver "enable_timer" function */ 100 enable_ timer_t* enable_ipi; /*! pointer on the driver "enable_ipi" function */101 enable_ipi_t * enable_ipi; /*! pointer on the driver "enable_ipi" function */ 101 102 send_ipi_t * send_ipi; /*! pointer on the driver "send_ipi" function */ 103 ack_ipi_t * ack_ipi; /*! pointer on the driver "ack_ipi" function */ 102 104 extend_init_t * extend_init; /*! pointer on the driver "init_extend" function */ 103 105 } … … 109 111 * It describes the hardware wiring of IRQs between external peripherals and the IOPIC, 110 112 * as each entry contains the input IRQ index in IOPIC. 111 * For a multi-channels peripheral, there is one chdev and one IRQ per channel.113 * For a multi-channels/multi_IRQ peripheral, there is one chdev per IRQ. 112 114 * This structure is replicated in each cluster. It is allocated as a global variable 113 115 * in the kernel_init.c file. … … 116 118 typedef struct iopic_input_s 117 119 { 118 uint32_t txt[CONFIG_MAX_TXT_CHANNELS];119 120 uint32_t ioc[CONFIG_MAX_IOC_CHANNELS]; 121 uint32_t txt_rx[CONFIG_MAX_TXT_CHANNELS]; 122 uint32_t txt_tx[CONFIG_MAX_TXT_CHANNELS]; 120 123 uint32_t nic_rx[CONFIG_MAX_NIC_CHANNELS]; 121 124 uint32_t nic_tx[CONFIG_MAX_NIC_CHANNELS]; … … 180 183 * This is a static binding, defined during kernel init: IRQ can be enabled/disabled, 181 184 * but the binding cannot be released. It can be used for both internal & external IRQs. 185 * The configuration is actually done by the - implementation specific - driver, 186 * and this function just call the relevant driver. 182 187 * WARNING : the IRQ must be explicitely enabled by the dev_pic_enable_irq() function. 183 188 ***************************************************************************************** … … 234 239 lid_t lid ); 235 240 241 /***************************************************************************************** 242 * This function acknowledges the IPI identified by the calling core local index, 243 * in the local LAPIC component. 244 ****************************************************************************************/ 245 void dev_pic_ack_ipi(); 246 247 /***************************************************************************************** 248 * This debug function displays the content of the iopic_input structure, 249 * that register the input IRQS for the external IOPIC controller. 250 ****************************************************************************************/ 251 void dev_pic_inputs_display(); 236 252 237 253 #endif /* _DEV_PIC_H_ */
Note: See TracChangeset
for help on using the changeset viewer.