我在使用Arch linux。如果我从任何tty执行systemctl suspend,我就可以继续运行,而不会出现任何问题。在使用i3时,systemctl suspend在恢复时会造成问题。我收到一条消息说do_IRQ: 0.55 No irq handler for vector和我也不能切换到其他tty。
我在使用Linux3.6.0的x86系统上工作。对于一些实验,我需要知道IRQ是如何映射到向量的。我从许多书中了解到,向量0x0到0x20用于陷阱和异常,向量0x20之后用于外部设备中断。这也是在源代码Linux/arch/x86/include/asm/irq_vectors.h中定义的unsigned int __irq_entry do_IRQ(stru
我知道Linux内核在2.6.32之前将线程内核堆栈作为ISR堆栈,在2.6.32之后,内核使用分隔堆栈,如果错误,请更正。您能告诉我ISR堆栈何时设置/装箱,或者如果有,则销毁。更新日期:2014年10月17日:
用户空间进程堆栈,每个用户空间任务都有自己的堆栈,这是在创建任务时由mmap()创建的。用于硬件中断的堆栈(上半部分),每个CPU一个(2.6后),在arch/x86/内核/irq_32.c中定义:DEFINE_PER_CPU(struct i