Disclosed is a method and system for enabling communication between one or more hardware components of a system.
Method and System for Enabling Communication Between System Components Via Dedicated On-Processor Registers
Disclosed is a method and system for enabling communication between one or more hardware components of a system.
In an exemplary implementation, a method of communication between a Hypervisor and a firmware residing on an add-in card is disclosed. Usually, the Hypervisor and an add-in card reside at different system levels and are typically not designed to communicate with each other.
In accordance with the method disclosed herein, communication between a Hypervisor and an add-in card can be achieved by using on-processor registers and a simple protocol. In a system, an add-in card can access on-processor registers directly through the IIC bus and a Hypervisor can access on-processor registers through abstracted functions. Thereafter, information contained in these on-process registers can easily be made available to other components. This is a direct method of communication between components as it is not forced to rely on pass-throughs within other components.
The method and system disclosed herein is scalable as, theoretically, components with access to these registers could participate in this mode of communication. Typically, most lower-level system components related to processor function would have access to processor memory space, which results in system flexibility.
1