US 7,529,860 B2
System and method for configuring an endpoint based on specified valid combinations of functions
Douglas M. Freimuth, New York, N.Y. (US); Renato J. Recio, Austin, Tex. (US); Claudia A. Salzberg, Austin, Tex. (US); Steven M. Thurber, Austin, Tex. (US); and Jacobo A. Vargas, Cedar Park, Tex. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Dec. 19, 2006, as Appl. No. 11/612,555.
Prior Publication US 2008/0147898 A1, Jun. 19, 2008
Int. Cl. G06F 3/00 (2006.01)
U.S. Cl. 710—8  [710/3; 710/9] 12 Claims
OG exemplary drawing
 
1. A method, in a data processing system, for configuring an endpoint for use with a host system, comprising:
extracting a configuration space combination bitmap from an endpoint configuration space;
generating one or more functions associated with the endpoint;
associating at least one function with at least one other function in accordance with the configuration space combination bitmap to thereby generate a combination of functions; and
utilizing the combination of functions to handle input/output requests provided to the endpoint; and
extracting a maximum number of virtual functions from the endpoint configuration space, wherein:
generating one or more functions associated with the endpoint comprises generating one or more virtual functions associated with one or more physical functions in the endpoint based on the maximum number of virtual functions,
associating at least one function with at least one other function comprises associating at least one of the one or more virtual functions or the one or more physical functions with at least one of another virtual function or another physical function,
each bit in the configuration space combination bitmap specifies a different combination of at least one of physical functions or virtual functions,
setting individual ones of the bits in the configuration space combination bitmap specifies which combinations of at least one of physical functions or virtual functions are valid combinations of functions in the endpoint,
each bit in the configuration space combination bitmap is associated with a unique combination number corresponding to a bit number of the bit in the configuration space combination bitmap, and
the combination number is specified in configuration spaces of physical functions of the endpoint.