问题标签 [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.

0 投票
2 回答
73 浏览

javascript - 提交按钮验证(angularjs)

当我单击提交按钮并且由于未输入电子邮件/密码在数据库中而未重定向到其他页面时,如何获得提示错误消息。

登录.html

auth.js(控制器)

auth.js(服务)

0 投票
2 回答
351 浏览

caching - 写入 mmio 寄存器时如何避免缓存?

我正在 virtualbox 中编写自定义操作系统,并且无法从 IOAPIC mmio 寄存器成功写入和读取。即它似乎忽略了索引寄存器写入。加载R8IOAPIC 基地址(根据 ACPI 枚举确定为 0xFEC00000)后,我使用以下例程进行读/写:

但是 ioapic_read 将始终返回最后写入的值(由 ioapic_write),而与使用的索引无关。我有身份分页设置来使用 0x9B 我认为应该禁用缓存。

我尝试pause在每个movs 之后使用。没有帮助。尝试了mfences 之间的movs。没有帮助。

我已确认0xFEC00000地址已成功进行身份映射。

看起来还有一些缓存正在进行。我错过了什么?

编辑

我发现这不是缓存问题,而是一些很陌生的东西——至少对我无知的大脑来说是这样。我的身份分页按需工作,因此页面错误将在表中生成正确的物理页面。

这似乎有效,但在 IOAPIC mmio 寄存器的情况下,我需要在尝试使用 0xFEC00000 地址之前通过对 0xFEC00000 地址进行虚拟读取或写入来导致页面错误。更奇怪的是,我需要先做这个假人阅读足够的说明,否则它不起作用。例如

这有效!

......这不是!

我怀疑存在流水线/序列化问题,但我真的很想了解为什么我需要在 MMIO 寄存器中使用地址之前将地址分页到表中,以及为什么我需要提前足够远地完成它。在后一种情况下,如何修复它以便它被序列化,所以我不需要担心它。

我的身份寻呼例程:

0 投票
1 回答
659 浏览

kernel - 每次溢出后如何产生性能监控中断

我想配置性能计数器 IA32_PERF_FIXED_CTR0 以在每 N 条退役指令后生成性能监控中断 (PMI)。

问题是,虽然我得到了第一个 PMC 中断,但即使我将计数器重置为其初始计数,我也没有得到任何进一步的中断,清除溢出标志,如英特尔参考手册中所述。

在重置计数器的值后,我通过打印一些内容进行了一些检查,我验证了这是否正确完成,并且我还验证了计数器继续从重置值开始计数。我还验证了计数器在重置后溢出,但由于某种原因,没有产生中断。

有人可以让我知道如何在每 N 条指令后生成中断。任何帮助将不胜感激。

0 投票
1 回答
158 浏览

php - 使用 curl 通过 php 将文件上传到 cisco APIC-EM

我正在尝试通过 PHP 的 CURL 将配置文件通过 POST 上传到 Cisco APIC-EM,但收到意外错误:

这是结果:

恐怕 CURL 设置有问题,但我不确定。有人知道这里有什么问题吗?我正在使用 PHP7。

谢谢。

0 投票
1 回答
129 浏览

ibm-cloud - 在 Bluemix 上打开应用程序时出现 SSL 问题

我已经在 Bluemix 上发布了一个 API。当我尝试在 Safari 或 Chrome 上打开应用程序 URL 时,它无法建立安全连接并出现以下错误:

apiconnect-****.apic.mybluemix.net 不接受您的登录证书,或者可能没有提供。

0 投票
0 回答
68 浏览

url - URL 在本地机器中不可访问,但在已部署机器中可访问

我使用 api connect 制作了一个 api,当我在 AWS 实例上部署 API 并使用 CURL 访问它时,它给了我驻留在那里的页面的 html 代码。但是当我从本地机器访问相同的 url 时(通过使用部署机器的地址)。页面打不开。连接超时。

究竟是什么问题??

0 投票
1 回答
180 浏览

x86 - 谁以及如何在 apic(高级可编程中断控制器)中生成向量号?

Apic 用于向处理器提供中断。那么 io 设备如何使用它来产生中断以及谁生成向量号以选择合适的中断处理程序以及 apic 如何区分 io 设备?

0 投票
0 回答
168 浏览

linux - 我的 vmware VM 中 IOAPIC 的奇怪设置

我正在检查我的 vmware VM(Ubuntu 16.10)中的 IOAPIC 设置。这是我从我自己的转储 IOAPIC 寄存器和 /proc/interrupts 的代码中得到的。

这两个输出至少在向量场中是不同的。

我自己的代码通过写入 ioapic_base 和读取 (ioapci_base + 0x10) 来转储 IOAPIC 寄存器。

你能帮我检查一下为什么会有差异吗?谢谢,-陶

0 投票
1 回答
1058 浏览

linux - 了解 x2APIC 的虚拟 APIC 页面

我正在编写一个 VMM,并且我正在尝试支持在 VMX 非 root 模式下运行的来宾操作系统对 x2APIC 寄存器的虚拟访问。

我想从做一些简单的事情开始,例如从客户操作系统中读取本地 APIC ID。我尝试在我的 VMM 中添加对此的支持,但我读取的值似乎不正确。

不幸的是,我似乎无法在网上找到很多关于虚拟 APIC 页面的信息。我已经阅读了英特尔手册的第 29 章(APIC 虚拟化和虚拟中断),这就是我正在做的事情:

  1. 在基于辅助处理器的 VM 执行控件中,我将以下位设置为 1:(我在下面设置位 9,因为我最终想要支持发布的 IPI)

    1. SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE(第 4 位)
    2. SECONDARY_EXEC_APIC_REGISTER_VIRT(第 8 位)
    3. SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY(位 9)
  2. 在 MSR 位图中,我禁用了对 的拦截0x802,这是本地 APIC ID 寄存器。

  3. 在我的来宾操作系统中,我rdmsr用来阅读0x802.

我在固定到不同内核的两个线程上执行第 3 步。他们都2621447225从寄存器中读取值。这似乎是不正确的,因为线程被固定到不同的内核,因此应该读取不同的本地 APIC ID(而且数量2621447225非常大)。我做错了什么?

以下是一些附加信息供您参考:

在英特尔手册的第 29.5 节(虚拟化基于 MSR 的 APIC 访问)中,它说:

If “APIC-register virtualization” is 1 and ECX contains a value in the range 800H–8FFH, the instruction reads the 8 bytes from offset X on the virtual-APIC page into EDX:EAX, where X = (ECX & FFH) « 4. This occurs even if the local APIC is not in x2APIC mode (no general-protection fault occurs because the local APIC is not in x2APIC mode).

偏移量对X我来说很有意义:MSR 地址0x8020x2在与 进行与运算时变为0xFF,并且在左移 4 位时变为。如果您通过其内存映射寄存器访问 xAPIC,则它是物理 APIC 页面内的偏移量。然后读取 8 个字节(即 64 位),因此低 32 位是 x2APIC 的本地 APIC ID。0x20x200x20

0 投票
1 回答
642 浏览

linux - VT-x 中的“退出时确认中断”控制导致 CPU 锁定

我正在努力支持我正在编写的使用 Intel VT-x 虚拟化的 VMM 中的已发布中断。启用发布中断的文档中指定的 VM 进入要求之一是“退出时确认中断”VM 退出控件必须设置为 1。

当我将此控件设置为 1 时,我的客户操作系统会在停止响应之前运行一小段时间。然后,主机操作系统也停止响应,并在主机内核日志中打印一条消息,指出运行来宾操作系统的 CPU 内核发生了硬锁定 ( NMI watchdog: Watchdog detected hard LOCKUP on cpu 10)。

我正在阅读英特尔文档并试图思考这个问题,但想知道是否有其他人知道发生了什么。我现在的一般想法是,主机操作系统必须向当前正在运行来宾操作系统的内核发送中断(即我的来宾操作系统不参与发送中断),这会导致 VM 退出。由于我将“退出时确认中断”控件设置为 1,因此处理器向中断控制器确认已收到中断,并将向量放入 VM 退出中断信息字段中。此外,由于目前我没有对 VMM 中的中断信息字段执行任何操作,因此主机操作系统不会处理中断,这会导致问题。我是否朝着正确的方向前进?