Asif Haswarey wrote:
Does anyone happen to know what the dictionary size upper limit (for openbios) is hardcoded to per device instance?
Äsif Haswaréy
QLogic Corporation
Hey, Asif!
Technically speaking, an "instance" of a device does not take up any dictionary space. The "package" does. All "instances" of a device use the same "package" code, and each one has its own allocation of memory to use with the "instance" variables, values, defers that are part of the "package" definition.
Many systems, however will, use the identical FCode source to create duplicate "package" nodes for devices that are replicated on a card or board. Such an approach might, at first glance, appear to be appallingly inefficient, but it might be justified by the need for different address (and suchlike) properties for the replicated devices... But I digress.
Anyway, I'm guessing that that might be what you might mean by "instance" in your question.
On most systems, there is no particular limit on dictionary usage per device node other than the general limit on the overall dictionary, which, of course, may vary by manufacturer and possibly by platform and version..
One exception comes to mind: Sun's mid-range Enterprise servers, models E3000 through E6500 were configured with a number of "slots" (more on the higher-numbered models) into which could be placed, interchangeably, CPU boards or one of several flavors of I/O boards. Furthermore, the systems were intended to support Dynamic Reconfiguration. When a board was placed in a slot, part of its installation procedure was that Open Boot PROM would probe it, interpreting its FCode to build new device nodes. The mechnism chosen to simplify managing the dictionary was to reserve a generous -- but fixed -- amount of dictionary space for each slot; when a slot was not in use, the linked-list would simply skip over the reserved space. After a new board was installed and probed, the links would be adjusted to include the new entries. If an overflow occurred, well, all the system could do was to scream a warning and fail the installation.
So, having said all that I am left only with a guess about OpenBIOS: I'd guess it follows the "most systems" pattern. Stefan, any more details?