Bug 57934
Summary: | CDL lacks slot assignment capability | ||
---|---|---|---|
Product: | [Retired] eCos | Reporter: | Bart Veer <bartv> |
Component: | CDL | Assignee: | Bart Veer <bartv> |
Status: | CLOSED WONTFIX | QA Contact: | eCos bugs internal list <es-ecos-bugs-int> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | CVS | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2003-06-20 16:10:03 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Bart Veer
2002-01-02 16:36:30 UTC
The requested functionality is reasonable and would also be useful in other circumstances, e.g. assigning per-thread-data slots to different packages. However the suggested implementation is not quite right. A better approach would be to extend the CDL expression syntax with list functionality. First we add a new function implementors() which can be applied only to an interface and returns a list of all active and enabled valuables that implement this interface. Then we provide additional functions to manipulate lists, for example an lsearch() function. Getting the desired slot number would then involve something like: lsearch(implementors(CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS), FOO) or perhaps a utility function get_implementor_index(CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS, FOO) However making the required information available in a header file would still be a problem. This should involve something like: define_proc { set index [cdl_eval lsearch(implementors(CYGNUM_HAL_VIRTUAL_VECTOR_AUX_CHANNELS), FOO)] puts $cdl_header "#define FOO_INDEX $index" } However script-level access to configuration data is not yet implemented. An ugly workaround would be to invent new calculated options which use the above expression to calculate their value, but it should not be necessary to invent spurious configuration options for this sort of thing. This bug has moved to http://bugs.ecos.sourceware.org/show_bug.cgi?id=57934 |