问题标签 [apic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kernel - I/O APIC 外部 IRQ 静态分配
我正在阅读 ULK3,并得到以下声明
“来自外部硬件设备的中断请求可以通过两种方式分布在可用的 CPU 中:
静态分发 IRQ 信号被传递到相应重定向表条目中列出的本地 APIC。中断被传送到一个特定的 CPU、CPU 的一个子集或一次性传送到所有 CPU(广播模式)。”</p>
我知道 linux 不使用静态分发,但我的问题是:
如果操作系统使用静态分配初始化中断重定向表的一个条目,并且该 IRQ 被引发,然后多 APIC 系统选择两个 CPU(这里,这只是一个示例,两个 CPU 在条目中列出)并传递信号到对应的本地APIC,两个本地APIC都接受中断。
- 只有一个cpu会处理中断?或两者?如果有,如何选择?
- 是否有使用静态分发的操作系统?
如果是,请给我看例子
如果不是,它为什么存在?是不是因为某些历史问题?这种设计的初衷是什么?
x86 - x86 PIC,QEMU 在所有 CPU 上引发中断是否正确?
我最近不得不解决 x86 PIC 的专有操作系统问题,其中操作系统预期的计时器仅在 CPU0 上中断。我启用了 IO-APIC 来解决这个问题并进行 CPU 转向,因此中断只发送到 CPU0。问题解决了。
有人告诉我,我们的硬件坏了做这样的事情。即当只有一个 PIC 正在使用时,在所有 CPU 上引发定时器中断。有问题的“硬件”是 QEMU/KVM。
QEMU/KVM 有问题吗?操作系统是否做出了无效的假设?
我怀疑 QEMU/KVM 这样做是完全正确的,操作系统应该能够处理 CPU 上的定时器中断!= 0 ...
x86 - 关于 IO-APIC 82093AA
我想在我的加载程序代码中对 IO-APIC 和 Local-APIC 进行编程,代码在 BIOS 之后运行。
我阅读了 i82093AA 数据表,发现寄存器基数是由 PIIX3 的 APICBASE 寄存器定义的。如何读取“PIIX3 APICBASE”寄存器?
据我所知,IO-APIC 寄存器库默认为 0xFEC00000,但 BIOS 可能会更改它。所以我想找到一种正确获得基地的方法。
hardware - 如何在多个设备之间在物理硬件上共享单个 irq 线
我想知道如何在多个设备之间共享一条 irq 线,我的意思是它们如何在硬件级别进行物理连接,他们是否为此使用多个 APIC 控制器,或者使用了哪些其他方法。
assembly - APIC发送中断成功,但只有一次
我正在尝试向自己发送 IPI。
写入位置 0x310 和 0x300 的 APIC 成功(发送中断),但只有一次。
下一个 write 什么都不做,直到我重新启动。
有什么建议么?
x86 - 逻辑集群模式和使用目标速记发送 IPI
如果操作系统使用目标速记之一(例如所有不包括自身)写入 APIC 的 ICR,则当 APIC 在 APIC 总线上传递消息时将忽略目标模式,并且所有处理器都将接收 IPI。
这是否意味着即使操作系统设置了逻辑集群寻址模式并且系统有一些内核(操作系统不可见)正在使用物理目标模式,它们都会收到使用 Destination Shorthand 发送的 IPI?如果操作系统不希望 IPI 到达它不知道的核心怎么办?我的意思是,如果您使用的是目标速记,那么在这里使用集群模式寻址并没有真正的帮助?
感谢您的意见。我阅读了 SDM,但无法就上述问题得出任何结论。
c - 英特尔本地 APIC 虚假中断
我现在正在开发一个应该启用\禁用本地 APIC 的代码片段。我在英特尔手册中看到我必须在启用 LoAPIC 之前设置一个虚假的中断向量。在英特尔手册中,我看到以下解释:
当处理器将其任务优先级提高到大于或等于处理器 INTR 信号当前被断言的中断级别时,可能会发生特殊情况。如果在发出 INTA 周期时,要分配的中断已被屏蔽(由软件编程),则本地 APIC 将提供一个虚假中断向量。分配虚假中断向量不会影响 ISR,因此该向量的处理程序应该在没有 EOI 的情况下返回。块引用
谁能帮我了解什么条件导致本地 APIC 发出虚假中断?
提前致谢。
html - 数据超出限制后添加分页
我想在可以显示的数据超过过滤器后添加分页。我已经声明一次最多只能显示 6 个数据。我想通过在表格下添加分页来显示其余数据。我该怎么做呢?