IPI中断

IPI中断
核间中断(IPI)其实就是SGI中断(Software Generated Interrupt),在GICv3架构中,共有16个SGI中断(不算extension的),ARM推荐的软件规定,0-7 SGI给REE使用,8-15 SGI给TEE使用。
核间中断就是一个CPU核向系统中的目标CPU核发送中断信号,以使目标CPU执行特定的操作。
在Linux Kernel操作系统中,默认定义了8种IPI中断(SGI0-SGI7):
(linux/arch/arm64/kernel/smp.c)
enum ipi_msg_type {
IPI_RESCHEDULE,
IPI_CALL_FUNC,
IPI_CPU_STOP,
IPI_CPU_CRASH_STOP,
IPI_TIMER,
IPI_IRQ_WORK,
IPI_WAKEUP,
NR_IPI
};

IPI_RESCHEDULE :0号中断, 重新调度进程scheduler_ipi()。
IPI_CALL_FUNC :1号中断, 调用generic_smp_call_function_interrupt(),远程cpu执行回调函数。
IPI_CPU_STOP :2号中断,调用local_cpu_stop(), 使处理器停止
IPI_CPU_CRASH_STOP :3号中断,调用ipi_cpu_crash_stop(),使处理器停止。
IPI_TIMER :4号中断,调用tick_receive_broadcast(),广播时钟事件。
IPI_IRQ_WORK :5号中断,调用irq_work_run(),在中断上下文中执行回调函数。
IPI_WAKEUP :6号中断,调用acpi_parking_protocol_valid(cpu), 唤醒处理器。
NR_IPI :7号中断,没有使用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值