Linux内核中断模块之中断芯片描述

在Linux内核中,每个提供中断分发和逻辑处理判断等能力的芯片用irq_chip描述,定义形式如下:

/**  * struct irq_chip - hardware interrupt chip descriptor **/ struct irq_chip {  struct device *parent_device;  const char *name;  unsigned int (*irq_startup)(struct irq_data *data);  void  (*irq_shutdown)(struct irq_data *data);  void  (*irq_enable)(struct irq_data *data);  void  (*irq_disable)(struct irq_data *data);

 void  (*irq_ack)(struct irq_data *data);  void  (*irq_mask)(struct irq_data *data);  void  (*irq_mask_ack)(struct irq_data *data);  void  (*irq_unmask)(struct irq_data *data);  void  (*irq_eoi)(struct irq_data *data);

 int  (*irq_set_affinity)(struct irq_data *data, const struct cpumask *dest, bool force);  int  (*irq_retrigger)(struct irq_data *data);  int  (*irq_set_type)(struct irq_data *data, unsigned int flow_type);  int  (*irq_set_wake)(struct irq_data *data, unsigned int on);

 void  (*irq_bus_lock)(struct irq_data *data);  void  (*irq_bus_sync_unlock)(struct irq_data *data);

 void  (*irq_cpu_online)(struct irq_data *data);  void  (*irq_cpu_offline)(struct irq_data *data);

 void  (*irq_suspend)(struct irq_data *data);  void  (*irq_resume)(struct irq_data *data);  void  (*irq_pm_shutdown)(struct irq_data *data);

 void  (*irq_calc_mask)(struct irq_data *data);

 void  (*irq_print_chip)(struct irq_data *data, struct seq_file *p);  int  (*irq_request_resources)(struct irq_data *data);  void  (*irq_release_resources)(struct irq_data *data);

 void  (*irq_compose_msi_msg)(struct irq_data *data, struct msi_msg *msg);  void  (*irq_write_msi_msg)(struct irq_data *data, struct msi_msg *msg);

 int  (*irq_get_irqchip_state)(struct irq_data *data, enum irqchip_irq_state which, bool *state);  int  (*irq_set_irqchip_state)(struct irq_data *data, enum irqchip_irq_state which, bool state);

 int  (*irq_set_vcpu_affinity)(struct irq_data *data, void *vcpu_info);

 void  (*ipi_send_single)(struct irq_data *data, unsigned int cpu);  void  (*ipi_send_mask)(struct irq_data *data, const struct cpumask *dest);

 unsigned long flags; };

 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值