Message based interrupt table
AssigneeAdvanced Micro Devices, Inc.
InventorsJoerg Winkler, Frank Barth
Life of this patent
Estimating the term…
Abstract
An interrupt processing technique is provided where an interrupt message is sent to an interrupt controller of a processor in response to an interrupt request from an individual device. The interrupt message comprises a memory address and interrupt status information. The memory address is specifically allocated to the device that has issued the interrupt request. The interrupt status information indicates an interrupt status of the device. An interrupt table that is stored in the memory is updated by the interrupt controller using the interrupt status information comprised in the interrupt message. The interrupt table holds device specific interrupt statuses. Updating the interrupt table comprises addressing the memory using the memory address in the interrupt message.
Claims52
A method of processing interrupts in a computer system having a memory and at least one processor, said computer system being connected to one or more devices, the method comprising:
- in response to an interrupt request from an individual one of said devices, sending an interrupt message to an interrupt controller of the processor, said interrupt message comprising a memory address and interrupt status information, said memory address being specifically allocated to the device having issued the interrupt request, said interrupt status information indicating an interrupt status of said device;
- updating, by said interrupt controller, an interrupt table stored in said memory using the interrupt status information comprised in the interrupt message, said interrupt table holding device specific interrupt statuses,
- wherein updating the interrupt table comprises:
- addressing the memory using the memory address comprised in the interrupt message;
- wherein the method further comprises, after having updated the interrupt table calling, by said interrupt controller, an interrupt handler;
- accessing, by the interrupt handler, said interrupt table to identify device specific interrupt statuses not being settled, wherein said interrupt table comprises a plurality of individually addressable data fields each pertaining to different ones of said devices, each data field being addressed by means of the memory address comprised in said interrupt message, each data field holding a respective device specific interrupt status, and
- wherein the interrupt handler identifies device specific interrupt statuses not being settled by sequentially accessing each one of said plurality of individually addressable data fields.
A computer system comprising:
- at least one processor;
- and
- a memory,
- wherein said computer system is capable of being connected to one or more devices,
- wherein said at least one processor comprises an interrupt controller connected to receive an interrupt message comprising a memory address and interrupt status information, said memory address being specifically allocated to an individual one of said devices having issued an interrupt request, said interrupt status information indicating an interrupt status of said device,
- wherein said memory is adapted to store an interrupt table holding device specific interrupt statuses, and
- wherein said interrupt controller is adapted to address the memory using the memory address comprised in a received interrupt message and update said interrupt table using the interrupt status information comprised in the received interrupt message;
- wherein said interrupt controller is further adapted to call, after having updated the interrupt table, an interrupt handler;
- wherein said interrupt handler is adapted to access said interrupt table to identify device specific interrupt statuses not being settled;
- wherein said interrupt table comprises a plurality of individually addressable data fields each pertaining to different ones of said devices, each data field being addressed by means of the memory address comprised in said interrupt message, each data field holding a respective device specific interrupt status,
- wherein the interrupt handler is adapted to identify device specific interrupt statuses not being settled by sequentially accessing each one of said plurality of individually addressable data fields.
A processor comprising:
- an interrupt controller adapted to receive an interrupt message comprising a memory address and interrupt status information, said memory address being specifically allocated to an individual device having issued an interrupt request, said interrupt status information indicating an interrupt status of said device,
- wherein said interrupt controller is adapted to address a memory using the memory address comprised in a received interrupt message and update an interrupt table using the interrupt status information comprised in the received interrupt message, said interrupt table being stored in said memory and holding device specific interrupt statuses;
- wherein said interrupt controller is further adapted to call, after having updated the interrupt table, an interrupt handler;
- wherein said interrupt controller is adapted to cause said interrupt handler to access said interrupt table to identify device specific interrupt statuses not beina settled;
- wherein said interrupt table comprises a plurality of individually addressable data fields each pertaining to different devices, each data field being addressed by means of the memory address comprised in said interrupt message, each data field holding a respective device specific interrupt status,
- wherein said interrupt controller is adapted to cause said interrupt handler to identify device specific interrupt statuses not being settled by sequentially accessing each one of said plurality of individually addressable data fields.
A computer readable storage medium configured to store computer executable instructions that, when executed by a processor of a computer system, cause said computer system to perform interrupt handling by operating on an interrupt table stored in a memory of said computer system using interrupt status information comprised in an interrupt message, said interrupt message further comprising a memory address specifically allocated to a device having issued an interrupt request,
- said interrupt status information indicating an interrupt status of said device, said interrupt table holding device specific interrupt statuses addressable by the memory address comprised in the interrupt message;
- wherein the computer readable storage medium is further configured to:
- store computer executable instructions to cause said computer system to operate an interrupt handler;
- store computer executable instructions to cause said interrupt handler to access said interrupt table to identify device specific interrupt statuses not being settled;
- wherein said interrupt table comprises a plurality of individually addressable data fields each pertaining to different devices, each data field being addressed by means of the memory address comprised in said interrupt message, each data field holding a respective device specific interrupt status;
- and
- store computer executable instructions to cause said interrupt handler to identify device specific interrupt statuses not being settled by sequentially accessing each one of said plurality of individually addressable data fields.
Dependencies are inferred from the claim text.