Directed interrupt for multilevel virtualization with interrupt table

US2022012198A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2022012198-A1
Application numberUS-202117482192-A
CountryUS
Kind codeA1
Filing dateSep 22, 2021
Priority dateFeb 14, 2019
Publication dateJan 13, 2022
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An interrupt signal is provided to a first guest operating system. A bus attachment device receives an interrupt signal from a bus connected module with an interrupt target ID identifying a processor assigned for use by the guest operating system as a target processor for handling the interrupt signal. The bus attachment device translates the received interrupt target ID to a logical processor ID of the target processor using an interrupt table entry stored in a memory section assigned to a second guest operating system hosting the first operating system and forwards the interrupt signal to the target processor for handling. The logical processor ID of the target processor is used to address the target processor directly.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer program product for providing an interrupt signal to a first guest operating system executed using one or more processors of a plurality of processors of a computer system, the computer program product comprising: one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media to perform a method comprising: receiving an interrupt signal with an interrupt target ID, the interrupt target ID identifying one processor of the plurality of processors as a target processor to handle the interrupt signal, the one processor, at least, being assigned for usage by the first guest operating system; retrieving a copy of an interrupt table entry assigned to the interrupt target ID from an interrupt table, the copy of the interrupt table entry comprising a mapping of the interrupt target ID to a logical processor ID; translating the interrupt target ID to the logical processor ID using the copy of the interrupt table entry; and forwarding the interrupt signal to the target processor to handle, the forwarding using the logical processor ID resulting from the translating to address the target processor directly. 2 . The computer program product of claim 1 , wherein the interrupt table is stored in a first memory section of memory, the first memory section being assigned to a second guest operating system, the second guest operating system hosting the first guest operating system. 3 . The computer program product of claim 2 , wherein the memory further comprises in a second memory section assigned to the first guest operating system a directed interrupt summary vector with a directed interrupt summary indicator per interrupt target ID, each directed interrupt summary indicator being assigned to a respective interrupt target ID to indicate whether there is a respective interrupt signal addressed to the respective interrupt target ID to be handled. 4 . The computer program product of claim 3 , wherein the memory further comprises in the first memory section a forwarding vector comprising a first set of forwarding vector entries, the first set of forwarding vector entries comprising for each directed interrupt summary indicator of the directed interrupt summary vector a forwarding vector entry assigned to a respective directed interrupt summary indicator, each forwarding vector entry indicating whether the respective directed interrupt summary indicator to which it is assigned is to be updated in order to indicate for the first guest operating system that there is the respective interrupt signal addressed to the respective interrupt target ID to be handled. 5 . The computer program product of claim 4 , wherein the method further comprises: checking whether the target processor is scheduled for usage by the first guest operating system; and performing the translating and the forwarding, based on the target processor being scheduled for usage by the first guest operating system, else forwarding the interrupt signal to the first guest operating system using broadcasting, the broadcasting comprising selecting a selected forwarding vector entry of the first set of forwarding vector entries which is assigned to the interrupt target ID and updating the selected forwarding vector entry such that it indicates that the respective directed interrupt summary indicator to which it is assigned is to be updated in order to indicate for the first guest operating system that there is the interrupt signal addressed to the interrupt target ID to be handled. 6 . The computer program product of claim 4 , wherein the second memory section of the memory further comprises an interrupt summary vector with an interrupt summary indicator per bus connected module of a plurality of bus connected modules coupled to the plurality of processors to indicate whether there is the respective interrupt signal issued by a respective bus connected module to be handled, and wherein the forwarding vector further comprises a second set of forwarding vector entries, the second set of forwarding vector entries comprising a second forwarding vector entry assigned to a respective interrupt summary indicator, the second forwarding vector entry to indicate whether the respective interrupt summary indicator to which it is assigned is to be updated in order to indicate for the first guest operating system that there is the respective interrupt signal issued by the respective bus connected module to be handled, and wherein the method further comprises: receiving another interrupt signal with another interrupt target ID, the other interrupt target ID identifying a second target processor for usage by the first guest operating system to handle the other interrupt signal; checking whether the second target processor is scheduled for usage by the first guest operating system; translating, based on the second target processor being scheduled for usage by the first guest operating system, the other interrupt target ID to another logical processor ID and forwarding the other interrupt signal to the second target processor to handle using the other logical processor ID resulting from the translating to address the second target processor directly; and forwarding based on the second target processor not being scheduled, the second interrupt signal to the first guest operating system using broadcasting, the broadcasting comprising selecting, by the bus attachment device, a selected second forwarding vector entry of the second set of forwarding vector entries which is assigned to the other interrupt target ID and updating the selected second forwarding vector entry such that it indicates that the respective interrupt summary indicator to which it is assigned is to be updated in order to indicate for the first guest operating system that there is the second interrupt signal to be handled. 7 . The computer program product of claim 6 , wherein the receiving the interrupt signal is from a first bus connected module and the receiving the other interrupt signal is from a second bus connected module. 8 . The computer program product of claim 7 , wherein the receiving the interrupt signal is by a bus attachment device from the first bus connected module, and the receiving the other interrupt signal is by the bus attachment device from the seocnd bus connected module. 9 . The computer program product of claim 4 , wherein the first memory section further comprises a guest interrupt table, the guest interrupt table comprising a first set of guest interrupt table entries, the first set of guest interrupt table entries comprising a directed interrupt summary address indicator for each of the directed interrupt summary indicators of the directed interrupt summary vector with a respective directed interrupt summary address indicator indicating a memory address of the respective directed interrupt summary indicator in the second memory section, and wherein assignments of forwarding vector entries of the first set of forwarding vector entries are implemented using the guest interrupt table with each forwarding vector entry of the first set of forwarding vector entries being assigned a guest interrupt table entry of the first set of guest interrupt table entries, and wherein the directed interrupt summary address indicator of the respective guest interrupt table entry indicates the memory address of the respective directed interrupt summary indicator to which a respective forwarding vector entry is assigned. 10 . The computer program product of claim 4 , wherein the copy of the interrupt table entry further comprises a running indicator to indicate whether the target processor identified by th

Assignees

Inventors

Classifications

  • by interrupt, e.g. masked · CPC title

  • Program initiating; Program switching, e.g. by interrupt · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

  • Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2022012198A1 cover?
An interrupt signal is provided to a first guest operating system. A bus attachment device receives an interrupt signal from a bus connected module with an interrupt target ID identifying a processor assigned for use by the guest operating system as a target processor for handling the interrupt signal. The bus attachment device translates the received interrupt target ID to a logical processor …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 13 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).