Emulated endpoint configuration
AssigneeAmazon Technologies, Inc.
InventorsNafea Bshara, Adi Habusha, Guy Nakibly, Georgy Machulsky
Life of this patent
Estimating the term…
Abstract
Techniques for emulating a configuration space may include emulating a set of configuration registers for a set of functions corresponding to a type of peripheral device. The set of functions can include a physical function and a virtual function associated with the physical function. A configuration access request can be processed by retrieving an emulated configuration register from the emulated configuration space, and logging incoming configuration access requests in a configuration transaction log to track configuration accesses.
Claims20
An integrated circuit device comprising:
- a bus interface operable to receive a configuration access request;
- an emulated configuration space operable to:
- emulate a first set of configuration registers for a first set of functions corresponding to a first type of peripheral device, the emulated configuration space being loaded from storage to a local memory at startup of the integrated circuit device, wherein the first set of functions includes a physical function and a virtual function associated with the physical function;
- and
- switch to emulate a second set of configuration registers for a second set of functions corresponding to a second type of peripheral device, causing the integrated circuit device to change from being represented as the first type of peripheral device to being represented as the second type of peripheral device;
- an emulation module operable to process the configuration access request by retrieving an emulated configuration register from the emulated configuration space and servicing the configuration access request;
- and
- a configuration transaction logging unit operable to log incoming configuration access requests to track configuration accesses for the integrated circuit device.
A method comprising:
- loading an emulated configuration space from storage to a local memory at startup of an integrated circuit device;
- emulating, in the emulated configuration space of the integrated circuit device, a first set of configuration registers for a first set of functions corresponding to a first type of peripheral device, the first set of functions including a physical function and a virtual function associated with the physical function;
- switching to emulate a second set of configuration registers for a second set of functions corresponding to a second type of peripheral device, causing the integrated circuit device to change from being represented as the first type of peripheral device to being represented as the second type of peripheral device;
- receiving a configuration access request;
- processing the configuration access request by retrieving an emulated configuration register from the emulated configuration space;
- and
- logging incoming configuration access requests in a configuration transaction log to track configuration accesses.
Dependencies are inferred from the claim text.