Как HyperV отправляет прерывание гостю Linux x86?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как HyperV отправляет прерывание гостю Linux x86?

Сообщение Anonymous »

Я использую гостевую систему Linux (версия Linux 6.6.44) в Azure. Я пытаюсь понять, как прерывания Hyper V появляются в Linux.
cat /proc/interrupts

Код: Выделить всё

           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
4:          0          0        306          0          0          0          0          0   IO-APIC   4-edge      ttyS0
8:          0          0          0          0          0          0          0          0   IO-APIC   8-edge      rtc0
9:          0          0          0          0          0          0          0          0   IO-APIC   9-fasteoi   acpi
NMI:          1          1          1          1          1          1          1          1   Non-maskable interrupts
LOC:          0          0          0          0          0          0          0          0   Local timer interrupts
SPU:          0          0          0          0          0          0          0          0   Spurious interrupts
PMI:          0          0          0          0          0          0          0          0   Performance monitoring interrupts
IWI:         74          0          0          0          0          0          0          0   IRQ work interrupts
RTR:          0          0          0          0          0          0          0          0   APIC ICR read retries
RES:          4          6         30          3         35          9         32         11   Rescheduling interrupts
CAL:        425        412        234         84        446        168        139        147   Function call interrupts
TLB:          0          0          0          0          0          0          0          0   TLB shootdowns
TRM:          0          0          0          0          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0          0          0          0          0   Threshold APIC interrupts
DFR:          0          0          0          0          0          0          0          0   Deferred Error APIC interrupts
MCE:          0          0          0          0          0          0          0          0   Machine check exceptions
MCP:          1          1          1          1          1          1          1          1   Machine check polls
HYP:        123         17         37         86          0          0          0          0   Hypervisor callback interrupts
HRE:          0          0          0          0          0          0          0          0   Hyper-V reenlightenment interrupts
HVS:        584        866        782        368        985        453        870        576   Hyper-V stimer0 interrupts
ERR:          0
MIS:          0
PIN:          0          0          0          0          0          0          0          0   Posted-interrupt notification event
NPI:          0          0          0          0          0          0          0          0   Nested posted-interrupt event
PIW:          0          0          0          0          0          0          0          0   Posted-interrupt wakeup event
здесь я вижу, что используются 3 обработчика прерываний, например

Код: Выделить всё

HYP:        123         17         37         86          0          0          0          0   Hypervisor callback interrupts
HRE:          0          0          0          0          0          0          0          0   Hyper-V reenlightenment interrupts
HVS:        584        866        782        368        985        453        870        576   Hyper-V stimer0 interrupts
и, в частности, вызывается этот обработчик Прерывания обратного вызова гипервизора isr. Все это делается путем регистрации шлюза обратного вызова по индексу idt 0xf3 sysvec_hyperv_callback
Я сомневаюсь в том, как Hyperv узнает/отправляет эти конкретные прерывания, которые достигают этого конкретного обратного вызова? На каком этапе загрузки выполняется это соглашение?
Выдает ли ACPI это прерывание (IO-APIC 9-fasteoi acpi) при эти ворота?
Журналы загрузки

Подробнее здесь: https://stackoverflow.com/questions/790 ... inux-guest
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»